Introducción
Muy a menudo, cuando se trabaja con cualquier información, debe tratar con datos tabulares. Los programas modernos muy a menudo trabajan con tales datos. El ejemplo más simple es la programación de juegos en un tablero de ajedrez: tres en raya, ajedrez, damas, etc.

En matemáticas, tales estructuras se denominan matrices.
 
Una matriz es una tabla rectangular formada por elementos del mismo tipo (números, cadenas, etc. .)< /div>
Dichos datos en Pascal se pueden almacenar y procesar como matrices bidimensionales: "matrices de matrices".
Para procesar los datos en la tabla, es necesario recordar el estado de cada celda (celda). Cada celda tiene dos números: un número de fila y un número de columna.
En la matriz, cada elemento tiene dos índices: primero se indica el número de fila, luego el número de columna. La numeración de filas y columnas comienza desde cero.
Por ejemplo, el elemento A[1][2] es el elemento ubicado en la segunda fila y la tercera columna.

Al igual que con los arreglos ordinarios (listas), para trabajar con matrices, debe aprender a crearlas, ingresarlas, procesarlas y mostrarlas.
 
Creación de matrices
Tarea
Crea en la memoria una matriz del tamaño dado llena de ceros.

Para crear una matriz correctamente, debe obligar al compilador a crear todas las cadenas en la memoria como objetos diferentes.
Para hacer esto, primero debe crear una matriz vacía, luego especificar la cantidad de filas en la matriz y luego especificar la cantidad de elementos en cada fila usando el método setLength() en un bucle: norte := 3 METRO := 2 establecerLongitud(A, N); para i := 0 a N - 1 hacer   establecerLongitud(A[i], M);

 

Llenar una matriz con valores arbitrarios
Después de crear una matriz, puede llenarla con valores arbitrarios. Dado que cada elemento tiene dos índices, es necesario utilizar bucles anidados para i := 0 a N empiezan para j := 0 a M empiezan A[i][j] := ...   fin; fin;  
Mostrando la matriz

Por lo general, se utilizan dos bucles anidados para procesar y mostrar la lista. El primer ciclo es por el número de línea, el segundo ciclo es por los elementos dentro de la línea.
Para mostrar la matriz línea por línea, separando los números con espacios dentro de una línea, necesita escribir el siguiente fragmento:

for i := 0 to length(A) - 1 do begin // length(A) - devuelve el número de filas en la matriz A     for j := 0 to length(A[i]) - 1 do // length(A[i]) - devuelve el número de elementos en la cadena i         escribe(a[i][j], ' ');     escribirln(); // hacer una nueva línea después de que se muestre la línea fin;

Lo mismo, pero los ciclos no son por índice, sino por valores de lista (el bucle for puede iterar sobre todos los elementos de la lista (matriz), cadena):

for row in a do begin // iterar sobre todas las filas de la matriz a     for elem in row do // recorre todos los elementos de la fila         escribir(elemento, ' ');     escribirln(); fin;

Llenar una matriz con valores desde el teclado

Deje que el programa reciba una matriz bidimensional como entrada, en forma de n líneas, cada una de las cuales contiene m números separados por espacios. Puede guardar dichos datos en una matriz bidimensional como esta:

leer (n, m); establecer longitud (a, n); para i:= 0 a n - 1 empiezan     establecerlongitud(a[i], m);     for j := 0 to m - 1 do read(a[i][j]); fin;

Cada elemento de la matriz tiene dos índices, por lo que debe usar un bucle anidado para iterar sobre todos los elementos.
Por lo general, una matriz se itera fila por fila: el ciclo externo itera sobre los índices de fila, mientras que el ciclo interno itera sobre los índices de columna.
Pero si es necesario, puede iterar sobre la matriz y las columnas, luego los ciclos se invierten.