Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 5. Estructuras Dinamicas y Estaticas de Almacenamiento de Datos. 3
Unidad 5. Estructuras Dinamicas y Estaticas de Almacenamiento de Datos. 3
5.1.- SECUENCIA
En este caso, las instrucciones se ejecutan una despus de la otra sin omitir ninguna de
ellas. La sintaxis para las instrucciones ejecutadas en secuencia es :
................
................
<instruccin.1> ;
<instruccin.2> ;
................
................
<instruccin.N> ;
................
................
5.2.- SELECCIN
5.2.1.- IF-THEN-ELSE
Dado que una condicin produce un valor verdadero o falso, se necesita una sentencia de
control que ejecute determinada sentencia si la condicin es verdadera, y otra si es falsa.
Formatos de la sentencia IF
if <condicin>
then
<instruccin_1>
else
Diagrama de Flujo
if <condicin> then
<instruccin_1>
else
<instruccin_2>
<instruccin_2>
21
Ejemplos:
Nota: Antes de la palabra end no se debe anteponer un punto y coma como se muestra
en este ejemplo. El hacerlo generara una sentencia vaca (sentencia que no hace nada).
22
Program Edades;
Uses Crt;
Var
edad : integer ;
begin
WriteLn('Escribe tu edad : ') ;
ReadLn(edad) ;
if edad >= 18 then
begin
WriteLn('!Eres Mayor de edad !');
WriteLn('!Ya puedes Votar!')
end
else
begin
WriteLn('!Eres Menor de edad !');
WriteLn('!An no puedes votar!')
end;
WriteLn('Esta instruccin siempre se ejecuta');
ReadKey
end.
5.2.2.- CASE-OF-ELSE
Esta forma es muy til cuando se tiene que elegir entre ms de dos opciones, por lo que le
llamaremos forma de seleccin mltiple.
La siguiente figura representa la seleccin mltiple.
Diagrama de Flujo
23
Dependiendo del valor que tenga la expresin selector, se ejecutarn las instrucciones
etiquetadas por constante.
Aqu tambin los bloques de instrucciones pueden ser reemplazados por instrucciones
simples.
Conviene tener presente que no debe escribirse punto y coma antes de la palabra else.
Ejemplo:
Program Tecla;
{El siguiente programa lee un carcter del teclado y despliega un mensaje en pantalla si es letra o nmero
o carcter especial}
Uses Crt;
Var
caracter : char;
begin
Write('Escribe un caracter : ');
caracter:=ReadKey;WriteLn;
case caracter of
'0'..'9'
: WriteLn('Es un nmero');
5.3.- ITERACIN
Las formas de iteracin sirven para ejecutar ciclos repetidamente, dependiendo de que se
cumplan ciertas condiciones. Una estructura de control que permite la repeticin de una
serie determinada de sentencias se denomina bucle (lazo o ciclo).
El cuerpo del bucle contiene las sentencias que se repiten. Pascal proporciona tres
estructuras o sentencias de control para especificar la repeticin:
1. While
2. Repeat
3. For
24
5.3.1.- WHILE-DO
La estructura repetitiva while (mientras) es aquella en la que el cuerpo del bucle se
ejecuta repetidamente mientras que una condicin sea verdadera.
Formato
Diagrama de Flujo
while <condicin> do
begin
<instrucciones>;
end;
Reglas de funcionamiento:
1. La condicin se evala antes y despus de cada ejecucin del bucle. Si la condicin es
verdadera, se ejecuta el bucle, y si es falsa, el control pasa a la sentencia siguiente al
bucle.
2. Si la condicin se evala a falso cuando se ejecuta el bucle por primera vez, el cuerpo
del bucle no se ejecutar nunca.
3. Mientras la condicin sea verdadera el bucle se ejecutar. Esto significa que el bucle se
ejecutar indefinidamente a menos que "algo" en el interior del bucle modifique la
condicin haciendo que su valor pase a falso.
5.3.2.- REPEAT-UNTIL
La accin de repeat-until es repetir una serie de instrucciones hasta que se cumpla una
determinada condicin.
Formato
Diagrama de Flujo
repeat
<instruccin.1> ;
<instruccin.2> ;
..................
..................
<instruccin.N> ;
until <condicin>;
25
Aqu las palabras repeat y until sirven tambin como delimitadores de bloque.
Reglas de funcionamiento:
1. La condicin se evala al final del bucle, despus de ejecutarse todas las sentencias.
2. Si la condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas sus
instrucciones.
3. Si la condicin es falsa, se sale del bucle y se ejecuta la siguiente instruccin a until.
4. La sintaxis no requiere begin y end.
5.3.3.- FOR-TO-DO
Cuando se sabe de antemano el nmero de veces que deber ejecutarse un ciclo
determinado, sta es la forma ms conveniente.
El formato para for-to-do es:
for <contador>:=<expresin.1> to <expresin.2> do
begin
<instrucciones> ;
end;
26