En aquest tema, aprendrem sobre les construccions de bucle en el Llenguatge de Control (CL). Els bucles són una part fonamental de qualsevol llenguatge de programació, ja que permeten executar un bloc de codi repetidament fins que es compleixi una condició específica. En CL, tenim diverses maneres de crear bucles, cadascuna amb les seves pròpies característiques i usos.
Objectius del Tema
- Comprendre la importància dels bucles en la programació.
- Aprendre a utilitzar les construccions de bucle en CL.
- Escriure i executar programes CL que utilitzin bucles.
Tipus de Bucles en CL
- Bucle
DO
DO
El bucle DO
és una de les construccions de bucle més utilitzades en CL. Permet repetir un bloc de codi un nombre determinat de vegades o fins que es compleixi una condició.
Sintaxi
Exemple
PGM DCL VAR(&I) TYPE(*INT) LEN(4) DCL VAR(&SUM) TYPE(*INT) LEN(4) VALUE(0) DO VAR(&I) FROM(1) TO(10) BY(1) CHGVAR VAR(&SUM) VALUE(&SUM + &I) ENDDO SNDPGMMSG MSG('La suma dels números de l'1 al 10 és ' *CAT &SUM) ENDPGM
Explicació:
- Declarem dues variables:
&I
per al comptador del bucle i&SUM
per acumular la suma. - El bucle
DO
s'executa des de 1 fins a 10, incrementant&I
en 1 cada vegada. - A cada iteració, s'afegeix el valor de
&I
a&SUM
. - Finalment, es mostra un missatge amb el resultat de la suma.
- Bucle
DOWHILE
DOWHILE
El bucle DOWHILE
repeteix un bloc de codi mentre una condició sigui certa.
Sintaxi
Exemple
PGM DCL VAR(&I) TYPE(*INT) LEN(4) VALUE(1) DCL VAR(&FACTORIAL) TYPE(*INT) LEN(4) VALUE(1) DOWHILE (&I <= 5) CHGVAR VAR(&FACTORIAL) VALUE(&FACTORIAL * &I) CHGVAR VAR(&I) VALUE(&I + 1) ENDDO SNDPGMMSG MSG('El factorial de 5 és ' *CAT &FACTORIAL) ENDPGM
Explicació:
- Declarem dues variables:
&I
per al comptador del bucle i&FACTORIAL
per acumular el resultat del factorial. - El bucle
DOWHILE
s'executa mentre&I
sigui menor o igual a 5. - A cada iteració, es multiplica
&FACTORIAL
pel valor de&I
i s'incrementa&I
. - Finalment, es mostra un missatge amb el resultat del factorial de 5.
- Bucle
DOUNTIL
DOUNTIL
El bucle DOUNTIL
repeteix un bloc de codi fins que una condició sigui certa.
Sintaxi
Exemple
PGM DCL VAR(&I) TYPE(*INT) LEN(4) VALUE(1) DCL VAR(&SUM) TYPE(*INT) LEN(4) VALUE(0) DOUNTIL (&I > 10) CHGVAR VAR(&SUM) VALUE(&SUM + &I) CHGVAR VAR(&I) VALUE(&I + 1) ENDDO SNDPGMMSG MSG('La suma dels números de l'1 al 10 és ' *CAT &SUM) ENDPGM
Explicació:
- Declarem dues variables:
&I
per al comptador del bucle i&SUM
per acumular la suma. - El bucle
DOUNTIL
s'executa fins que&I
sigui major que 10. - A cada iteració, s'afegeix el valor de
&I
a&SUM
i s'incrementa&I
. - Finalment, es mostra un missatge amb el resultat de la suma.
Exercicis Pràctics
Exercici 1: Suma de Números Parells
Escriu un programa CL que sumi tots els números parells de l'1 al 20.
Solució
PGM DCL VAR(&I) TYPE(*INT) LEN(4) VALUE(2) DCL VAR(&SUM) TYPE(*INT) LEN(4) VALUE(0) DOWHILE (&I <= 20) CHGVAR VAR(&SUM) VALUE(&SUM + &I) CHGVAR VAR(&I) VALUE(&I + 2) ENDDO SNDPGMMSG MSG('La suma dels números parells de l'1 al 20 és ' *CAT &SUM) ENDPGM
Exercici 2: Comptar Fins a 10
Escriu un programa CL que compti de l'1 al 10 i mostri cada número.
Solució
PGM DCL VAR(&I) TYPE(*INT) LEN(4) VALUE(1) DOUNTIL (&I > 10) SNDPGMMSG MSG('Número: ' *CAT &I) CHGVAR VAR(&I) VALUE(&I + 1) ENDDO ENDPGM
Errors Comuns i Consells
- Oblidar incrementar el comptador: Assegura't d'incrementar el comptador del bucle per evitar bucles infinits.
- Condicions incorrectes: Revisa les condicions dels bucles per assegurar-te que són correctes i que el bucle s'executarà el nombre de vegades esperat.
- Inicialització de variables: Assegura't que les variables utilitzades en els bucles estan correctament inicialitzades abans de començar el bucle.
Resum
En aquesta secció, hem après sobre les construccions de bucle en CL, incloent els bucles DO
, DOWHILE
i DOUNTIL
. Hem vist exemples pràctics de com utilitzar aquests bucles i hem practicat amb exercicis per reforçar els conceptes apresos. Els bucles són una eina poderosa en la programació que ens permeten repetir blocs de codi de manera eficient i efectiva.
Curs de CL (Llenguatge de Control)
Mòdul 1: Introducció al CL
- Què és el Llenguatge de Control?
- Configuració del Teu Entorn
- Sintaxi i Estructura Bàsiques
- Escrivint el Teu Primer Programa CL
Mòdul 2: Comandes Bàsiques de CL
- Introducció a les Comandes de CL
- Comandes de Gestió de Fitxers
- Comandes de Gestió de Treballs
- Comandes de Gestió del Sistema
Mòdul 3: Variables i Expressions
- Comprenent les Variables
- Definint i Utilitzant Variables
- Expressions i Operadors
- Manipulació de Cadenes
Mòdul 4: Estructures de Control
Mòdul 5: Comandes Avançades de CL
- Operacions Avançades de Fitxers
- Programació Avançada de Treballs
- Comandes de Configuració del Sistema
- Seguretat i Permisos