Expressões Aritméticas Grande parte do processamento em qualquer programa é numérica. As linguagens de programação trabalham com a aritmética mais ou menos do mesmo jeito que nós, na escola (veja bem, mais ou menos...) Os componentes básicos das expressões aritméticas são: constantes, variáveis e operadores. Os dois primeiros já conhecemos; operadores são os "sinais" que usamos nas contas: Operador Operação Exemplo + Adição 3 + 2 = 5 - Subtração 10 - 5 = 5 * Multiplicação 3 * 7 = 21 / Divisão real 25 / 2 = 12,5 DIV Divisão inteira (despreza a parte fracionária) 25 DIV 2 = 12 MOD Resto da divisão inteira (ou módulo) 26 MOD 7 = 5 ( 26 DIV 7 = 3, resto 5) Note que não se usa o "X" para indicar a multiplicação, nem a barra horizontal de fração para indicar a divisão... Da mesma maneira que estudamos na escola, algumas operações têm prioridade sobre as outras. Multiplicação e divisão devem ser operadas antes da adição e subtração. Assim, na expressão 3 + 2 * 5 primeiro operamos o 2*5, e somamos o resultado com 3 para obter 13. Para mudar a ordem das operações, usamos parênteses: como na aritmética da escola, o que estiver entre parênteses será operado primeiro. Por exemplo: ( 3 + 2 ) * 5 primeiro operamos o 3 + 2, porque está entre parênteses, e depois o resultado desta operação será multiplicado com 5 para obter 25. Quando na expressão só houver operações com a mesma prioridade, a avaliação é feita normalmente da esquerda para a direita. Nas linguagens de programação e nos algoritmos não se usam colchetes e chaves para sucessivos agrupamentos de operações, e sim mais parênteses. Vamos ver um exemplo mais complexo. Qual o valor de: ( 3 + 5 ) * ( 4 * ( 10 -7 ) ) / 2 Opera-se o que estiver nos parênteses mais internos ( 3 + 5 ) * ( 4 * 3 ) / 2 Operam-se os dois parênteses que restaram 8 * 12 / 2 So há * e / - , então opera-se da esquerda para a direita 96 / 2 48 Resultado final Um outro exemplo: 6 * ( 9 + 3 * 2 ) / ( 2 * 4 - 11 ) Operam-se as multiplicações nos parênteses 6 * ( 9 + 6 ) / ( 8 - 11 ) Operam-se os parênteses
6 * 15 / -3 So há * e / - opera-se da esquerda para a direita 90 / -3 Observe o sinal negativo antes do 3... -30 Resultado final Até agora só vimos expressões com constantes. Na maioria das vezes, porém, haverá expressões que combinarão variáveis e constantes. Quando houver uma variável em uma expressão, o cálculo deve ser feito usando-se o valor da variável naquele momento. Como exemplo, veja os trechos de algoritmos a seguir: Comandos Comentários 1) var A : inteiro Declaração da variável A <- 3 Atribuição de valor escreva( A * 5 ) Será exibido o valor 15, pois A=3, logo 3*5 = 15 2) var A, B : inteiro Declaração das variáveis A <- 10 B <- A * 3 O valor de B é 30 ( 10*3) escreva(B – A + 1) Será exibido o valor 21 ( 30 - 10 + 1 ) B <- 40 Novo valor para B escreva(B – A + 1) Agora será exibido o valor 31 (40 - 10 + 1), pois o valor de B mudou 3) var A : inteiro Declaração da variável A <- 3 * 2 O valor de A é 6 A <- A + 1 Agora o valor de A passa a ser 7 (6, o valor anterior, mais 1) escreva(A * A) Será exibido o valor 49 ( 7 * 7 ) 4) var X : inteiro Declaração da variável escreva("Digite um número :") leia(X) Obtenha um número qualquer do usuário escreva(X * 2) Será exibido o dobro do número digitado (qualquer que ele seja) Pelos exemplos acima, você deve ter notado que podemos usar uma expressão no comando escreva. Ela é calculada, e o seu resultado é exibido.