Les estructures de control són fonamentals en qualsevol llenguatge de programació, ja que permeten controlar el flux d'execució del programa. En aquest tema, aprendrem sobre les estructures de control bàsiques en RPG, incloent-hi les condicions, els bucles i les instruccions de salt.

Contingut

Condicionals

Les estructures condicionals permeten executar diferents blocs de codi en funció de si una condició és certa o falsa.

IF i ELSE

La instrucció IF s'utilitza per executar un bloc de codi si una condició és certa. La instrucció ELSE s'utilitza per executar un bloc de codi alternatiu si la condició és falsa.

Sintaxi:

IF condició;
    // Bloc de codi si la condició és certa
ELSE;
    // Bloc de codi si la condició és falsa
ENDIF;

Exemple:

Dcl-S x Int(10);
Dcl-S y Int(10);

x = 5;
y = 10;

IF x > y;
    dsply 'x és més gran que y';
ELSE;
    dsply 'x no és més gran que y';
ENDIF;

SELECT i WHEN

La instrucció SELECT s'utilitza per executar un bloc de codi entre múltiples opcions basades en diferents condicions.

Sintaxi:

SELECT;
    WHEN condició1;
        // Bloc de codi si condició1 és certa
    WHEN condició2;
        // Bloc de codi si condició2 és certa
    OTHER;
        // Bloc de codi si cap condició anterior és certa
ENDSL;

Exemple:

Dcl-S score Int(10);

score = 85;

SELECT;
    WHEN score >= 90;
        dsply 'A';
    WHEN score >= 80;
        dsply 'B';
    WHEN score >= 70;
        dsply 'C';
    OTHER;
        dsply 'F';
ENDSL;

Bucles

Els bucles permeten repetir un bloc de codi diverses vegades.

DO i ENDDO

El bucle DO s'utilitza per repetir un bloc de codi un nombre determinat de vegades.

Sintaxi:

DO nombre_de_repeticions;
    // Bloc de codi a repetir
ENDDO;

Exemple:

Dcl-S i Int(10);

FOR i = 1 TO 5;
    dsply i;
ENDFOR;

DOW i ENDDO

El bucle DOW (Do While) s'utilitza per repetir un bloc de codi mentre una condició sigui certa.

Sintaxi:

DOW condició;
    // Bloc de codi a repetir
ENDDO;

Exemple:

Dcl-S i Int(10);

i = 1;
DOW i <= 5;
    dsply i;
    i += 1;
ENDDO;

Instruccions de Salt

Les instruccions de salt permeten alterar el flux d'execució del programa de manera immediata.

LEAVE

La instrucció LEAVE s'utilitza per sortir d'un bucle immediatament.

Exemple:

Dcl-S i Int(10);

FOR i = 1 TO 10;
    IF i = 5;
        LEAVE;
    ENDIF;
    dsply i;
ENDFOR;

ITER

La instrucció ITER s'utilitza per saltar a la següent iteració del bucle.

Exemple:

Dcl-S i Int(10);

FOR i = 1 TO 10;
    IF i = 5;
        ITER;
    ENDIF;
    dsply i;
ENDFOR;

Exercicis Pràctics

Exercici 1: Condicionals

Escriu un programa que demani a l'usuari un número i mostri si és positiu, negatiu o zero.

Solució:

Dcl-S num Int(10);

dsply 'Introdueix un número:';
rcvvar num;

IF num > 0;
    dsply 'El número és positiu';
ELSEIF num < 0;
    dsply 'El número és negatiu';
ELSE;
    dsply 'El número és zero';
ENDIF;

Exercici 2: Bucles

Escriu un programa que mostri els números del 1 al 10 utilitzant un bucle DO.

Solució:

Dcl-S i Int(10);

FOR i = 1 TO 10;
    dsply i;
ENDFOR;

Exercici 3: Instruccions de Salt

Escriu un programa que mostri els números del 1 al 10, però salti el número 5 utilitzant la instrucció ITER.

Solució:

Dcl-S i Int(10);

FOR i = 1 TO 10;
    IF i = 5;
        ITER;
    ENDIF;
    dsply i;
ENDFOR;

Conclusió

En aquesta secció, hem après sobre les estructures de control en RPG, incloent-hi les condicions, els bucles i les instruccions de salt. Aquestes estructures són essencials per controlar el flux d'execució dels nostres programes i permeten crear lògiques més complexes i dinàmiques. En el proper mòdul, explorarem les funcions i procediments, que ens permetran organitzar i reutilitzar el codi de manera més eficient.

© Copyright 2024. Tots els drets reservats