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:

  1. Una sola constante o variable, la cual puede estar precedida por un signo + ó – .
  2. 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)
4not
3* / div mod and shl shr
2+ – or xor
1= <> > <>= < =


Las reglas de evaluación para las expresiones son:

  1. Si todos los operadores en una expresión tienen la misma precedencia, la evaluación de las operaciones se realiza de izquierda a derecha.
  2. 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.
  3. Las reglas 1) y 2) pueden ser anuladas por la inclusión de paréntesis en una expresión.

Ejemplos:

  1. 3 + 2*5   {*,+}
    4 + 10 =14
  2. 20*4 div 5  
    {Igual prioridad de izquierda a derecha : *,div}
    80   div 5 = 16
  3. 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}