Prioridad de los operadores relacionales y lógicos en Pseudocódigo
En una expresión lógica puede aparecer uno o más operadores relacionales y/o lógicos.
EJEMPLO Algunos ejemplos son:
3 > 1 | 5 < 1 & 5 <= 2
! Falso & Falso
Verdadero >= Verdadero = Falso
Falso = Verdadero <= Verdadero
Para poder evaluar correctamente las expresiones lógicas del ejemplo, es necesario seguir un criterio de prioridad de operadores.
En nuestro pseudocódigo, la prioridad entre los operadores relacionales y lógicos es:
! Negación
< <= > >= Menor que, menor o igual que, mayor que, mayor o igual que
= <> Igual que, distinto que
& Conjunción
| Disyunción
A excepción del operador negación (!), que se evalúa de derecha a izquierda en una expresión, todos los demás operadores con la misma prioridad, por ejemplo, el operador menor que (<) y el operador mayor que (>), se evalúan de izquierda a derecha.
Así que, los valores que proporcionan las expresiones del ejemplo son:
Verdadero (actúan en orden los operadores: (>), (<), (<=), (&) y (|))
Falso (actúan en orden los operadores: (!) y (&))
Falso (actúan en orden los operadores: (>=) e (=))
Falso (actúan en orden los operadores: (<=) e (=))
De nuevo, se puede hacer uso de los caracteres abrir paréntesis "(" y cerrar paréntesis ")" para modificar la prioridad de los operadores.
EJEMPLO Para cambiar la prioridad de los operadores de las expresión del ejemplo anterior, se puede escribir:
( 3 > 1 | 5 < 1 ) & 5 <= 2
! ( Falso & Falso
Verdadero >= ( Verdadero = Falso )
( Falso = Verdadero ) <= Verdadero
De la evaluación de estas expresiones se obtienen los valores:
Falso (actúan en orden los operadores: (>), (<), (|), (<=) y (&))
Verdadero (actúan en orden los operadores: (&) y (!))
Verdadero (actúan en orden los operadores: (=) y (>=))
Verdadero (actúan en orden los operadores: (=) y (<=))
En PSeInt, los valores lógicos (Verdadero y Falso) únicamente pueden compararse con los operadores igual que (=) y distinto que (<>).