miércoles, 6 de abril de 2016

Capitulo 12: Small Basic, Arreglos. Parte 3


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






Gustavo J. Cerda Nilo

Septiembre 2015, última modificación Abril 2016

No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...