Expresiones en Pascal
Las expresiones son secuencias de constantes y/o variables separadas por operadores válidos.
Se puede construir una expresión válida por medio de:
- Una sola constante o variable, la cual puede estar precedida por un signo + ó – .
- Una secuencia de términos (constantes, variables, funciones) separados por operadores.
Además debe considerarse que:
Toda variable utilizada en una expresión debe tener un valor almacenado para que la expresión, al ser evaluada, dé como resultado un valor.
Cualquier constante o variable puede ser reemplazada por una llamada a una función.
Como en las expresiones matemáticas, una expresión en Pascal se evalúa de acuerdo a la precedencia de operadores. La siguiente tabla muestra la precedencia de los operadores en Turbo Pascal:
Precedencia de operadores | |
5 | – (Menos unario) |
4 | not |
3 | * / div mod and shl shr |
2 | + – or xor |
1 | = <> > <>= < = |
Las reglas de evaluación para las expresiones son:
- Si todos los operadores en una expresión tienen la misma precedencia, la evaluación de las operaciones se realiza de izquierda a derecha.
- Cuando los operadores sean de diferentes precedencias, se evalúan primero las operaciones de más alta precedencia (en una base de izquierda a derecha ), luego se evalúan las de precedencia siguiente, y así sucesivamente.
- Las reglas 1) y 2) pueden ser anuladas por la inclusión de paréntesis en una expresión.
Ejemplos:
3 + 2*5 {*,+} 4 + 10 =14
20*4 div 5 {Igual prioridad de izquierda a derecha : *,div} 80 div 5 = 16
3 - 5 * (20+(6/2)) 3 - 5 * (20+(6/2)) = 3 - 5 * (20 + 3) {paréntesis más interno} = 3 - 5 * 23 {segundo paréntesis} = 3 - 115 {Multiplicación} = -112 {resta}