Learning Machine #11 - Programando en Pascal - Ciclos for y repeat.

Hola de nuevo a todos, el dia de hoy vamos a continuar con la serie "learning machine" para el lenguaje de programación Pascal. Anteriormente vimos algunas de las partes mas importanes del lenguaje, pero por alguna razon las parte número 9 no la publique o no lo hice bien. El punto es que vamos a ver una parte importante. Cómo usar los ciclos.

Muchas veces debemos hacer operaciones que requieren ser repetidas N número de veces, anteriormente vimos que podemos hacer que algumos procesos se repitan haciendo uso de while, pero que pasa si lo que queremos  hacer, ya lo tenemos bien definido, bien, para eso existe el ciclo for.

Ciclo for.

El ciclo for sirve para hacer N veces determinada tarea, en pascal la forma más básica de si uso es la siguiente:

{ ... }
{ ... }
	for {Desde} to {hasta} do
	begin
		{ haz algo }
	end;
{...}
{...}

Para hacer uso del ciclo, debemos de hacer uso de la palabra reservada "for" seguida del número desde cual se va empezar a contar, se debe de usar una variable que es la que usaremos a manera de contador. Seguido viene la palabra reservada "to" y despues viene lo que será el "tope" del ciclo, una vez indicado esto viene la palabra reservada "do" y dependiendo de cuanto código vamos a usar, podemos hacer uso de "begin" (para inidicar el inicio), todo el código contenido entre éste y su respectivo "end;", será lo que se ejecutará hasta que el contador llegue al limite indicado.

Ahora imaginemos que queremos hacer un programa que cuente del 1 al 100 y que además escriba "este mensaje se ha escrito N veces" en la consola. tomando en cuenta lo anterior, podemos hacer código cómo el siguiente:

Program Ciclofor;
uses crt, sysutils;
var
Contador : integer;
begin
	for Contador := 1 to 100 do
	begin
		writeln(concat('Este mensaje se ha escrito ', IntToStr(Contador) ,' veces usando for'));
	end;
	readln();
end.


Repeat until.

El bucle Repeat until, es muy similar al bucle while, es decir el ciclo se repetirá hasta que cierta condicion se cumpla.

Para hacerlo, primero debemos de hacer uso de la palabra reservada "repeat", luego escribiremos todo el código que se va a ejecutar y finalmente, pondremos la palabra reservada "until" y la condición que se debe de cumplir.

En la forma más simple, el bucle repeat tendrá la siguiente forma:

{ ... }
{ ... }
	repeat
		{ haz algo }
		{ haz algo }
		{ haz algo }		
		{ haz algo }
	until ({condicion});
{...}
{...}


Para tener una mejor idea de cómo se usa, vamos a hacer el mismo programa que usamos cómo ejemplo en el ciclo "for" solo que ahora lo adaptaremos a "repeat".
Program RepeatUntil;
uses crt, sysutils;
var
Contador : integer;
begin
	Contador := 100;
	repeat
		writeln(concat('Este mensaje se ha escrito ', IntToStr(Contador) ,' veces usando until'));
		Contador := Contador + 1;
	until (Contador > 100);
	readln();
end.

Algo importante que hay que resaltar, es que "repeat" a diferencia de "while", ejecutará al menos una vez el código dentro del bloque, esto debido a que la expresion se evalua hasta el final, cosa contraria a "while". Si quieres probar esto, puedes asignarle el valor de 100 a la variable "Contador" justo antes de "Repeat", la condicion ya se cumple, porque por obvio que parezca, 100 es mayor que 99.

Y bien, por ahora es todo, en post futuros veremos más aprendizaje de pascal (incluso la primer imagen te puede dar una idea de lo que viene). Puedes copiar los códigos anteriores para probarlos.

Los leo luego.

No hay comentarios.