Expressões Aritméticas, Lógicas e Literais Expressões Aritméticas Expressões aritméticas são aquelas que possuem operadores aritméticos e operandos constantes e/ou variáveis do tipo numérico. As operações matemáticas seguintes são conhecidas da matemática elementar: • • • • • • Adição Subtração Multiplicação Divisão Potenciação Radiciação Em algoritmos, a notação que utilizamos é, basicamente, a mesma da matemática, porém apresentam os seguintes detalhes: a) Não é permitido omitir o operador de multiplicação, como acontece freqüentemente em expressões matemáticas. O operador de multiplicação é representado, em algoritmos, pelos caracteres (*) ou (x). b) A mesma relação de prioridade presente na matemática também é utilizada em algoritmos. Podemos utilizar, bem como na matemática, vários parênteses para quebrar as prioridades definidas. Veja a tabela seguinte: Prioridade 1ª 2ª 3ª Operação Potenciação, radiciação Multiplicação, divisão Adição, subtração Além das operações matemáticas básicas, podemos usar funções nas expressões aritméticas. Veja, na tabela seguinte, algumas das principais funções utilizadas em algoritmos. Nome da função TRUNCA ARREDONDA QUOCIENTE MOD RAD POT Resultado produzido Devolve a parte inteira de um número fracionário (número real) Devolve um número real arredondado Devolve o quociente inteiro da divisão entre dois números Devolve o resto da divisão entre dois números Devolve a raiz quadrada de um número Potenciação Exemplos de expressões aritméticas: Expressão X+Y NOTA_ALUNO x 2 NOTA_ALUNO * 3 PRECO * QTDE RAD(9) MOD(5, 2) 5 MOD 2 QUOCIENTE(5, 2) TRUNCA(3.45) ARREDONDA(3.46) POT(3, 2) Resultado produzido Se X = 3 e Y = 8, o resultado será 11 Se NOTA_ALUNO = 8.0, o resultado será 16.0 Se NOTA_ALUNO = 3.0, o resultado será 9 Se PRECO = 2.30 e QTDE = 3, o resultado será 6.90 Raíz quadrada de 9. Resultado = 3 Resto da divisão de 5 por 3. Resultado = 1 Igual ao anterior, resulta em 1 Quociente da divisão entre 5 e 2. Resultado = 2 Resultado = 3.00 Resultado = 3.45 Número 3 elevado à potência de 2. Resultado = 9 Página 1 de 4 E-mail professor: [email protected] –Arquivo: AEDI04 Expressões.doc Expressões Lógicas As várias instruções de um programa estão sempre sujeitas a condições, que são representadas no algoritmo através das chamadas expressões lógicas. Uma expressão lógica é uma expressão cujos operadores são lógicos e cujos operandos são relações, constantes e/ou variáveis do tipo de dado lógico (booleano). Relações Uma expressão relacional (relação) é uma comparação realizada entre dois valores de um mesmo tipo de dado. Estes valores são representados na relação através de constantes, variáveis ou expressões aritméticas. Os operadores relacionais (tabela abaixo) são conhecidos da matemática e indicam a comparação a ser realizada entre os termos de uma relação. O resultado de uma expressão lógica (relação) é sempre um valor lógico, ou seja, verdadeiro ou falso. Igual a Diferente de > < >= <= = != Maior que Menor que Maior ou igual a Menor ou igual a Como exemplo, analise as expressões lógicas seguintes sabendo-se que X, Y e Z são variáveis numéricas e NOME e COR são variáveis literais. X 1 4 1 1 Y 2 3 1 2 Z 5 1 2 1 Variáveis COR “AZUL” “VERDE” “BRANCO” “AZUL” NOME “PAULO” “JOSÉ” “PEDRO” “JOSÉ” X2 + Y > Z falso verdadeiro falso verdadeiro Relações COR = “AZUL” verdadeiro falso falso verdadeiro NOME != “JOSÉ” verdadeiro falso verdadeiro falso Operadores Lógicos A álgebra das proposições define três conectivos usados na formação de novas proposições a partir de outras já conhecidas. Estes conectivos são os operadores nas expressões lógicas. São eles: e – conjunção ou – disjunção não – negação Duas proposições podem ser combinadas pelo conectivo e para formar uma proposição chamada conjunção das proposições originais. A conjunção das proposições p e q representa-se assim: p^q lê-se assim: p e q Da mesma forma que em uma conjunção, temos uma disjunção, que é representada assim: pvq lê-se assim: p ou q A seguir, a tabela conhecida como Tabela Verdade para o operador lógico e (conjunção): p V V F F q V F V F peq V F F F Página 2 de 4 E-mail professor: [email protected] –Arquivo: AEDI04 Expressões.doc A seguir, a tabela conhecida como Tabela Verdade para o operador lógico ou (disjunção): p V V F F q V F V F p ou q V V V F Dada uma proposição qualquer, uma outra proposição, chamada negação de p, pode ser formada escrevendo-se “É falso que” antes de p ou, se possível, inserindo a palavra “não” em p. Simbolicamente, designa-se a negação de p assim: ┐p lê-se não p A seguir, a tabela conhecida como Tabela Verdade para o operador lógico não (negação): p V F ┐p F V Como exemplo, assuma que existam as variáveis numéricas X, Y e Z, contendo os valores 2, 5 e 9, respectivamente; a variável literal NOME, contendo o literal “MARIA”; e a variável lógica SIM, contendo o valor lógico falso. Observe os resultados obtidos pelas expressões lógicas a seguir: a) X + Y > Z e NOME = “MARIA” 2 + 5 > 9 e “MARIA” = “MARIA” falso e verdadeiro falso b) SIM ou Y >= X falso ou 5 >= 2 falso ou verdadeiro verdadeiro c) não SIM e QUOCIENTE(Z, Y) + 1 = X não falso e QUOCIENTE(9, 5) + 1 = 2 não falso e verdadeiro verdadeiro e verdadeiro verdadeiro d) NOME = “JORGE” e SIM ou X2 < Z + 10 “MARIA” = “JORGE” e falso ou 4 < 19 falso e falso ou verdadeiro falso ou verdadeiro verdadeiro Expressões Literais Uma expressão literal é aquela formada por operadores literais e operandos que são constantes e/ou variáveis do tipo de dado literal. As operações entre valores literais são dependentes das características de cada linguagem de programação. Supondo que A e B são variáveis literais e que o símbolo “|” (pipe) é um operador de concatenação (união) de literais, a expressão A | B fornece como resultado um único literal formado pelo conteúdo da variável A seguido do conteúdo de B. Por exemplo, se A contém o literal “UNI” e B contém o literal “ANHANGÜERA”, a expressão A | B resultará em “UNI-ANHANGÜERA”. Além da concatenação de literais, é comum a existência de outras operações desta natureza nas linguagens de programação, sendo que normalmente elas são encontradas na forma de funções, como uma função para calcular e devolver o comprimento de um literal, os n primeiros caracteres de um literal, etc. Página 3 de 4 E-mail professor: [email protected] –Arquivo: AEDI04 Expressões.doc Exercícios (Envie suas respostas para [email protected]. Se preferir, entregue suas respostas impressas ou manuscritas) 1) Sendo A, B, X, Y variáveis do tipo de dado numérico, quais os resultados fornecidos por cada uma das seguintes funções, onde A = 10, B = 3, C = 16, X = 2.5 e Y = 1.2. a) b) c) d) e) f) g) h) i) j) k) l) m) QUOCIENTE(A, B) RESTO(A, B) QUOCIENTE(X, 2) RESTO(X, 2) ARREDONDA(A – X) ARREDONDA(B + Y) ARREDONDA(Y – X) TRUNCA(A/3 + 1) TRUNCA(X – 3.2) POT(B, 2) RAD(C) QUOCIENTE(B + Y, X + 1) RESTO(B + Y, X + 1) 2) Dadas as variáveis numéricas A e B, as variáveis literais NOME e PROFISSAO, complete o quadro abaixo, preenchendo os espaços em branco com os resultados lógicos falso ou verdadeiro obtidos como resultados das relações, tendo em vista os valores atribuídos a estas variáveis: Variáveis A B NOME PROFISSAO 3 5 2.5 16 64 9 “MIRIAM” “PEDRO” “ANA” “ADVOGADO” “MÉDICO” “PROFESSOR” A + 1 >= RAD(B) Relações NOME != “ANA” PROFISSAO = “MÉDICO” 3) Considerando A, B e C variáveis numéricas, contendo os valores 1, 4.5 e 8, respectivamente; NOME e COR variáveis literais contendo as seqüências de caracteres “TANIA” e “BRANCO” e TESTE variável lógica com o valor verdadeiro, determine os resultados obtidos da avaliação das seguintes expressões lógicas: a) b) c) d) e) A = 1 e TESTE NOME = “PEDRO” ou COR != “BRANCO” não TESTE ou B MOD 2 = 0.5 C < 10 ou TESTE e COR = “PRETO” TESTE e não TESTE Página 4 de 4 E-mail professor: [email protected] –Arquivo: AEDI04 Expressões.doc