Learning Machine #6 - Programando en Pascal - Bucle while.

Hola de nuevo a todos, el dia de hoy vamos a ver un poco mas de programacion en pascal. Hoy toca ver cómo se usa el bucle "while".


El bucle "while" cómo su nombre lo indica, es una palabra reservada que sirve para indicar que queremos hacer un proceso y que este se repita hasta que cierta condición se cumpla.
Supongamos que queremos comprobar un numero que el usuario escriba con un numero que nosotros tengamos almacenados en una variable, para evitar que se la pase todo el día escribiendo números, vamos a darle un numero limitados de intentos; supongamos 5.
Para llevar a cabo la tarea mencionada antes, podemos usar código como el que sigue:

program Bucle;
uses crt;
var Oportunidades, MiNumero, TuNumero : integer;
begin
 MiNumero := 64;
 clrscr;
 while Oportunidades <= 5 do
 begin
  writeln('Ingresa un numero');
  readln(TuNumero);
  if TuNumero <> MiNumero then
   Oportunidades := Oportunidades + 1
  else
   break;
 end;
 writeln('Fin del programa');
 readln();
end.

Para empezar veamos cómo es que funciona la palabra reservada while. Esta palabra va seguida de una condición, en el código anterior, la condición es: "Oportunidades <= 5" después sigue la palabra reservada "do". todo el bloque de código que se usa debe ir en medio de las palabras reservadas "begin" y "end;". Todo el código que se quiera ejecutar debe de ir en esta sección. Una representación de cualquier bucle "while", puede ser el siguiente:

while "Condicion No se cumple" do
begin
 { ... }
 { ... }
 { ... }
 { ... }
end

Algo que se debe de tener muy en cuenta, es el cómo se plantea la condición. Al ir avanzando linea por linea, cuando en la ejecución se encuentra "while" evaluara la expresión y si al hacerlo esta ya se cumple, simplemente avanzara hasta la linea donde se encuentre el "end" del cierre del bucle.
Para el caso del primer código,  primero le asignamos un valor a la variable "MiNumero" y después viene el bucle "while" con la condición que mientras la variable "Oportunidades" sea menor o igual que 5, haga lo que está dentro del bucle.
Adentro del bucle, le vamos a preguntar un numero  al usuario y lo almacenaremos en la variable "TuNumero", luego compararemos la variable "TuNumero" con la variable "MiNumero" y si son diferentes, a la variable "Oportunidades" le sumaremos 1. Si escribimos 5 veces un numero que no sea 64, llegaremos al final de la ejecución, pero si solo escribimos el numero 64, esto nos llevara al final del programa, porque la palabra reservada "break", sirve para salir del bucle sin importar que la condición se haya cumplido o no, en el caso anterior, en el "if", solo hay dos posibles vias, una es cuando "TuNumero" y "MiNumero" son diferentes y la otra es cuando el número es igual, cuando se escribe 64 no tiene sentido que le sigamos preguntando cual es nuestro numero porque ya lo ha averiguado, entonces hacemos uso de "break" y con eso iremos al final del programa.
Solo para probar que funciona, puedes cambiar el "<=" por ">=". Con esto, el programa ira directamente a la penúltima linea ("readln"), porque se habrá brincado todo el bucle.

Y bien, por ahora es todo, la semana que viene continuaremos con mas de la programación en Pascal.

No hay comentarios.