Prioridad de los operadores aritméticos en Pseudocódigo
EJEMPLO En una expresión aritmética puede aparecer más de un operador aritmético:
12 + 3 / 3 (dos operadores)
-3 * 6 % 4 (tres operadores)
-3.1 + 5 * 0.5 (tres operadores)
3 ^ 3 - 1 (dos operadores)
+3 * -8 (tres operadores)
Para poder evaluar correctamente las expresiones aritméticas del ejemplo, es necesario seguir un criterio de prioridad de operadores. En nuestro pseudocódigo, la prioridad (de mayor a menor) de los operadores aritméticos es:
+ - Signos más y menos
^ Potencia
* / % Multiplicación, división y módulo
+ - Suma y resta
A excepción de los operadores de signo, que se evalúan de derecha a izquierda en una expresión, todos los demás operadores aritméticos con la misma prioridad, por ejemplo, el operador multiplicación (*) y el operador módulo (%), se evalúan de izquierda a derecha.
En consecuencia, los valores que proporcionan las expresiones del ejemplo son:
13 (actúan en orden los operadores: (/) y suma (+))
-2 (actúan en orden los operadores: signo menos (-), (*) y (%))
-0.6 (actúan en orden los operadores: signo menos (-), (*) y suma (+))
26 (actúan en orden los operadores: (^) y resta (-))
-24 (actúan en orden los operadores: signo menos (-), signo más (+) y (*))
Para modificar la prioridad de los operadores en las expresiones, se debe hacer uso de los caracteres abrir paréntesis "(" y cerrar paréntesis ")".
EJEMPLO Para cambiar la prioridad de los operadores de las expresiones del ejemplo anterior, se puede escribir:
( 12 + 3 ) / 3
-3 * ( 6 % 4 )
( -3.1 + 5 ) * 0.5
3 ^ ( 3 - 1 )
( +3 ) * -8
De la evaluación de estas expresiones se obtienen los valores:
5 (actúan en orden los operadores: suma (+) y (/))
-6 (actúan en orden los operadores: (%), signo menos (-) y (*))
0.95 (actúan en orden los operadores: signo menos (-), suma (+) y (*))
9 (actúan en orden los operadores: resta (-) y (^))
-24 (actúan en orden los operadores: signo más (+), signo menos (-) y (*))
En las expresiones aritméticas hay que tener la precaución de no dividir entre cero (0).
EJEMPLO Por tanto, las siguientes expresiones son incorrectas:
11 / 0
-3 % 0
De la evaluación de cada una de estas expresiones se obtiene:
ERROR (no se puede evaluar; no se puede dividir entre cero)