LÓGICA DE PROGRAMAÇÃO Expressões Aritméticas, Lógicas e Literais Aula V Prof. Rosemary Silveira Expressões • Existem basicamente três tipos de expressões: aritmética, lógica e literal. Expressões Aritméticas • Expressão cujos operadores são aritméticos e cujos operandos são constantes ou variáveis do tipo numérico. Expressões Aritméticas Representação da sintaxe: Expressão aritmética operando operando Operador aritmético Constante numérica Variável numérica operando Expressões Aritméticas Operadores aritméticos • Conjunto de símbolos que representam as operações básicas da matemática: Operador Função exemplos + adição 2+3, X+Y - subtração 4-2, N-M * multiplicação 3*4, A*B / divisão 10/2, X1/X2 Expressões Aritméticas Operadores aritméticos Operador ^ Função Significado exemplos potenciação x elevado a y 5 ^ 2 = 25 Expressões Aritméticas Operadores aritméticos Operador Mod ou % \ ou div Função exemplos Resto da divisão 9 mod 4 resulta em 1 Quociente da divisão 9 div 4 resulta em 2 Expressões Aritméticas Prioridade Precedência entre os operadores aritméticos Prioridade Operadores 1 parênteses mais internos 2 ^ 3 *, / , div , mod 4 + - Expressões Aritméticas Prioridade • Em caso de operadores de mesma prioridade, devemos resolver da esquerda para a direita, conforme sequência na expressão. • Para alterar a prioridade da tabela, utilizamos parênteses mais internos. Ex.: 5 + 9 + 7 + 8/4 = 5 + 9 + 7 + 2 = 23 1– 4*3/6 – (3^2) = 1– 4*3/6 – 9 = 1–12/6 – 9 =1– 2 – 9= -10 Expressões Lógicas • Expressão cujos operadores são lógicos ou relacionais e cujos operandos são relações ou variáveis ou constantes do tipo lógico. Representação da sintaxe: Expressão lógica Operando lógico Operando lógico Constante lógica não variável lógica Expressão relacional Operador lógico Expressões Lógicas Expressão Relacional (Relação) – é uma comparação realizada entre dois valores de mesmo tipo básico (exceto tipo lógico) e o resultado obtido é sempre um valor lógico. Expressão aritmética Operador relacional Expressão literal Operador relacional Expressão aritmética Expressão literal Expressões Lógicas Operadores Relacionais - Utilizado para realizar comparações entre dois valores de mesmo tipo primitivo. Estes valores são representados por constantes, variáveis ou expressões. Tipos: = (igual a) > (maior que) < (menor que) >= (maior ou igual a) <= (menor ou igual a) <> (diferente de) Ex.: a) b) c) d) e) Sendo x= falso não x V 4 + 4 = 24/3 8 = 8 V 15 mod 4 < 19 mod 6 3 < 1 F 3*5 div 4 <= (3^2)/3 V 2+8 mod 7 >= 3*6 – 15 2+1 >= 18 – 15 3 >= 3 V Expressões Lógicas Operadores Lógicos Tipos: não – negação e – conjunção ou – disjunção Tabelas-Verdade Conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações (V ou F), e um conjunto de operadores lógicos. Operação de Negação A não A F V V F Expressões Lógicas Operação de conjunção (Operador (E)) A B AeB F F F F V F V F F V V V Operação de disjunção (Operador (OU)) A B A ou B F F F F V V V F V V V V Expressões Lógicas Ex.: a) a) b) c) d) Se chover e relampejar, eu fico em casa Quando eu fico em casa? R.: quando os termos chover e relampejar forem simultaneamente verdade. Se chover ou relampejar, eu fico em casa Quando eu fico em casa? R.: somente se chover, somente se relampejar, chovendo e relampejando. 2 < 5 e 15/3 = 5 V e 5=5 V e V V 2 < 5 ou 15/3 = 5 V ou V V F ou 20 div(18/3) <>(21/3)div 2 F ou 20 div 6 <> 7 div 2 F ou 3<> 3 F ou F F Expressões Lógicas Prioridades entre operadores lógicos Prioridade Operadores 1 não 2 e 3 ou entre todos os operadores Prioridade Operadores 1 Parênteses mais internos 2 Operadores aritméticos 3 Operadores relacionais 4 Operadores lógicos Expressões Lógicas Ex.: a) não (5 <> 10/2 ou V e 2-5>5-2 ou V) não (5 <> 5 ou V e -3>3 ou V) não (F ou V e F ou V) não (F ou F ou V) não (F ou V) não (V) F b) pot(2,4) <> 4+2 ou 2+3*5/3 mod 5 < 0 16 <> 6 ou 2 + 15/3 mod 5 < 0 16 <> 6 ou 2 + 5 mod 5 < 0 16 <> 6 ou 2 + 0 < 0 16 <> 6 ou 2 < 0 V ou F V Expressões Literal Formada por operadores literais e operandos que são constantes e/ou variáveis do tipo literal. Operações entre valores literais são bastante diversificadas e dependem de cada linguagem. Ex.: supondo A e B variáveis literais e “+” um operador de concatenação de literais A+B