You are on page 1of 22

Esquemas de generacin

Temas:
2.3 Esquemas de generacin.
2.3.1 Variables y constantes.
2.3.2 Expresiones.
2.3.3 Instruccion de asignacin.
2.3.4 Instruccion control.
2.3.5 Funciones.
2.3.6 Estructuras.

2.3 Esquemas de generacin.


Los esquemas de generacin son las estrategias o
acciones que se debern realizarse y tomarse en
cuenta en el momento de generar cdigo intermedio.
Los esquemas de generacin dependen de cada
lenguaje.

2.3.1 Variables y Constantes.


Una constante es un dato numrico o alfanumrico
que no cambia durante la ejecucin del programa.
Ejemplo: pi = 3.1416
Una variable es un espacio en la memoria de la
computadora que permite almacenar temporalmente
un dato durante la ejecucin de un proceso, su
contenido puede cambiar durante la ejecucin del
programa.
Ejemplo: area=pi*radio^2
Las variables son : el radio, el area y la constate es pi

2.3.1 Variables y Constantes.


Las declaraciones de variables y constantes deben
separarse de tal manera que queden las expresiones
una por una de manera simple.

2.3.2 Expresiones.
Las expresiones son combinaciones de constantes,
variables, smbolos de operacin, parntesis y
nombres
de
funciones
especiales.
Por ejemplo: a + (b + 3) / c
Cada expresin toma un valor que se determina
tomando los valores de las variables y constantes
implicadas y la ejecucin de las operaciones
indicadas.

2.3.2 Expresiones.
Para generar expresiones estas deben representarse
de manera ms simple y ms literal para que su
conversin sea ms rpida.
Por ejemplo la traduccin de operaciones aritmticas
debe especificarse una por una, de tal forma que una
expresin sea lo ms mnimo posible.

2.3.3 Instruccion de asignacin.


Una instruccin de asignacin (o simplemente
asignacin) consiste en asignar el resultado de la
evaluacin de una expresin a una variable.
Las operaciones de asignacin deben quedar
expresadas por una expresin sencilla, si est es
compleja se debe reducir hasta quedar un operador
sencillo.

2.3.3 Instruccion de asignacin.


Por ejemplo:
x = a+b/5;
debe quedar de la forma
y = b/5;
z = a+y;
x=z.

2.3.4 Instruccion de control.


En lenguajes de programacin, las estructuras de
control permiten modificar el flujo de ejecucin de
las instrucciones de un programa.
El trmino "estructuras de control", viene del campo
de la ciencia computacional. Cuando se presentan
implementaciones de Java para las estructuras de
control, nos referimos a ellas con la terminologa de
la Especificacin del lenguaje Java, que se refiera a
ella como instrucciones.

2.3.4 Instruccion de control.


Con las estructuras de control se puede:
De

acuerdo a una condicin, ejecutar un grupo u otro


de sentencias (If-Then-Else y Select-Case)
Ejecutar un grupo de sentencias mientras exista
una condicin (Do-While)
Ejecutar un grupo de sentencias hasta que exista
una condicin (Do-Until)
Ejecutar un grupo de sentencias un nmero
determinado de veces (For-Next)
Etc

2.3.4 Instruccion de control.


Tipos de estructura de control:
Ejecucin secuencial.
Transferencia de control.
Estructura de control: seleccin if simple.
If-Then-Else.
Select-Case.
Do-While.
Do-Until.
For-Next.

2.3.5 Funciones.
En programacin, una funcin es un grupo de
instrucciones con un objetivo en particular y que se
ejecuta al ser llamada desde otra funcin o
procedimiento. Una funcin puede llamarse
mltiples veces e incluso llamarse a s misma
(funcin recurrente).
Las funciones pueden recibir datos desde afuera al
ser llamadas a travs de los parmetros y deben
entregar un resultado.
Se diferencian de los procedimientos porque estos
no devuelven un resultado.

2.3.5 Funciones.
En general las funciones deben tener un nombre
nico en el mbito para poder ser llamadas, un tipo
de dato de resultado, una lista de parmetros de
entrada y su cdigo.

2.3.6 Estructuras.
Las Estructuras de Control se emplean para controlar
la ejecucin y flujo del cdigo, las cuales se dividen
en:

Estructuras de Seleccin: son aquellas que se utilizan para


realizar operaciones basadas en el valor de una expresin

Estructuras de Iteracin: son aquellas que nos permiten


ejecutar un bloque de cdigo repetidamente mientras una
condicon especfica sea verdadera.

2.3.6 Estructuras.
Estructuras de Seleccin:
Estructura if.
Al escribir uno o varios flujos de accin el cdigo
contenido en estos se ejecutar siempre y cuando
la evaluacin de la expresin en la sentencia if se
evalue como verdadera.
if(expresin-booleana)
{la expresin se evaluo verdadera}

2.3.6 Estructuras.
Estructuras de Seleccin:
Estructura switch.
La estrucutura de seleccin switch tiene una
expresin de control y los flujos de cdigo
alternos son ejecutados dependiendo del valor
constante asociado con esta expresin.
Los tipos de datos permitidos para la expresin de
control son sbyte, byte, short, ushort, uint, long,
ulong, char, string o un tipo enumeracin
(enumeration).

2.3.6 Estructuras.
Estructuras de Seleccin:
Sintaxis:
switch(expresion-de-control)
{
case expresion-contante:
sentencias;
break;
case expresion-contante:
sentencias;
break;
}

2.3.6 Estructuras.
Estructuras de Iteracin :
For.
La Estructura for se utiliza cuando se conoce
previamente cuantas veces ha de repetirse un
bloque de cdigo.Este bloque se repetira mientras la
condicin evalue una expresin booleana verdadera,
no ser posible evaluar otro tipo de expresin.
Sintaxis:
for(inicializador; condicin; iterador)
{ acciones;}

2.3.6 Estructuras.
Estructuras de Iteracin :
While.
La estructura while se utiliza cuando no se
conoce previamente cuantas veces ha de repetirse
un bloque de cdigo, por lo que puede ejecutarse
0 o ms veces. Este bloque se repetira mientras la
condicin evalue una expresin booleana
verdadera, no ser posible evaluar otro tipo de
expresin.

2.3.6 Estructuras.
Estructuras de Iteracin :
While.
Sintaxis.
while(condicional)
{acciones;}

2.3.6 Estructuras.
Estructuras de Iteracin :
Do.
La diferencia entre la sentencia while y do es que
do se evalua despus de su primer iteracin, por
lo que al menos siempre se ejecuta una vez.
Sintaxis.
do
{acciones;}
while(condicin);