¿Qué es una Matriz o Arreglo?
Cuando necesitamos manejar muchos datos, generalmente hay soluciones más efectivas que tener muchas variables. Por ejemplo, si hay que guardar 10 números, resultará incómodo usar 10 variables llamadas n1, n2, n3, n4, n5, n6, n7, n8, n9, n10; si se trata de 100 números, puede pasar de resultar incómodo a ser totalmente inviable. La palabra "matriz" es una traducción del inglés "array".
Las estructuras de datos como listas y matrices son herramientas clave en programación para organizar y manejar conjuntos de datos relacionados. Una lista, arreglo o array es una estructura que permite almacenar varios elementos relacionados bajo un mismo nombre. Mientras las listas almacenan sólo un valor en cada posición, las matrices permiten guardar múltiples elementos en cada índice. Un punto importante al trabajar con pseudocódigo es que las matrices solo permiten datos del mismo tipo en todas sus posiciones.
Una vez visto el tema de vectores en Pseint, es hora de pasar al siguiente nivel que son los arreglos bidimensionales o las llamadas matrices. Cuando hablamos de matrices en el mundo de la programación te puedes imaginar una tabla con filas y columnas que contiene los mismos tipos de datos. En sí es como tener una reunión de vectores o arreglos, uno debajo del otro.
Representación Conceptual de una Matriz
Como puedes observar, una matriz está compuesta de columnas y filas, y sus posiciones se establecen siempre mencionando primero la fila y segundo la columna. Esto se puede evidenciar en la posición m[2][1] en el siguiente esquema, la cual indica que el objeto está en la fila 2 y la columna 1.
| Columna 1 | Columna 2 | Columna 3 | |
|---|---|---|---|
| Fila 1 | m[1][1] | m[1][2] | m[1][3] |
| Fila 2 | m[2][1] | m[2][2] | m[2][3] |
| Fila 3 | m[3][1] | m[3][2] | m[3][3] |
Por otra parte, se puede observar que la matriz contiene elementos de tipo carácter.
Lea también: IVA 21% Excel
La Declaración de una Matriz en Pseudocódigo
Una "declaración de matriz" asigna un nombre a la matriz y especifica el tipo de sus elementos. También puede definir el número de elementos de la matriz. El primer formulario define una variable de matriz.
La sintaxis general para la declaración de una matriz implica especificar el tipo de dato, el nombre de la matriz y sus dimensiones. El constant-expression argumento entre corchetes especifica el número de elementos de la matriz. Si constant-expression está presente, debe tener un tipo entero y un valor mayor que cero. Cada elemento tiene el tipo proporcionado por type-specifier, que puede ser cualquier tipo excepto void.
Un formato común en pseudocódigo para declarar una matriz podría ser: tipo NombreMatriz [ No. filas ][No. columnas]
Por ejemplo, en algunos lenguajes, una instrucción puede declarar el tipo y el nombre de una matriz de punteros a char como: char *mensajes[5]. Sin embargo, en pseudocódigo, para una matriz de caracteres, lo simplificaríamos a Caracter Mensajes[5].
Matrices Multidimensionales
Cada constant-expression uno de los corchetes define el número de elementos de una dimensión determinada: las matrices bidimensionales tienen dos expresiones entre corchetes, matrices tridimensionales tienen tres, etc.
Lea también: Guía IVA reducido
Una MATRIZ o arreglo bidimensional es un arreglo de arreglos, que representan una tabla, tiene filas y columnas. En este caso tenemos una matriz de dimensión (o tamaño) M x N, donde M es el número de filas y N el número de columnas. Cada elemento de la matriz tiene asignado una posición denotada por su fila y su columna.
Es importante saber que las matrices se almacenan por fila. Por ejemplo, las tres columnas de la primera fila se almacenan primero, seguidas de las tres columnas de la segunda fila.
Acceso y Recorrido de Elementos de una Matriz
El Acceso a los elementos de una Matriz es fundamental para su manipulación. Para la impresión de una matriz y el ingreso de datos es necesario usar los índices definidos anteriormente, junto a la estructura de control "para". Como una matriz puede contener muchos datos, es frecuente recorrerlas de forma repetitiva, empleando una orden "para".
Para recorrer una matriz de manera efectiva, primero debemos ingresar un (para) que recorra las filas y luego dentro de este, ingresamos otro (para) que se encargará de recorrer las columnas. Al momento de insertar un dato este debe ser del mismo tipo que se ha definido inicialmente en la matriz.
Un aspecto a considerar en entornos como Pseint es que las filas y columnas de una matriz siempre inicializarán en 1. Si lo haces en cero marcará un error. Por lo tanto, recuerden siempre inicializar los contadores en 1 para recorrer matrices y a su vez trabajar con el mismo tipo de dato en la matriz.
Lea también: ¿Cómo localizar tus XML del SAT?
Ejemplos Prácticos de Uso de Matrices
A continuación, se presentan algunos ejemplos de problemas donde el uso de matrices es esencial:
- Algoritmo para leer una matriz de 10 x 10 y determinar la posición [f][c] del número mayor almacenado en la matriz.
- Haz un programa que pida al usuario 7 números enteros y calcule (y muestre) cuál es el mayor de ellos. Nota: para calcular el mayor valor de una matriz, hay que comparar cada uno de los valores que tiene almacenados con el que hasta ese momento es el máximo provisional.
- Crea un programa que pida al usuario dos bloques de 10 números cada uno (usando un array de dos dimensiones).
- Realizar un programa que permita almacenar números reales en una matriz de orden 4x3, 4 filas y tres columnas.
- Llenar una matriz de F*C e imprimirla desde el último elemento al primero (desde (F,C) a (1,1).
- Escribir un algoritmo que llene una matriz de F*C, eleve al cuadrado todos sus elementos y los almacene en una nueva matriz.
- Algoritmo para leer una matriz de 6x8 y que almacenen toda la matriz en un vector.
Estos ejemplos demuestran la versatilidad de las matrices para organizar y manipular conjuntos de datos de manera eficiente en el diseño de algoritmos.
