Programação Computacional Aula 7: Operadores e Expressões Profa. Madeleine Medrano [email protected] Objetivo O objetivo desta aula é apresentar os operadores existentes na linguagem C e a forma correta de construir expressões que envolvam estes operadores constantes e variáveis. Roteiro Operadores de Atribuição Operadores aritméticos Operadores Relacionais e Lógicos Operadores com Bits Operadores de Atribuição Composta Operador virgula Operador sizeof() Conversão de tipos Regras de Precedência Operadores de Atribuição Este é o operador usado para transferir o resultado de uma expressão para uma variável. Em C este operador é o sinal (=) Exemplos : Soma = a+b; Pi = 3.1416; a=b=c=1.0 Operadores Aritméticos: Os 5 primeiros são do tipo binário Incidem sobre duas variáveis (ex. A + B, A – B, etc.) Os 2 últimos são unários Incidem apenas sobre uma variável (ex. A++, B--, etc.) Nota: O operador “ % “ é apenas sobre inteiros Operadores Aritméticos: Operadores Aritméticos: – Hierarquia “ ** “ é uma simbologia para indicar a operação de exponenciação Em C, a exponenciação não tem um “símbolo” definido Operadores Aritméticos: Hierarquia – Precedência dos operadores em C Operadores Aritméticos: Os 5 primeiros são do tipo binário • Exemplo de uso: • Nota: Em C, o símbolo “ // “ é interpretado como comentário – Usado pelo programador p/ melhorar o entendimento do código » Explicando o código Operadores Aritméticos: –Os 2 últimos são unários •Exemplo de uso: –Nota: Os exemplos são equivalentes Operadores Aritméticos e Atribuições: Exemplo Completo dos Conceitos Apresentados: Desenvolver a lógica para um programa que efetue o cálculo da área de uma circunferência: Equação: A = PI * R2 Algoritmo em linguagem natural: Ler um valor para o raio, neste caso á variável R Estabelecer o valor de PI (3.14159.....) Efetuar o cálculo da área, elevando ao quadrado o valor de R e multiplicando por PI Apresentar o valor de A Exemplo Completo dos Conceitos Apresentados: Desenvolver a lógica para um programa que efetue o cálculo da área de uma circunferência: Equação: A = PI * R2 Fluxograma: Exemplo Completo dos Conceitos Apresentados: Desenvolver a lógica para um programa que efetue o cálculo da área de uma circunferência: Equação: A = PI * R2 Pseudocódigo: Atividade – Operadores Aritméticos: 1) Tendo como dados de entrada a altura de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte fórmula: peso ideal = (72.7*h) – 58 2) Faca um algoritmo que receba como entrada uma determinada temperatura em graus Celsius e mostre a temperatura em fahrenheit OBS: Fahrenheit = (9/5)*(Celsius) + 32 3) Tendo como entrada o total vendido por um funcionário no mês de abril, faça um algoritmo que mostres a sua comissão e salário bruto neste mês, sabendo que o seu salário base é R$1.200,00 e sua comissão é de 10% sobre o total vendido. Operadores Relacionais e Lógicos: Operadores Relacionais: Refere-se às relações que os valores podem ter uns com os outros (geralmente, retorna um valor V ou F) Operadores Lógicos: Refere-se às maneiras como essas relações podem ser conectadas (combinam resultados lógicos) Nota: Em programação C são usados os símbolos abaixo Operadores Relacionais e Lógicos: Operadores Relacionais: Operadores relacionais são muito usados quando temos que tomar decisões nos algoritmos. Com eles fazemos testes, comparações, que resultam em valores lógicos (verdadeiro ou falso): Exemplo: Tendo duas variáveis, A = 5 e B = 3: Operadores Lógicos: Operadores Lógicos: Criar operações lógicas (V ou F) “AND”, é igual a operação de “multiplicação” 1 X 1 =1; 1 X 0 = 0; etc. “ OR”, é igual a operação de “soma” 1 + 1 =“1”; 1 + 0 = 1; 0 + 0 = 0; etc. “NOT”, é o inverso -1 = 0; 0 = 1 Operadores Lógicos Operadores Lógicos Exemplos conceituais: Carteira de Habilitação: Idade maior ou igual que 18 anos Aprovação nos exames Combinação E / AND Cargo de boa remuneração: Excelente currículo profissional Indicação de uma pessoa influente Alternativa OU / OR Operadores Relacionais e Lógicos: Combinando operadores relacionais e operadores lógicos criamos operações lógicas, que produzirão resultados lógicos (verdadeiro ou falso). Por exemplo, se A = 5, B = 8 e C = 1: (A = B) E (B > C) é falso (f e v) (A <> B) OU (B < C) é verdadeiro (v ou f) NÃO (A > B) é verdadeiro (não f) (A < B) E (B > C) é verdadeiro (v e v) (A >= B) OU (B = C) é falso (f ou f) NÃO (A <= B) é falso (não v) Nota: Usando os símbolos da linguagem natural São usadas em decisões nos algoritmos... Operadores Relacionais e Lógicos: Exemplos: (10 > 5) Verdadeiro (10 < 9) Falso (9 == 9) Verdadeiro (9 != 9) Falso (10 > 5) && ( ! (10 < 9) ) || (3 <=4) Qual o valor dessa expressão???? V Atividade - Operadores Relacionais e Lógicos: – 1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. – 2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B b) B >= (A + 2) c) C = (B –A) d) (B + A) <= C e) (C+A) > B () () () () () Atividade - Operadores Relacionais e Lógicos: 3) Considere a seguinte atribuição de valores para as variáveis: A=3, B=4, C=8. Avalie as expressões a seguir indicando o resultado final: verdadeiro ou falso. 1) (A > 3) E (C = 8) () 2) (A <> 2) OU (B <= 5) () 3) ((A = 3) OU (B >= 2)) E (C = 8) () 4) ((A = 3) E (NÃO (B <= 4))) E (C = 8) ( ) 5) ((A <> 8) OU (B = 4)) E (C > 2) () 6) (B > A) E (C <> A) () 7) (A > B) OU (B < 5) () 8) (A <> B) E (B = C) () 9) (C > 2) OU (A < B) () 10) ((A > B) OU (B > A)) E (C <> B) () Atividade - Operadores Relacionais e Lógicos: 4) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) E (C <= D) () b) (((A+B) > 10) OU (A+B)) = (C+D) () c) (A>=C) E (D >= C) () 5) Reescrever a atividade 3 e 4 usando os símbolos da linguagem C. 6) Sabe-se que o uso incorreto da precedência de operadores ocasiona erros. Determine o resultado das expressões abaixo (A= 8, B = 5, C = -4, D = 2) a) Delta = B2 – 4 * A * C b) J = “Hoje” != “HOJE” c) Media = (A + B + C + D) / 4 d) Media = A + B + C + D / 4 e) Resultado = A + B – 10 * C Operadores Lógicos Operadores Bit a Bit Refere-se a testar, atribuir ou deslocar os bits efetivos de um byte ou uma palavra Não confundir com as outras (ex. &&, ||, ....) Operadores Bit a Bit Operadores Bit a Bit Exemplo do deslocamento de bit “>>” ou “<<“ Nota: Todos os operadores do C têm um nível de precedência Os operadores de nível mais elevado são avaliados antes dos operadores de nível mais baixo. Veja a ordem completa na tabela abaixo: Operadores Associatividade () [] -> . esquerda para a direita ! - ++ -- * & direita para a esquerda */% esquerda para a direita +esquerda para a direita << >> esquerda para a direita < <= > >= esquerda para a direita == != esquerda para a direita & esquerda para a direita ^ esquerda para a direita | esquerda para a direita && esquerda para a direita || esquerda para a direita ?: direita para a esquerda += -= *= /= %= direita para a esquerda ^= |= <<= >>= esquerda para a direita Fim da apresentação Obrigada pela atenção