You are on page 1of 19

2.

3 ESQUEMAS DE
GENERACIN DE CDIGO
Lenguajes y Autmatas II
ISC-7

2.3 Esquemas de generacin.


2.3.1 Variables y constantes.
2.3.2 Expresiones.
2.3.3 Instruccin de asignacin.
2.3.4 Instruccin 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: rea=pi*radio^2
Las variables son : el radio, el rea y la constate es pi
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.

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 Instruccin de
Una instruccin de asignacin (o simplemente
asignacin.
asignacin) consiste en asignar el resultado de la
evaluacin de una expresin a una variable.
edad% = 5 , rea! = 12.3, nombre$= Pedro
Las operaciones de asignacin deben quedar
expresadas por una expresin sencilla, si est es
compleja se debe reducir hasta quedar un operador
sencillo.
Por ejemplo:
x = a+b/5;
debe quedar de la forma
y = b/5;
z = a+y;
x=z.

2.3.4 Instruccin 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.

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.

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.

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
condicin
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 evalu como
verdadera.
if(expresin-booleana)
{la expresin se evalu verdadera}

Estructuras de Seleccin:
Estructura switch.
La estructura 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;
}

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 repetir mientras la condicin evalu
una expresin booleana verdadera, no ser
posible evaluar otro tipo de expresin.
Sintaxis:
for(inicializador; condicin; iterador)
{ acciones;}

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 repetir mientras la condicin evalu una
expresin booleana verdadera, no ser posible
evaluar otro tipo de expresin.
Sintaxis.
while(condicional)
{acciones;}

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