Introducción a la programación

Tenemos otra estructura, fuertemente basada en la idea matem�tica de matriz, y que tiene el mismo nombre: matriz (o "array", para quien le guste m�s el ingl�s). Una matriz representa la idea de "tabla": una disposici�n de la informaci�n en forma de filas y columnas. Por ejemplo:

[     3   -4.5    0.1   ]
[   4.1    2      -1    ]

En este ejemplo tenemos una matriz formada por dos filas y tres columnas. El elemento de la posici�n (2,3) (fila 2, columna 3) es el -1.

Podemos entender las matrices como vectores cuyas componentes son vectores. De hecho, en casi todos los lenguajes de programaci�n, esto es as�. Seg�n este punto de vista, la matriz del primer ejemplo es un vector de dos elementos: el primero, el vector [ 3 -4.5 0.1 ], y el segundo, el vector [ 4.1 2 -1 ].

Para declarar una variable de tipo matriz escribiremos:

m: Array[1..N,1..M] de Tipo;

siendo N el n�mero de filas que tendr� la matriz, y M el n�mero de columnas. Para referirnos a la posici�n (i,j), usaremos la nomeclatura m[i,j]. Por ejemplo:

m: Array[1..3,1..5] de Entero;

m[2,3] <- 4;
m[1,5] <- -2;

No perder de vista la declaraci�n de una matriz: puede contener elementos de cualquier tipo. Enteros, reales, cadenas de caracteres, o tipos definidos por el usuario (estos los estudiamos en el cap�tulo siguiente).

Recorrer los elementos de una matriz requiere de un bucle dentro de otro bucle. �Por qu�? Pues porque, para cada fila que recorramos, tendremos que recorrer cada elemento de las columnas. As�, empezaremos entrando en la fila 1, y dentro de la fila 1 recorreremos los elementos 1 a M de que constan las columnas. Hecho esto, pasamos a la fila 2, y dentro de la fila 2 volvemos a recorrer los elementos 1 a M de las columnas. Siguiendo este proceso, acabaremos recorriendo todos los elementos de la matriz.

Por ejemplo, para sumar dos matrices (en el sentido matem�tico, teniendo en cuenta que entonces ser�n de tipo num�rico), tendremos que ir elemento a elemento sumando los valores que se encuentren en las posiciones (i,j). Es obvio que la suma de dos matrices s�lo tiene sentido cuando las matrices a sumar tienen el mismo n�mero de filas y de columnas.

Una algoritmo sencillo para sumar dos matrices, almacenando su suma en una tercera, ser�a:

 desde i <- 1 hasta i = N hacer
   desde j <- 1 hasta j = M hacer
     C[i,j] <- A[i,j] + B[i,j];
   fin desde
 fin desde

An�logamente realizar�amos la resta.

Tenemos una clara aplicaci�n de las matrices en el mundo de la programaci�n gr�fica. Las transformaciones de los puntos pueden representarse en t�rminos de unas ciertas matrices, y obtener la transformaci�n de un punto (una rotaci�n, una traslaci�n o un cambio de escala) consiste sencillamente en multiplicar las coordenadas del punto por la matriz correspondiente.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO