Cursos / Redes de Computadores / Lógica de Programação / Aula
Você recorda que na Matemática algumas operações devem ser realizadas antes de outras? Observe a expressão matemática abaixo e encontre o valor de x.
$$x = 2 + 3 * 4 - \frac{10}{2}$$Qual o valor de x? 5 ou 9 ou 15?
É provável que você tenha encontrado a resposta correta para essa equação matemática, pois deve recordar-se que algumas das operações possuem precedência em relação às outras. Por esse motivo você deve ter realizado, primeiro, a multiplicação, e em seguida a divisão (fração). Só então procedeu com a soma e, por último, a subtração, correto?
Essa precedência também existe nas operações realizadas pelo computador. Assim, como na matemática, o computador realizará primeiro as operações de exponenciação, em seguida, multiplicação e divisão para, só então, realizar as operações de adição e subtração. O Quadro 04 apresenta um resumo sobre as precedências dos operadores aritméticos.
Quadro 04 - Precedências dos operadores aritméticosOperador | Operação | Prioridade de Precedência |
^ | Exponenciação | 0 |
* / mod |
Multiplicação Divisão Resto da divisão |
1 1 1 |
+ - |
Adição Subtração |
2 2 |
Nesse quadro foram apresentados três níveis de precedências, de acordo com as operações. O nível 0 (zero) representa a precedência máxima, o nível 1, que é intermediário e o nível 2 que representa a menor precedência. As operações presentes em uma expressão serão calculadas considerando, primeiro, a prioridade de precedência (começando pela prioridade zero). Caso exista mais de uma operação com o mesmo nível de precedência, as operações serão realizadas sequencialmente da esquerda para a direita, obedecendo a ordem em que aparecem na expressão.
Veja o exemplo apresentado e informe o valor que resultou dessa expressão. Depois, substitua a soma pela operação de exponenciação. Então? Com esse novo procedimento houve alguma mudança no resultado?
E se for necessário alterar a ordem em que as operações são realizadas em uma expressão? Por exemplo na expressão 'x := 2 ^ 3 + 4 / 2' se quer que a soma seja realizada primeiro e, só então, a multiplicação e a divisão.
Para que isso seja possível deve-se utilizar os parênteses para definir explicitamente qual a ordem que as operações devem ser realizadas. Para o exemplo citado, a expressão ficaria assim 'x := 2 ^ (3 + 4) / 2'. Se você testar essas duas expressões verificará que os valores finais serão bem diferentes. Experimente!
Quando se utiliza os parênteses define-se subexpressões e essas, por sua vez, deverão ser calculadas primeiro antes da expressão total ser avaliada por completo. Quando uma subexpressão é então avaliada, ela é substituída por seu valor.
Quando em uma expressão houver vários níveis de subexpressões, a mais interna será sempre avaliada primeiro. Observe novamente um exemplo no simulador, qual será o resultado obtido nessa expressão?
Na expressão do simulador há uma subexpressão mais interna que é a soma de '3+4'. Somente após essa soma ser realizada e substituída pelo seu valor, é que a subexpressão externa (a operação de divisão) será avaliada. Quando todas as subexpressões forem avaliadas a expressão final poderá então ser calculada e seu resultado será atribuído a variável, denominada 'resultado'. Resumidamente, após a soma ser realizada, será a vez da operação de divisão e, em seguida, a de multiplicação.
Versão 5.3 - Todos os Direitos reservados