ESTRUCTURAS DE DECISIÓN
(IF, THEN, ELSE)
Son estructuras de control condicional que permiten llevar a cabo una acción, si una condición (expresión lógica) dada tiene un valor especifico (falso o verdadero). se clasifican en: simples, dobles y múltiples.
- Estructura de decisión simple: se usan para representar estructuras en las que si la evaluación de la expresión logica resulta ser verdadera se ejecuta la sentencia1 o la serie de sentencias comprendidas entre el Begin y el End de la instrucción IF-THEN, según sea el caso. mientras que si el resultado de su evaluación es falso se continua como si la instrucción del IF-THEN no hubiese existido.
- Estructura de decisión Dobles: se usan para representar estructuras en las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la sentencia1. mientras que si el resultado de su evaluación es falso se ejecuta la sentencia2.
- Estructura de decisión Múltiples: se usan para representar estructuras en las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la sentencia1. mientras que si el resultado de su evaluación es falso se evalúa otra expresión lógica.
EJEMPLO:
Omisión de cláusula else:Program Edades;
Uses Crt;
Var edad : integer ;
begin
WriteLn('Escribe tu edad : ');
ReadLn(edad);
if edad >= 18 then
WriteLn('!Eres Mayor de edad !');
end.
Utilización de cláusula else:
Program Edades;
Uses Crt;
Var edad : integer ;
begin
WriteLn('Escribe tu edad : ') ;
ReadLn(edad) ;
if edad >= 18 then
WriteLn('!Eres Mayor de edad !')
else
WriteLn('!Eres Menor de edad !');
end.
Reglas Fundamentales:
- La explosión selector se evalúa y se compara con las listas de constantes.
- Si el valor resultante de la evaluación del selector se corresponde con alguno de la lista de constantes 1, se ejecutara la sentencia 1 o el bloque de sentencias1 encerradas entre el Begin y el End, en caso de sentencias compuestas.
- Si el valor resultante de la evaluación del selector no esta comprendido en ninguna lista de constantes y no existe la clausula ELSE, no sucede nada y sigue el flujo del programa como si no hubiese existido el CASE.
- Si el valor resultante de la evaluación del selector no esta comprendido en ninguna lista de constantes y si existe la clausula ELSE, se ejecutan las instrucciones a continuación de la clausula ELSE.
ESTRUCTURAS DE REPETICIÓN
(WHILE, REPEAT, FOR)
Las formas de iteración sirven para ejecutar ciclos repetidamente, dependiendo de que se
cumplan ciertas condiciones. Una estructura de control que permite la repetición 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 repetición:
- WHILE
La estructura repetitiva while (mientras) es aquella en la que el cuerpo del bucle se
ejecuta repetidamente mientras que una condición sea verdadera.
Reglas de funcionamiento:
1. La condición se evalúa antes y después de cada ejecución del bucle. Si la condición es verdadera, se ejecuta el bucle, y si es falsa, el control pasa a la sentencia siguiente al bucle.
2. Si la condición se evalúa a falso cuando se ejecuta el bucle por primera vez, el cuerpo del bucle no se ejecutará nunca.
3. Mientras la condición 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 condición haciendo que su valor pase a falso.
- REPEAT
La acción de repeat-until es repetir una serie de instrucciones hasta que se cumpla una determinada condición.
Reglas de funcionamiento:
1. La condición se evalúa al final del bucle, después de ejecutarse todas las sentencias.
2. Si la condición es falsa, se vuelve a repetir el bucle y se ejecutan todas sus instrucciones.
3. Si la condición es falsa, se sale del bucle y se ejecuta la siguiente instrucción a until.
4. La sintaxis no requiere begin y end.
- FOR-TO-DO
Cuando se sabe de antemano el número de veces que deberá ejecutarse un ciclo determinado, ésta es la forma más conveniente.
Al ejecutarse la sentencia for la primera vez, a contador se le asigna un valor inicial(expresion.1), y a continuación se ejecutan las instrucciones del interior del bucle, enseguida se verifica si el valor final (expresión.2) es mayor que el valor inicial(expresión.1); en caso de no ser así se incrementa contador en uno y se vuelven a ejecutar las instrucciones, hasta que el contador sea mayor que el valor final, en cuyo momento se termina el bucle.
No hay comentarios:
Publicar un comentario