En aquest tema, aprendrem sobre els bucles i la iteració en Delphi/Object Pascal. Els bucles són estructures de control que permeten repetir un bloc de codi diverses vegades. Són essencials per a moltes tasques de programació, com ara processar elements d'una llista, realitzar càlculs repetitius, i molt més.

Tipus de Bucles en Delphi/Object Pascal

  1. Bucle for

El bucle for s'utilitza quan es coneix el nombre de vegades que s'ha de repetir el bloc de codi.

Sintaxi:

for variable := valor_inicial to valor_final do
begin
  // Bloc de codi a repetir
end;

Exemple:

program ForLoopExample;
var
  i: Integer;
begin
  for i := 1 to 10 do
  begin
    WriteLn('El valor de i és: ', i);
  end;
end.

  1. Bucle while

El bucle while s'utilitza quan no es coneix el nombre de vegades que s'ha de repetir el bloc de codi, però es vol repetir mentre una condició sigui certa.

Sintaxi:

while condicio do
begin
  // Bloc de codi a repetir
end;

Exemple:

program WhileLoopExample;
var
  i: Integer;
begin
  i := 1;
  while i <= 10 do
  begin
    WriteLn('El valor de i és: ', i);
    i := i + 1;
  end;
end.

  1. Bucle repeat...until

El bucle repeat...until és similar al while, però la condició es comprova al final del bloc de codi, assegurant que el bloc s'executi almenys una vegada.

Sintaxi:

repeat
  // Bloc de codi a repetir
until condicio;

Exemple:

program RepeatUntilLoopExample;
var
  i: Integer;
begin
  i := 1;
  repeat
    WriteLn('El valor de i és: ', i);
    i := i + 1;
  until i > 10;
end.

Comparació de Bucles

Tipus de Bucle Quan Utilitzar-lo Avantatges Desavantatges
for Quan es coneix el nombre exacte d'iteracions Simple i fàcil de llegir No és adequat per a iteracions basades en condicions dinàmiques
while Quan no es coneix el nombre exacte d'iteracions, però es vol repetir mentre una condició sigui certa Flexible per a condicions dinàmiques Pot resultar en bucles infinits si la condició no es gestiona correctament
repeat...until Quan es vol assegurar que el bloc de codi s'executi almenys una vegada Assegura una execució inicial del bloc de codi Pot resultar en bucles infinits si la condició no es gestiona correctament

Exercicis Pràctics

Exercici 1: Bucle for

Escriu un programa que imprimeixi els nombres parells del 2 al 20.

Solució:

program EvenNumbers;
var
  i: Integer;
begin
  for i := 2 to 20 do
  begin
    if i mod 2 = 0 then
      WriteLn(i);
  end;
end.

Exercici 2: Bucle while

Escriu un programa que sumi els nombres de l'1 al 100 i imprimeixi el resultat.

Solució:

program SumNumbers;
var
  i, sum: Integer;
begin
  i := 1;
  sum := 0;
  while i <= 100 do
  begin
    sum := sum + i;
    i := i + 1;
  end;
  WriteLn('La suma dels nombres de l''1 al 100 és: ', sum);
end.

Exercici 3: Bucle repeat...until

Escriu un programa que demani a l'usuari un nombre i continuï demanant fins que l'usuari introdueixi un nombre positiu.

Solució:

program PositiveNumber;
var
  num: Integer;
begin
  repeat
    Write('Introdueix un nombre positiu: ');
    ReadLn(num);
  until num > 0;
  WriteLn('Has introduït el nombre positiu: ', num);
end.

Errors Comuns i Consells

  • Bucle infinit: Assegura't que la condició del bucle canvia en cada iteració per evitar bucles infinits.
  • Condicions incorrectes: Revisa les condicions dels bucles per assegurar-te que són correctes i que el bucle s'executa el nombre de vegades esperat.
  • Inicialització de variables: Assegura't que les variables utilitzades en els bucles estan inicialitzades correctament abans de començar el bucle.

Conclusió

Els bucles són una eina poderosa en la programació que permeten repetir blocs de codi de manera eficient. En Delphi/Object Pascal, els bucles for, while i repeat...until ofereixen diferents maneres de gestionar la iteració segons les necessitats del teu programa. Practica amb els exercicis proporcionats per consolidar els teus coneixements i estar preparat per a utilitzar bucles en projectes més complexos.

Curs de Programació Delphi/Object Pascal

Mòdul 1: Introducció a Delphi/Object Pascal

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats