viernes, 2 de febrero de 2018

Prioridad de operadores aritméticos

Prioridad de operadores aritméticos

n programación, la prioridad de los operadores puede variar de unos lenguajes de programación 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:
Prioridad de Operadores Aritméticos en Pseudocódigo CEE

Prioridad de Operadores Aritméticos en Pseudocódigo CEE
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 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)

No hay comentarios:

Publicar un comentario