Rexx - matrices
Las matrices en cualquier lenguaje de programación le permiten agrupar una lista de valores del mismo tipo. El uso de matrices es que le permite construir una lista de tipos similares de valores que sonsortable, searchable y puede ser easily manipulated. Rexx también permite definir matrices. Estas matrices pueden ser unidimensionales o multidimensionales.
Las matrices de Rexx pueden ser escasas. Es decir, no todas las posiciones de la matriz deben tener un valor o incluso estar inicializadas. Puede haber posiciones de matriz vacías, o ranuras, entre las que contienen elementos de datos. O las matrices pueden ser densas, en las que las ranuras de matriz consecutivas contienen elementos de datos.
En muchos lenguajes de programación, debe preocuparse por cuál es el subíndice de la primera entrada en una tabla. ¿El primer subíndice numérico es 0 o 1? En Rexx, el primer subíndice es lo que use. Entonces, ingrese el primer elemento de la matriz en la posición 0 o 1 como prefiera.
array_name.0 = ‘first element’
o
array_name.1 = ‘first element’
Veamos las diferentes operaciones disponibles para matrices.
Crear matrices
Las matrices se crean con la misma convención de nomenclatura que se usa para las variables en Rexx.
La sintaxis general para crear matrices es la siguiente:
Arrayname.index = value
dónde
Arrayname - Este es el nombre proporcionado a la matriz.
Index - Esta es la posición de índice en la matriz para referirse a un elemento específico.
Value - Este es el valor asignado al elemento de índice en la matriz.
Un ejemplo de una declaración de matriz es el siguiente:
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
Se deben tener en cuenta los siguientes puntos sobre el programa anterior:
- El nombre de la matriz se da como lista
- Hay 3 elementos de la matriz que se inicializan con el valor de 0.
Asignar valores a un elemento de matriz
Los valores se pueden reasignar a los elementos de la matriz de la misma manera que se inicializan los elementos de la matriz.
El siguiente programa es un ejemplo de valores que se pueden asignar a varios valores de índice de una matriz existente.
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
/* Assigning new values to the array*/
list.1 = 10
list.3 = 30
Visualización de valores de una matriz
Los valores de una matriz se pueden mostrar haciendo referencia a la posición de índice del elemento de la matriz. El siguiente ejemplo muestra cómo acceder a varios elementos de la matriz.
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
/* Assigning new values to the array*/
list.1 = 10
list.3 = 30
say list.1
say list.2
say list.3
La salida del programa anterior será la siguiente:
10
0
30
Copiar matrices
Todos los elementos de una matriz se pueden copiar en otra matriz. La sintaxis general de esto es la siguiente:
Newarray. = sourcearray.
dónde
Newarray - Esta es la nueva matriz en la que se deben copiar los elementos.
Sourcearray - Esta es la matriz de origen desde la que se deben copiar los elementos.
Un ejemplo de cómo se pueden realizar las operaciones de copia para arrays se muestra en el siguiente programa:
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
/* Assigning new values to the array*/
list.1 = 10
list.3 = 30
listnew. = list.
say listnew.1
say listnew.2
say listnew.3
La salida del programa anterior será:
10
0
30
Iterando a través de elementos de matriz
Los elementos de una matriz también se pueden iterar utilizando las declaraciones iterativas disponibles en Rexx. Un ejemplo de cómo se puede hacer esto es el siguiente:
Example
/* Main program */
list.1 = 10
list.2 = 20
list.3 = 30
number_of_elements = 3
do j = 1 to number_of_elements
say list.j
end
Deben tenerse en cuenta los siguientes consejos sobre el programa anterior:
los do loop se utiliza para recorrer los elementos de la matriz.
La variable number_of_elements se utiliza para almacenar el número de elementos de la matriz.
los variable j se utiliza para recorrer en iteración cada elemento de la matriz.
La salida del programa anterior será:
10
20
30
Matrices bidimensionales
También se mencionó que podemos construir matrices multidimensionales en Rexx. Veamos un ejemplo de cómo podemos implementar una matriz bidimensional.
Example
/* Main program */
list.1 = 10
list.1.1 = 11
list.1.2 = 12
say list.1
say list.1.1
say list.1.2
La salida del programa anterior se mostrará de la siguiente manera:
10
11
12
Debe tenerse en cuenta el siguiente punto sobre el programa anterior:
Para crear una matriz multidimensional, podemos usar otra capa de indexación. Entonces, en nuestro ejemplo, usamoslist.1.1 para crear otra matriz interna para el valor de índice 1 de la matriz de lista.