En aquest mòdul, aprendrem sobre les estructures de dades fonamentals en RPG: els arrays i les llistes. Aquestes estructures són essencials per emmagatzemar i manipular col·leccions de dades de manera eficient.
Objectius del Mòdul
- Entendre què són els arrays i les llistes.
- Aprendre a declarar i inicialitzar arrays i llistes en RPG.
- Manipular elements dins d'arrays i llistes.
- Aplicar operacions comunes com la cerca, l'ordenació i la iteració.
Què és un Array?
Un array és una col·lecció d'elements del mateix tipus emmagatzemats en posicions contigües de memòria. Els arrays permeten accedir als elements mitjançant un índex numèric.
Declaració i Inicialització d'Arrays
En RPG, podem declarar un array utilitzant la paraula clau DCL-S
o DCL-DS
per a arrays més complexos. Aquí teniu un exemple bàsic:
Aquest codi declara un array de 5 elements, on cada element és una cadena de caràcters de longitud 10.
Inicialització d'Arrays
Podem inicialitzar un array en el moment de la seva declaració:
Accés als Elements d'un Array
Podem accedir als elements d'un array utilitzant l'índex de l'element:
myArray(1) = 'Z'; // Assigna 'Z' al primer element de l'array DSPLY myArray(1); // Mostra el valor del primer element
Iteració sobre un Array
Podem utilitzar un bucle FOR
per iterar sobre els elements d'un array:
Què és una Llista?
Una llista és una col·lecció d'elements que poden ser de diferents tipus i longituds. Les llistes són més flexibles que els arrays, però poden ser més complexes de gestionar.
Declaració i Inicialització de Llistes
En RPG, podem utilitzar estructures de dades per crear llistes. Aquí teniu un exemple bàsic:
Accés als Elements d'una Llista
Podem accedir als elements d'una llista utilitzant el nom de l'element:
Iteració sobre una Llista
Podem utilitzar un bucle FOR
per iterar sobre els elements d'una llista si sabem el nombre d'elements:
FOR i = 1 TO 3; SELECT; WHEN i = 1; DSPLY myList.element1; WHEN i = 2; DSPLY myList.element2; WHEN i = 3; DSPLY myList.element3; ENDSL; ENDFOR;
Exercicis Pràctics
Exercici 1: Declaració i Inicialització d'un Array
- Declara un array de 10 elements de tipus
INTEGER
. - Inicialitza l'array amb els valors del 1 al 10.
- Mostra tots els elements de l'array.
Solució
DCL-S myArray INT(10) DIM(10) INZ(1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10); FOR i = 1 TO %ELEM(myArray); DSPLY myArray(i); ENDFOR;
Exercici 2: Manipulació d'una Llista
- Declara una llista amb tres elements: un
CHAR(10)
, unPACKED(5:2)
i unDATE
. - Assigna valors a cada element de la llista.
- Mostra els valors de cada element.
Solució
DCL-DS myList; element1 CHAR(10); element2 PACKED(5:2); element3 DATE; END-DS; myList.element1 = 'Hello'; myList.element2 = 123.45; myList.element3 = %DATE(); DSPLY myList.element1; DSPLY myList.element2; DSPLY myList.element3;
Resum
En aquest mòdul, hem après sobre els arrays i les llistes en RPG. Hem vist com declarar, inicialitzar i manipular aquestes estructures de dades. També hem practicat amb exercicis per reforçar els conceptes apresos. En el proper mòdul, explorarem tècniques avançades de programació per millorar les nostres habilitats en RPG.
Curs de Programació RPG
Mòdul 1: Introducció a la Programació RPG
- Què és RPG?
- Configuració del Teu Entorn de Desenvolupament
- Sintaxi i Estructura Bàsiques
- Programa Hello World
Mòdul 2: Conceptes Bàsics
Mòdul 3: Treballant amb Dades
Mòdul 4: Tècniques Avançades de Programació
Mòdul 5: RPG IV i Més Enllà
Mòdul 6: Integrant RPG amb Tecnologies Modernes
Mòdul 7: Aplicacions del Món Real
- Construint una Aplicació Simple
- Estudi de Cas: Sistema de Gestió d'Inventari
- Estudi de Cas: Sistema de Nòmines
- Millors Pràctiques i Revisió de Codi