En aquest tema, aprendrem sobre els tipus de dades i les variables en RPG. Aquest és un concepte fonamental que necessitaràs dominar per poder escriure programes efectius i eficients.
Tipus de Dades en RPG
Els tipus de dades defineixen el tipus d'informació que una variable pot emmagatzemar. A RPG, els tipus de dades més comuns són:
-
Numèrics:
- Enter: Emmagatzema nombres enters.
- Decimal: Emmagatzema nombres amb decimals.
- Zoned Decimal: Emmagatzema nombres decimals amb zones específiques per a cada dígit.
-
Caràcter:
- Caràcter: Emmagatzema cadenes de text.
- Gràfic: Emmagatzema dades gràfiques.
-
Data i Hora:
- Data: Emmagatzema dates.
- Hora: Emmagatzema hores.
- Timestamp: Emmagatzema una combinació de data i hora.
-
Indicadors:
- Indicador: Emmagatzema valors booleans (cert o fals).
Taula de Tipus de Dades
Tipus de Dada | Descripció | Exemple |
---|---|---|
Enter | Nombres enters | 10, -5, 0 |
Decimal | Nombres amb decimals | 3.14, -0.99 |
Zoned Decimal | Nombres decimals amb zones | 123.45 |
Caràcter | Cadenes de text | "Hola", "RPG" |
Gràfic | Dades gràfiques | "Imatge" |
Data | Dates | '2023-10-01' |
Hora | Hores | '14:30:00' |
Timestamp | Data i hora combinades | '2023-10-01-14.30.00' |
Indicador | Valors booleans | *ON, *OFF |
Declaració de Variables
Per utilitzar una variable en RPG, primer has de declarar-la. La declaració de variables defineix el tipus de dada que la variable pot emmagatzemar i, opcionalment, el seu valor inicial.
Sintaxi de Declaració
D
: Indica que estem declarant una variable.nomVariable
: El nom de la variable.S
: Indica que és una variable estàndard.tipusDada
: El tipus de dada de la variable.
Exemples de Declaració
D numEnter S 10I 0 D numDecimal S 7P 2 D textCadena S 50A D dataActual S D D horaActual S T D indicador S N
10I 0
: Enter de 10 dígits.7P 2
: Decimal amb 7 dígits, 2 dels quals són decimals.50A
: Cadena de caràcters de 50 caràcters.D
: Data.T
: Hora.N
: Indicador (booleà).
Assignació de Valors a Variables
Després de declarar una variable, pots assignar-li un valor utilitzant l'operador d'assignació (=
).
Exemples d'Assignació
numEnter = 25; numDecimal = 123.45; textCadena = 'Hola, món!'; dataActual = %date(); horaActual = %time(); indicador = *ON;
%date()
: Funció que retorna la data actual.%time()
: Funció que retorna l'hora actual.*ON
: Valor booleà que indica cert.
Exercicis Pràctics
Exercici 1: Declaració i Assignació
Declara les següents variables i assigna'ls-hi els valors corresponents:
- Un enter anomenat
edat
amb el valor30
. - Un decimal anomenat
salari
amb el valor2500.75
. - Una cadena de caràcters anomenada
nom
amb el valorJoan
. - Una data anomenada
dataNaixement
amb el valor1990-05-15
. - Un indicador anomenat
esActiu
amb el valor*ON
.
Solució
D edat S 10I 0 D salari S 7P 2 D nom S 50A D dataNaixement S D D esActiu S N edat = 30; salari = 2500.75; nom = 'Joan'; dataNaixement = d'1990-05-15'; esActiu = *ON;
Exercici 2: Càlculs Simples
Declara dues variables enteres a
i b
, assigna'ls-hi els valors 10
i 20
respectivament, i calcula la seva suma, emmagatzemant el resultat en una variable anomenada suma
.
Solució
Errors Comuns i Consells
- Error de Tipus de Dada: Assegura't que el valor assignat a una variable sigui compatible amb el seu tipus de dada.
- Noms de Variables: Utilitza noms de variables descriptius per millorar la llegibilitat del codi.
- Inicialització: Sempre inicialitza les variables abans d'utilitzar-les per evitar errors inesperats.
Resum
En aquesta secció, hem après sobre els diferents tipus de dades disponibles en RPG i com declarar i assignar valors a les variables. Aquests conceptes són fonamentals per a qualsevol programador RPG i seran la base per a temes més avançats en els següents mòduls.
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