En este tema, aprenderemos sobre los bucles en Delphi/Object Pascal, una herramienta fundamental para la programación que permite ejecutar un bloque de código repetidamente. Veremos los diferentes tipos de bucles disponibles, cómo usarlos y ejemplos prácticos para entender su funcionamiento.

Tipos de Bucles en Delphi/Object Pascal

  1. Bucle for: Se utiliza cuando se conoce de antemano el número de iteraciones.
  2. Bucle while: Se utiliza cuando no se conoce el número exacto de iteraciones y se basa en una condición.
  3. Bucle repeat...until: Similar al while, pero la condición se evalúa al final del bucle, garantizando que el bloque de código se ejecute al menos una vez.

Bucle for

El bucle for se utiliza para iterar un número específico de veces. La sintaxis básica es:

for variable := start_value to end_value do
begin
  // Código a ejecutar en cada iteración
end;

Ejemplo Práctico

program ForLoopExample;

var
  i: Integer;

begin
  for i := 1 to 10 do
  begin
    WriteLn('Iteración: ', i);
  end;
end.

Explicación:

  • i es la variable de control del bucle.
  • El bucle comienza en 1 y termina en 10.
  • En cada iteración, se imprime el valor de i.

Bucle while

El bucle while se utiliza cuando la condición de terminación no se conoce de antemano. La sintaxis básica es:

while condition do
begin
  // Código a ejecutar mientras la condición sea verdadera
end;

Ejemplo Práctico

program WhileLoopExample;

var
  i: Integer;

begin
  i := 1;
  while i <= 10 do
  begin
    WriteLn('Iteración: ', i);
    i := i + 1;
  end;
end.

Explicación:

  • i se inicializa en 1.
  • El bucle continúa mientras i sea menor o igual a 10.
  • En cada iteración, se imprime el valor de i y luego se incrementa en 1.

Bucle repeat...until

El bucle repeat...until es similar al while, pero la condición se evalúa al final del bucle. La sintaxis básica es:

repeat
  // Código a ejecutar
until condition;

Ejemplo Práctico

program RepeatUntilExample;

var
  i: Integer;

begin
  i := 1;
  repeat
    WriteLn('Iteración: ', i);
    i := i + 1;
  until i > 10;
end.

Explicación:

  • i se inicializa en 1.
  • El bucle se ejecuta y luego se incrementa i.
  • La condición se evalúa al final, por lo que el bloque de código se ejecuta al menos una vez.

Comparación de Bucles

Tipo de Bucle Evaluación de Condición Ejecución Mínima Uso Común
for Al inicio 0 veces Iteraciones conocidas
while Al inicio 0 veces Condición basada en estado
repeat...until Al final 1 vez Al menos una ejecución garantizada

Ejercicios Prácticos

Ejercicio 1: Suma de Números

Escribe un programa que sume los números del 1 al 100 utilizando un bucle for.

program SumNumbers;

var
  i, sum: Integer;

begin
  sum := 0;
  for i := 1 to 100 do
  begin
    sum := sum + i;
  end;
  WriteLn('La suma de los números del 1 al 100 es: ', sum);
end.

Ejercicio 2: Factorial de un Número

Escribe un programa que calcule el factorial de un número dado utilizando un bucle while.

program Factorial;

var
  n, i, factorial: Integer;

begin
  Write('Introduce un número: ');
  ReadLn(n);
  factorial := 1;
  i := 1;
  while i <= n do
  begin
    factorial := factorial * i;
    i := i + 1;
  end;
  WriteLn('El factorial de ', n, ' es: ', factorial);
end.

Ejercicio 3: Adivina el Número

Escribe un programa que genere un número aleatorio entre 1 y 100 y permita al usuario adivinarlo utilizando un bucle repeat...until.

program GuessNumber;

uses
  SysUtils;

var
  number, guess: Integer;

begin
  Randomize;
  number := Random(100) + 1;
  repeat
    Write('Adivina el número (1-100): ');
    ReadLn(guess);
    if guess < number then
      WriteLn('Demasiado bajo.')
    else if guess > number then
      WriteLn('Demasiado alto.');
  until guess = number;
  WriteLn('¡Correcto! El número era ', number);
end.

Conclusión

En esta sección, hemos aprendido sobre los diferentes tipos de bucles en Delphi/Object Pascal: for, while y repeat...until. Cada tipo de bucle tiene su uso específico y es importante elegir el adecuado según la situación. Los ejemplos y ejercicios proporcionados te ayudarán a entender cómo y cuándo usar cada tipo de bucle. En el próximo tema, exploraremos los procedimientos y funciones, que son fundamentales para estructurar y modularizar el código.

Curso de Programación en Delphi/Object Pascal

Módulo 1: Introducción a Delphi/Object Pascal

Módulo 2: Estructuras de Control y Procedimientos

Módulo 3: Trabajando con Datos

Módulo 4: Programación Orientada a Objetos

Módulo 5: Características Avanzadas de Delphi

Módulo 6: Desarrollo de GUI con VCL y FMX

Módulo 7: Desarrollo Web y Móvil

Módulo 8: Mejores Prácticas y Patrones de Diseño

Módulo 9: Proyecto Final

© Copyright 2024. Todos los derechos reservados