jueves, 21 de febrero de 2019

1.2.1 Evaluación de expresiones en diferentes lenguajes


¿QUE SON LAS EXPRESIONES?
Son el método fundamental que tiene el programador de expresar computaciones.
Las expresiones están compuestas de operadores, operandos, paréntesis y llamadas a funciones. Los operadores pueden ser:
Unarios: Cuando tan solo tienen un operando. Son operadores prefijos.
Binarios: 2 Operandos. Son operadores infijos.
Ternarios: 3 operandos.
ORDEN DE LA EVALUACIÓN DE LOS OPERADORES.
El orden en que se evalúan los operandos viene dado por unas reglas:
Reglas de procedencia
Reglas de asociatividad
Uso de paréntesis
EVALUACIÓN DE EXPRESIONES
Toda expresión regresa un valor. Si hay más de un operador, se evalúan primero operadores mayor precedencia, en caso de empate, se aplica regla asociatividad
Para evaluar una expresión no hay que hacer nada del otro mundo, pues es bien sencillo. Sólo hay que saber sumar, restar, si un número es mayor que otro
Hay tres reglas de prioridad a seguir para evaluar una expresión:
Primero, los paréntesis (si tiene)
Después, seguir el orden de prioridad de operadores
Por último, si aparecen dos o más operadores iguales, se evalúan de izquierda a derecha.
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
JERARQUÍA DE OPERADORES
El orden general de evaluación de los operadores de una expresión va de izquierda a derecha, con la excepción de las asignaciones que lo hacen de derecha a izquierda.
Podemos seguir las siguientes tres reglas de evaluación de expresiones:
(Regla 1) En todas las expresiones se evalúan primero las expresiones de los paréntesis más anidados (interiores unos a otros); y éstos modifican la prioridad según la cantidad de éstos, los cuales tienen que estar balanceados (el mismo número de paréntesis que abren debe ser igual al número de los paréntesis que cierran).
(Regla 2) Todas las expresiones se evalúan tomando en cuenta la jerarquía de los operadores.
(Regla 3) Todas las expresiones se evalúan de izquierda a derecha.
¿QUÉ HACEN LOS LENGUAJES DE PROGRAMACIÓN AL RESPECTO?
C permite evaluación de circuito corto con los operadores booleanos.
PASCAL no permite evaluación de circuito corto. No se pueden usar sentencias del siguiente tipo:
A:array[1..10] of integer;
If (i<=10) and (a[i]>0) then
Porque se accede a una posición no válida de un array.
ADA: “and”, “or” no son operaciones de circuito corto y “or them” y “and them” si son operaciones de circuito corto.
If (i<=10) and them (a[i]>0) them
Tabla de evaluación de C++
Tabla de evaluación de Java


No hay comentarios:

Publicar un comentario