Académique Documents
Professionnel Documents
Culture Documents
Expresin
Una expresin es una combinacin de operadores y operando.
Los datos u operando pueden ser constantes, variables y
llamadas a funciones. Adems, dentro de una Expresin pueden
encontrarse sobrexpresiones encerradas entre parntesis. Por
ejemplo,
la
siguiente
expresin
matemtica:
a+b*2
a+(b*2)
x 2 +(b 3) cos( )
EXPRESIONES
Las siguientes sentencias incluyen expresiones que contienen algunos
operadores aritmticos:
var x,y,r: real; n:integer;
begin
x:=-2.3;
y:=x+5;
n:=-6;
r:=4.3*x+(y/2)*n;
writeln('El cuadrado de r es: ',r*r)
end.
C/C++
EVALUACIN DE EXPRESIONES
En general, salvo que se relacionen con las mencionadas sentencias modificadoras del flujo,
las palabras-clave sealan al compilador aspectos complementarios que no alteran el orden de
ejecucin dentro de la propia sentencia. Este orden viene determinado por cuatro
condicionantes:
1. Presencia de parntesis que obligan a un orden de evaluacin especfico.
2. Naturaleza de los operadores involucrados en la expresin (asociatividad).
3. Orden en que estn colocados (precedencia).
4. Providencias (impredecibles) del compilador relativas a la optimizacin del cdigo.
La precedencia en expresiones
2.1 La precedencia indica cual es el orden de ejecucin de los operadores cuando existen
varios. Por ejemplo, en la expresin:
a * b + c++;
La precedencia determina que se ejecutar primero el operador postincremento ++ sobre c. A
continuacin se aplicar el operador de multiplicacin * entre a y b. Finalmente se aplicar el
operador suma + entre los resultados anteriores. As pues, la expresin es equivale a:
(a * b) + (c++);
Este orden "natural" del compilador no necesita parntesis de forma que las sentencias L1 y
L2 producen el mismo resultado. Cualquier otro debe ser forzado especficamente mediante la
utilizacin de los parntesis correspondientes. Por ejemplo:
a * (b + c)++;
REGLAS DE PRECEDENCIA
Las reglas de precedencia permiten a un procesador decidir el orden en que
las
diferentes operaciones aritmticas son ejecutadas. Estas reglas son similares a
las usadas en lgebra. Para las operaciones ms comunes el orden de
precedencia es: