|
|
| Contenidos > 5.1.1.1
Prioridad de los operadores aritméticos |
|
|
| 5.1.1.1 Prioridad de los
operadores aritméticos |
|
|
|
La
prioridad de los operadores puede variar de unos lenguajes
a otros,
pero, en pseudocódigo,
en este curso, vamos a establecer una
prioridad de operadores muy similar a la que se aplica en lenguaje C.
La prioridad no puede ser exactamente la misma, ya que, en C existen
algunos operadores que no existen en pseudocódigo, y al
revés.
Ejemplo
1: En una expresión
aritmética puede aparecer más de un operador
aritmético.
11 + 3 div 3
(dos operadores)
-3
*
6 mod 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
CEE, la prioridad de los operadores aritméticos es:
Figura. Prioridad
de los operadores aritméticos en pseudocódigo.
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 (mod),
se evalúan de izquierda a derecha. En consecuencia, los
valores que proporcionan las expresiones del ejemplo 10 son:
12
(actúan en orden los operadores: (div)
y suma (+))
-2
(actúan en orden los operadores: signo menos (-),
(*)
y (mod))
-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 ")".
En las expresiones aritméticas hay que tener la
precaución de no dividir entre cero (0).
Ejemplo
2: Por tanto, las siguientes
expresiones son incorrectas:
11 / 0
5 div 0
-3
mod
0
De la evaluación de cada una de estas expresiones se obtiene:
ERROR (no se puede
evaluar; no se puede dividir entre cero)
|
|
|
|
|
|
|