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:

  1. 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.
  2. Caràcter:

    • Caràcter: Emmagatzema cadenes de text.
    • Gràfic: Emmagatzema dades gràfiques.
  3. Data i Hora:

    • Data: Emmagatzema dates.
    • Hora: Emmagatzema hores.
    • Timestamp: Emmagatzema una combinació de data i hora.
  4. 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 nomVariable     S             tipusDada
  • 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:

  1. Un enter anomenat edat amb el valor 30.
  2. Un decimal anomenat salari amb el valor 2500.75.
  3. Una cadena de caràcters anomenada nom amb el valor Joan.
  4. Una data anomenada dataNaixement amb el valor 1990-05-15.
  5. 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ó

D a               S             10I 0
D b               S             10I 0
D suma            S             10I 0

a = 10;
b = 20;
suma = a + b;

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.

© Copyright 2024. Tots els drets reservats