Diario de un programador.-
Dia 32
Arreglos
multidimensionales
Los
arreglos también permiten añadirles más de un índice. Cuando un arreglo tiene
más de un índice, se le conoce como arreglo multidimensional, siendo el arreglo
de dos índices el de uso más común, el cual es conocido como matriz.
La
sintaxis para un arreglo de dos dimensiones o matriz es la siguiente:
arreglo[][]
Una
matriz se caracteriza por estar formada por filas y columnas. Aquí un ejemplo:
For fila = 1 To 10
For columna = 1 To
10
matriz[fila][columna] =
"/\"
TextWindow.Write(matriz[fila][columna])
EndFor
TextWindow.WriteLine("")
EndFor
Diario de un programador.-
Día 33
Una
matriz normalmente se refiere a una tabla compuesta por filas y columnas, algo
muy parecido a una tabla de Excel
En
muchos lenguajes de programación, los arreglos empiezan en el elemento cero,
como se muestra a continuación esta matriz de 3 x 3 (3 filas y 3 columnas)
En
esta matriz de 3 x 3, el primer elemento corresponde al 0,0(fila 0, columna 0)
luego el siguiente elemento es el 0,1 luego el 0,2 luego el 1,0 luego el 1,1 y
así hasta llegar al último elemento o casilla identificada con el índice 2,2
En
Small Basic, los arreglos y por ende las matrices, empiezan en elemento 1,1 de
esta forma
Por
lo tanto, una matriz de 3x3 en Small Basic finaliza en el elemento 3,3. Quizás
está hecho de esta forma para facilitar el aprendizaje, ya sabemos que la
finalidad de este lenguaje es no complicar las cosas.
Sigamos
con el ejemplo de una matriz de 3x3. En Small Basic quedaría así:
For a = 1 To 3
For b = 1 To 3
matriz[a][b] = 0
EndFor
EndFor
Con
ese código, se puede completar la matriz de 3 x 3, rellenándola con ceros
Esto
sucede debido al for anidado que ahí se encuentra, en cada ciclo va llenando
cada una de las casillas de la matriz. Para visualizar eso mejor, mira el siguiente
ejemplo:
For
a = 1 To 3
For b = 1 To 3
TextWindow.WriteLine(a + "," + b)
EndFor
EndFor
Este
código muestra exactamente los mismos números correspondiente a cada casilla
Para
graficarlo mejor como una matriz, voy a realizar un salto de línea justo cuando
termine el ciclo for interior y a cambiar el writeLine por un write, con la
finalidad de que el texto se imprima uno junto al otro… de esta manera:
For a = 1 To 3
For b = 1 To 3
TextWindow.Write(a
+ "," + b + " ")
EndFor
TextWindow.WriteLine("")
EndFor
Volviendo al código anterior…
For
a = 1 To 3
For b = 1 To 3
matriz[a][b] = 0
EndFor
EndFor
Se
puede apreciar que en la matriz, quedó rellenada con ceros. Para poder mostrar
su contenido, se puede hacer en forma individual, mostrando el contenido de
cada casilla haciendo referencia a su ubicación de esta forma:
For a = 1 To 3
For b = 1 To 3
matriz[a][b] = 0
EndFor
EndFor
TextWindow.WriteLine(matriz[1][2])
(Recordar
que toda la matriz está rellenada con ceros)
Ahora,
si queremos mostrar todo el contenido de la matriz, entonces lo haremos de la
misma manera en que se almacenaron los datos, o sea, con un for anidado dentro
de otro.
For a = 1 To 3
For b = 1 To 3
matriz[a][b] = 0
EndFor
EndFor
For a = 1 To 3
For b = 1 To 3
TextWindow.Write(matriz[a][b])
EndFor
TextWindow.WriteLine("")
EndFor
Esto es todo por ahora, hasta la próxima
No hay comentarios:
Publicar un comentario