Vous êtes sur la page 1sur 10

INSTITUTO TECNOLOGICO SUPERIOR DE CHAMPOTON

INGENIERIA SISTEMAS COMPUTACIONALES


NOMBBRE: JUAN MANUEL TUN SANTANA
GISELA MARTINEZ AGUILAR
FLAVIO CHACHA MORALES
MTRA: CARMEN CANDELARIA COYOC UC

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( )

El operador de asignacin se representa por la


secuencia de caracteres := . Permite asignar a una
variable el valor de una expresin. Por ejemplo:
var x,y,z: real;
begin
x:=12.5;
y:=-5.7;
z:=2*x+3*y;

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)++;

PRECEDENCIA EN LOS OPERADORES


Todos los operadores (aritmticos, lgicos y relacionales) tienen unas reglas de precedencia
que se aplican cuando varios actan juntos
En los operadores aritmticos, por ejemplo, la multiplicacin y la divisin "se ejecutan" antes
que la suma y la resta, es decir, tienen precedencia.
Para alterar estas reglas de precedencia, se pueden usar parntesis.
As por ejemplo a + b * c es equivalente a a + (b * c) porque la precedencia de la
multiplicacin es superior a la de la suma. Sin embargo, (a + b) * c altera la precedencia.
Para evitar dudas y problemas, cuando manejemos expresiones con varios operadores, lo
mejor es poner siempre parntesis y forzar as la precedencia que nosotros deseemos.
Escribiremos pues a + (b * c) (a + b)*c segn lo que deseemos, y no dejaremos que sea la
mquina la que lo deduzca

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:

Vous aimerez peut-être aussi