Vous êtes sur la page 1sur 7

Los ciclos, o bucles, es un concepto que escapa y por tanto es independiente del lenguaje.

Significar lo mismo en Pascal como en Java, C#, o el que gustes. Conceptualmente los ciclos son instrucciones que se ejecutarn una cantidad de veces de acuerdo a cierta evaluacin de una condicin. Hay tres tipos de ciclos: 1. Ciclo FOR-TO, o "Desde-hasta": Se conoce la cantidad de veces que se realizar las instrucciones. Por tanto las instrucciones que forman parte del ciclo se ejecutarn n veces, siendo n la cantidad de iteraciones. Su nomeclatura, construccin, o sintaxis en Pascal es como sigue: FOR <variable> := <valor_inicial> TO | DOWNTO <valor_final> DO <grupo_sentencias>; <grupo_sentencia> :: <sentencia>; | BEGIN; <sentencias>; END; Como puede apreciarse puede hacerse incrementar (TO) o decrementar (DONWTO). La barra horizontal | significa O, es decir uno lo otro. Para distinguir las variables o valores de las palabras emplee los signos < y >. grupo_sentencia puede ser una sentencia o un grupo de sentencias. Si es slo una instruccin a ejecutar no es necesario el uso de begin-end pero son dos o ms es necesario encerrar las instrucciones entre BEGIN y END. Un ejemplo de uso es como sigue: FOR i := 1 to 10 do writeln(i * 2); 2. Ciclo WHILE-DO o "Mientras-hacer": Se desconoce la cantidad de veces que se van a ejecutar las sentencias. Se hace uso de una condicin de entrada para ejecutar el ciclo. Esto quiere decir, que MIENTRAS se cumpla la condicin o condiciones establecidas se ejecutarn una y otra vez las sentencias. Eso quiere decir que mientras el resultado de las condiciones sea VERDADERO (TRUE) el algoritmo iterar. El ciclo se detiene cuando el resultado sea FALSO (FALSE). Entre las sentencias debe haber alguna que haga cambiar la condicin. ANTES de cada iteracin se evalan las condiciones. Su sintaxis: WHILE <grupo_condicion> DO <grupo_sentencias>; Grupo_condicion puede ser una o muchas condiciones "unidas" por algunos operadores lgicos ( <, > , = , <=, >=, AND, OR, NOT). grupo_sentencias tiene el mismo significado anteriormente descripto. Ejemplo:

i := 1; WHILE (i <= 10) DO begin writeln(i * 2); i := i + 1; end; 3. Ciclo REPEAT-UNTIL o "Repetir-Hasta": A diferencia del WHILE, el repetir hasta, implica que la condicin se evala al final de las sentencias, y la condicin de salida para el ciclo debe ser VERDADERA. Mientras la condicin sea Falsa se continuar iterando. Por tanto, el REPEAT-UNTIL se ejecutar al menos una vez; en el WHILE no se puede garantizar esto. La sintaxis es: REPEAT <grupo_sentencias> UNTIL <grupo_condicion> Cabe destacar que en el caso del REPEAT no es necesario incluir BEGIN Y END en el caso de dos o ms sentencias. La construccin equivalente del ejemplo anterior (WHILE) en forma REPEAT es como sigue: i := 1; REPEAT writeln(i * 2); i := i + 1; UNTIL (i > 10) Casi todos los ciclos WHILE tienen su forma REPEAT-UNTIL, pero lo importante es saber cuando es ms conveniente uno u otro.

Ejemplos

CICLO FOR PASCAL

Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez. Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instruccion simple o compuesta. Su formato general es: for VARCONTROL := ValorInicial to ValorFinal do begin instrucciones; end; EJEMPLO Codigo prog4.pas
program prog4; uses crt; var x:integer; begin clrscr; for x:= 1 to 5 do begin gotoxy(10,4+x);write(x,' tecnologico'); end; readln; end.

corrida:

WHILE

CICLO WHILE PROGRAMACION PASCAL En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicion permanezca como verdadera en el momento en que la condicion se convierte en falsa el ciclo termina. while BooleanExpression do statement; Su formato general es : cargar o inicializar variable de condicion; while condicion do begin grupo cierto de instrucciones; instruccion(es) para salir del ciclo; end; Un error muy comun con el while, es poner un punto y coma(;) despues de la (condicion) ejemplo while condicion do ; -esto es y causa un error. Prog5.pas
program prog5;

uses crt; var x:integer; begin clrscr; x:=1; while x <= 5 do begin gotoxy(10,4+x);write(x,' pato'); x:=x+1; end; readln; end.

Corrida:

While puede llevar dos condiciones en este caso inicializar 2 variables de condicion y cuidar que existan 2 de rompimiento o terminacion de ciclo. El grupo cierto de instrucciones puede ser una sola instruccion o todo un grupo de instrucciones. La condicion puede ser simple o compuesta. Los casos generales de for tambien se aplican a while.

A este ciclo tambien se le conoce tambien como ciclo de condicion de entrada o prueba por arriba porque este ciclo evalua primero la condicion y posteriormente ejecuta las instrucciones.

REPEAT - UNTIL

CICLO REPEAT UNTIL PASCAL Su diferencia basica con el ciclo while es que la prueba de condicion es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalua la condicion; Tambien se le conoce por esta razon como ciclo de condicion de salida. Su formato general es : cargar o inicializar variable de condicion; repeat begin instrucciones; end until condicion; OBSERVAR QUE NO LLEVA PUNTO Y COMA (;) ANTES DEL UNTIL Prog6.PAS
program prog6; uses crt; var x:integer; begin clrscr; x:=1;

REPEAT BEGIN gotoxy(10,4+x); write(x,' CONEJITO BLANCO HIMALAYA'); x:=x+1; END UNTIL x = 5; readln; end.

Corrida prog

Observar que nada mas se ve hasta x=4, pero en realidad la x llego hasta el 5, cuando termino lo que esta desplegandose en pantalla la x se incremento a 5 y luego se probo la condicion y como era CIERTA o VERDADERA entonces acabo el ciclo. Lo del conejito blanco del himalaya esta explicacado aqui TUTORIAL HTML Otra diferencia basica con el ciclo while es que, aunque la condicion sea falsa desde un principio el cuerpo de instrucciones se ejecutara por lo menos una vez.

Vous aimerez peut-être aussi