BotonMenu
BotonIndice

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL


4. ESTRUCTURAS DE CONTROL.
4.5. ESTRUCTURA DE CONTROL REPEAT-UNTIL.
4. ESTRUCTURAS DE CONTROL.
4.5. ESTRUCTURA DE CONTROL REPEAT-UNTIL.
4. ESTRUCTURAS DE CONTROL.
4.5. ESTRUCTURA DE CONTROL REPEAT-UNTIL.

SIGUIENTE

SIGUIENTE

SIGUIENTE


‒ Estructura de control Repeat-until.

Es una estructura de control repetitiva, similar a la estructura While-do, que nos permite ejecutar repetidamente una instrucción o bloque de instrucciones dependiendo de una condición. Esta estructura repite las instrucciones siempre y cuando la condición sea falsa, a diferencia de la estructura While-do, que repite las instrucciones siempre y cuando la condición sea verdadera. Una estructura Repeat-Until verifica la condición después de que el bloque de instrucciones se haya ejecutado una primera vez, pero un bucle While-do verifica la condición antes de que el bloque de instrucciones sea ejecutado. En una estructura Repeat-Until cuando el valor de la condición es alterada para que sea verdadera las instrucciones dejan de ejecutarse. La estructura Repeat-Until hace uso de las palabras reservadas Repeat y Until. La estructura no necesita de las palabras reservadas Begin y End para usar un bloque de instrucciones. El siguiente ejemplo muestra los números del 1 al 10.


Descargar
{$codepage UTF8}

VAR n : byte;

BEGIN
 n:=1;
 Repeat
   Writeln(n);
   n+=1
 Until n>=11
END.
Código fuente 16: Repeat-Until, Programa que muestra los números del 1 al 10.
Descargar

La estructura Repeat Until, debe terminar en punto y coma, en el ejemplo anterior no se usa el punto y coma, ya que la estructura sería la última instrucción en ejecutarse antes de End. En el ejemplo se puede observar que la condición es n>=11, esta condición nos dará falso siempre y cuando n sea menor y distinto a 11. La estructura Repeat-Until, también se puede encadenar, a continuación el ejemplo:


Descargar
{$codepage UTF8}

USES math;

VAR rpta : char;
    n,i : integer;

BEGIN
 rpta:='S';
 Repeat
   Write('Ingrese n : ');
   readln(n);
   i:=1;
   Repeat
     Writeln(i:3,i**2:10,i**3:10);
     i+=1
   Until i>n;
   Write('Desea continuar [S] Si, [N] No : ');
   Readln(rpta)
 Until (rpta<>'s') and (rpta<>'S')
END.
Código fuente 17: Uso de encadenar la estructura Repeat-Until.
Descargar

El ejemplo mostrado es muy similar al programa del código fuente 13, usado en el capitulo anterior (Estructura de control While-do) . La diferencia se encuentra en las condiciones usadas con las estructuras While-do. Las condiciones usadas en el ejemplo verifican si rpta es diferente a s minúscula y mayúscula; en la estructura Repeat-until interior, para mostrar la potencia de los números, la condición verifica si la variable i es mayor que n. Ambas condiciones son lo contrario a las condiciones usadas del bucle While-do del código fuente 13 usado en el capítulo anterior. Lo que nos dice que el programa anterior también se puede escribir negando las condiciones usadas por la estructura While-do. Ejemplo:


Descargar
{$codepage UTF8}

USES math;

VAR rpta : char;
    n,i : integer;

BEGIN
  rpta:='S';
  Repeat
    Write('Ingrese n : ');readln(n);
    i:=1;
    Repeat
      Writeln(i:3,i**2:10,i**3:10);
      i+=1
    Until Not(i<=n);
    Write('Desea continuar [S] Si, [N] No : ');
    Readln(rpta)
  Until Not((rpta='s') or (rpta='S'))
END.
Código fuente 18: Uso de Repeat-Until negando las condiciones usadas en bucle While-do.
Descargar


Última revisión: 09/05/2014.



SIGUIENTE
SIGUIENTE
SIGUIENTE


 
‒ Comentarios y sugerencias.

Agradezco de antemano, todo comentario, sugerencia, y donativo (a través de Paypal me), que ayude a mejorar los contenidos educativos de Conoce 3000. Además, cualquier pregunta o duda que tengas lo puedes hacer por este medio. Pero, todo contenido que pueda resultar ofensivo, malicioso, racista, sexista, discriminatorio, obsceno, vulgar será eliminado.








PORTADA |  INTERESANTE |  APUNTES |  LIBROS |  GALERIA


Creative Commons License


Todos los textos, imágenes y videos de Conoce3000 estan colocados bajo una licencia : Creative Commons Reconocimiento-NoComercial 3.0 Unported License.