Definamos cada estructura, la ayuda de Turbo Pascal 7 las define así:
For: esta sentencia hace que la sentencia de después del do se ejecute una vez por cada valor dentro del rango, del primero al ultimo.
While: contiene una expresión que controla la ejecución repetida de una sentencia singular o compuesta.
Repeat: las sentencias entre repeat y until se ejecutan en secuencia hasta que al final de una secuencia, la expresión booleana en verdadera (True).
Sintaxis
For Variable := Primer número to Último número do
Sentencia;
For Variable := Primer número downto Último número do
Sentencia;
While Expresión do
Sentencia;
Repeat
Sentencia;
Sentencia;
...
Sentencia;
Until Expresión;
Aclaraciones
Tanto "Variable", "Primer número" como "Último número" deben ser de un tipo ordinal (ej: Integer). Con "to" el valor de "Variable" se incrementa en 1 para cada vez que se ejecute el bucle. Con "downto" es exactamente al revés, es decir se decrementa en 1.
En los while, la sentencia después del "do" se ejecuta mientras que la expresión contigua al while sea verdadera. El valor de la expresión se evalúa antes de que se ejecute la sentencia, por lo que si la expresión es falsa no se ejecuta la sentencia.
Para los repear hay que tener cuidado ya que las sentencias se va a ejecutar por lo menos una vez, por que la expresión se evalúa al final de estas. Las sentencias se ejecutarán hasta que la expresión sea verdadera.
Tanto para while como para repeat los valores de las expresiones se las va a modificar dentro de su estructura, si no fuera de esta manera nunca se saldría del bucle y se generaría un ciclo de nunca acabar. Por otro lado, si queremos escribir más de una sentencia en un for o un while debemos escribirlas entre begin y end, para repeat no hace falta por que ya están delimitadas por repeat y until.
Ejemplos de estructuras posibles
Caso 1
For Variable := Primer número to Último número do
Begin
Sentencia;
Sentencia;
...
Sentencia;
End;
Caso 2
For Variable_1 := Primer número to Último número do
For Variable_2 := Primer número to Último número do
For Variable_3 := Primer número to Último número do
For Variable_4 := Primer número to Último número do
Begin
Sentencia;
While Expresión do
Begin
Sentencia;
Sentencia;
End;
Sentencia;
End;
Caso 3
Repeat
While Expresión do
Begin
For Variable := Primer número to Último número do
Begin
Sentencia;
Sentencia;
...
Sentencia;
End;
Sentencia;
Sentencia;
End;
Sentencia;
Sentencia;
...
Sentencia;
Until Expresión;Estos son distintos casos que podemos armar al ir combinado las distintas estructuras, no necesariamente puedes dar con una estructura de esta forma, solo son ejemplos. Fíjate donde coloco ";" y donde no. Si lo queremos complicar podríamos sumas unos IF y CASE, pero lo dejo para vos. No to olvides que la práctica lo es todo.
Veamos unos ejemplos
Program EjemploFor;
Uses Crt;
Var
x : Integer;
Begin
Clrscr; {Borra la pantalla}
For x := 1 to 100
Writeln (' Dicho Soft ');
Readkey; {Se detiene el programa hasta que se presione una tecla}
End. {Escribe 100 veces "Dicho Soft" en la pantalla, podría ver puesto 1000000}
Program EjemploWhile;
Uses Crt;
Var
Tecla : Char;
Begin
Clrscr;
Tecla := #13; {Es la tecla Enter o Intro}
While Tecla <> #27 do {Tecla Escape}
Begin
Writeln (' Dicho Soft ');
Tecla := Readkey;
End;
End. {Escribe "Dicho Soft" mientras que la tecla pulsada sea distinta a Escape (#27)}
Program EjemploRepeat;
Uses Crt;
Var Tecla_2 : Char;
Begin
Clrscr;
Repeat
Writeln (' Dicho Soft ');
Tecla_2 := Readkey;
Until Tecla_2 = #27;
End. {Escribe "Dicho Soft" hasta que se presione Escape. Si ponemos "<>" en el lugar del "=" escribe "Dicho Soft" mientras se presione la tecla Escape, cambia la cosa.}
No hay comentarios.:
Publicar un comentario