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
- Bucle
for
for
El bucle for
s'utilitza quan es coneix el nombre de vegades que s'ha de repetir el bloc de codi.
Sintaxi:
Exemple:
program ForLoopExample; var i: Integer; begin for i := 1 to 10 do begin WriteLn('El valor de i és: ', i); end; end.
- Bucle
while
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:
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.
- Bucle
repeat...until
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:
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
- Introducció a Delphi i Object Pascal
- Configuració de l'Entorn de Desenvolupament
- Primera Aplicació Delphi
- Sintaxi i Estructura Bàsiques
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control i Procediments
- Declaracions Condicionals
- Bucles i Iteració
- Procediments i Funcions
- Abast i Durada de les Variables
- Gestió d'Errors i Depuració
Mòdul 3: Treballant amb Dades
- Arrays i Cadenes
- Registres i Conjunts
- Tipus Enumerats i Subrang
- Gestió d'Arxius
- Accés a Bases de Dades
Mòdul 4: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Herència i Polimorfisme
- Interfícies i Classes Abstractes
- Gestió d'Excepcions en POO
Mòdul 5: Funcions Avançades de Delphi
- Generics i Col·leccions
- Multifil i Programació Paral·lela
- Desenvolupament Basat en Components
- Biblioteca d'Execució de Delphi (RTL)
- Tècniques Avançades de Depuració
Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX
- Introducció a VCL
- Creació de Formularis i Controls
- Programació Basada en Esdeveniments
- Introducció a FireMonkey (FMX)
- Desenvolupament Multiplataforma amb FMX
Mòdul 7: Desenvolupament Web i Mòbil
- Desenvolupament Web amb Delphi
- Serveis RESTful
- Desenvolupament Mòbil amb Delphi
- Desplegament d'Aplicacions Mòbils
- Integració amb Serveis Web
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Organització del Codi i Documentació
- Patrons de Disseny en Delphi
- Tècniques de Refactorització
- Proves Unitàries i Desenvolupament Basat en Proves
- Optimització del Rendiment