En este tema, aprenderemos sobre los operadores y las expresiones en RPG. Los operadores son símbolos que indican al compilador que debe realizar una operación matemática, lógica o de manipulación de datos. Las expresiones son combinaciones de variables, constantes y operadores que se evalúan para producir un valor.

Tipos de Operadores

  1. Operadores Aritméticos

Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas.

Operador Descripción Ejemplo
+ Suma A + B
- Resta A - B
* Multiplicación A * B
/ División A / B
** Exponenciación A ** B

Ejemplo:

Dcl-S A Int(10);
Dcl-S B Int(10);
Dcl-S Result Int(10);

A = 10;
B = 5;

Result = A + B; // Result = 15
Result = A - B; // Result = 5
Result = A * B; // Result = 50
Result = A / B; // Result = 2
Result = A ** B; // Result = 100000

  1. Operadores de Asignación

Los operadores de asignación se utilizan para asignar valores a las variables.

Operador Descripción Ejemplo
= Asignación A = B
+= Suma y asignación A += B
-= Resta y asignación A -= B
*= Multiplicación y asignación A *= B
/= División y asignación A /= B

Ejemplo:

Dcl-S A Int(10);
Dcl-S B Int(10);

A = 10;
B = 5;

A += B; // A = 15
A -= B; // A = 10
A *= B; // A = 50
A /= B; // A = 10

  1. Operadores Relacionales

Los operadores relacionales se utilizan para comparar dos valores.

Operador Descripción Ejemplo
= Igual a A = B
<> No igual a A <> B
< Menor que A < B
> Mayor que A > B
<= Menor o igual que A <= B
>= Mayor o igual que A >= B

Ejemplo:

Dcl-S A Int(10);
Dcl-S B Int(10);
Dcl-S Result Ind;

A = 10;
B = 5;

Result = (A = B); // Result = *Off
Result = (A <> B); // Result = *On
Result = (A < B); // Result = *Off
Result = (A > B); // Result = *On
Result = (A <= B); // Result = *Off
Result = (A >= B); // Result = *On

  1. Operadores Lógicos

Los operadores lógicos se utilizan para combinar expresiones booleanas.

Operador Descripción Ejemplo
AND Y lógico A AND B
OR O lógico A OR B
NOT Negación lógica NOT A

Ejemplo:

Dcl-S A Ind;
Dcl-S B Ind;
Dcl-S Result Ind;

A = *On;
B = *Off;

Result = (A AND B); // Result = *Off
Result = (A OR B); // Result = *On
Result = (NOT A); // Result = *Off

Expresiones

Las expresiones en RPG son combinaciones de variables, constantes y operadores que se evalúan para producir un valor. Las expresiones pueden ser simples o complejas.

Ejemplo de Expresiones Simples

Dcl-S A Int(10);
Dcl-S B Int(10);
Dcl-S C Int(10);

A = 10;
B = 5;

C = A + B; // C = 15
C = A - B; // C = 5
C = A * B; // C = 50
C = A / B; // C = 2

Ejemplo de Expresiones Complejas

Dcl-S A Int(10);
Dcl-S B Int(10);
Dcl-S C Int(10);
Dcl-S D Int(10);

A = 10;
B = 5;
C = 2;

D = (A + B) * C; // D = 30
D = A + (B * C); // D = 20
D = (A - B) / C; // D = 2

Ejercicios Prácticos

Ejercicio 1

Escribe un programa que calcule el área de un rectángulo. El programa debe solicitar al usuario la longitud y el ancho del rectángulo y luego calcular y mostrar el área.

Solución:

Dcl-S Length Int(10);
Dcl-S Width Int(10);
Dcl-S Area Int(10);

Dsply 'Ingrese la longitud del rectángulo:';
In Length;

Dsply 'Ingrese el ancho del rectángulo:';
In Width;

Area = Length * Width;

Dsply ('El área del rectángulo es: ' + %Char(Area));

Ejercicio 2

Escribe un programa que determine si un número ingresado por el usuario es par o impar.

Solución:

Dcl-S Number Int(10);
Dcl-S Result Ind;

Dsply 'Ingrese un número:';
In Number;

Result = (Number % 2 = 0);

If Result;
  Dsply 'El número es par.';
Else;
  Dsply 'El número es impar.';
EndIf;

Conclusión

En esta sección, hemos aprendido sobre los diferentes tipos de operadores en RPG y cómo utilizarlos para crear expresiones. Los operadores aritméticos, de asignación, relacionales y lógicos son fundamentales para manipular y evaluar datos en tus programas. Practica con los ejercicios proporcionados para reforzar tu comprensión y prepárate para el siguiente tema, donde exploraremos las estructuras de control en RPG.

© Copyright 2024. Todos los derechos reservados