Arreglos Bidimencionales (Matrices)
Matrices
Este ejemplo sencillo nos sirve para ilustrar como declarar e inicializar los valores en un arreglo, y después como acceder a estos valores. Un arreglo es muy similar al concepto matemático de una matriz con una dimensión (para los ejemplos que acabamos de ver). Pero como veremos a continuación, los arreglos pueden tener más de una dimensión. Por ejemplo, para representar los valores de los balances de las cinco cuentas en el transcurso de 5 años necesitarías tres arreglos (uno por cada año, cada arreglo con cinco valores para el balance de cada año) o podrías usar una matriz con dos dimensiones. En programación este arreglo se le conoce arreglo de dos dimensiones. Los arreglos en Visual Basic pueden tener hasta 60 dimensiones (dimensiones, no elementos!), sin embargo mas de tres dimensiones es muy inusual.
Declarar un arreglo multidimencional es muy similar como declarar el de una dimensión. El siguiente ejemplo nos lo muestra:
Dim balance (2, 4) As Decimal
Esta declaración declara un arreglo de dos-dimensiones del tipo Decimal. El límite Superior de la primer dimensión es 2; el límite superior de la segunda dimensión es 4. Esto es muy similar a una matriz de 3X5 elementos, donde cada elemento de la matriz corresponde a un elemento del arreglo (un valor Decimal en nuestro ejemplo). Si necesitaras que tu arreglo tuviera mas dimensiones, los tamaños para las dimensiones se separan con una coma (,) exactamente como el ejemplo anterior. Un arreglo de tres dimensiones se miraría de la siguiente forma:
Dim coordenadas (9, 9, 9) As Double
Esto declara un arreglo de tres dimensiones, el limite superior de cada dimensión es 9 (un total de 1,000 elementos Dobles). Como puedes ver el tamaño del arreglo se incrementa muy rápido con arreglos multidimensionales, de tal manera que uno debe de ser cuidadoso cuando y como estos arreglos son usados.
Para acceder a un elemento de un arreglo de un arreglo multidimencional necesitas especificar un índice para cada dimensión del arreglo. En el caso de un arreglo de dos dimensiones podríamos usar el siguiente ejemplo:
Dim balance(2, 4) As Decimal
balance (0, 2) = 300
Este ejemplo le asigna el valor de 300 al índice (0,2). En el caso de un arreglo bidimensional (de dos dimensiones) puedes hacer una imagen en términos de renglones y columnas. Donde el primer índice corresponde a los renglones y el siguiente índice corresponde a las columnas. Este tipo de representación se vuelve menos intuitivo cuando manejamos arreglos de más de dos dimensiones, pero estos son casos raros.
¿Podrías inicializar un arreglo multidimencional en la misma forma en que inicializabas uno de una dimensión? La respuesta es Si, veamos como. Modifique el proyecto ejemplo que se usó anteriormente para que se vea de la siguiente forma:
Sub Main ()
Dim balance(,) As Decimal = {{100, 200, 300, 400, 250} , {100, 200, 300, 400, 250},{100, 200, 300, 400, 250},{100, 200, 300, 400, 250}}
Console.WriteLine(“El valor en el arreglo elemento 0,0 es {0}”, balance(0,0))
Console.WriteLine(“El valor en el arreglo elemento 0,1 es {0}”, balance(0,1))
Console.WriteLine(“El valor en el arreglo elemento 0,2 es {0}”, balance(0,2))
Console.WriteLine(“El valor en el arreglo elemento 0,3 es {0}”, balance(0,3))
Console.WriteLine(“El valor en el arreglo elemento 0,4 es {0}”, balance(0,4))
Dim b As Bolean
B= balance (0,0) <= 500
Console.WriteLine (“El valor b es {0}”, b)
Console.WriteLine(“Presiona
Console.ReadLine()
End Sub
De forma similar al arreglo de una sola dimensión, puedes utilizar la notacion para declarar un arreglo de un numero de dimensión conocida pero de tamaño desconocido, y después usar la palabra New para construir un arreglo y asignarlo a la variable declarada. Por ejemplo:
Dim balance (,) As Decimal
balance = New Decimal (2,4) {}
Este ejemplo crea un arreglo Decimal de dos dimensiones de 3X5.
El uso de arreglos de dos dimensiones es algo común.
Bibliografía: Visual Basic .Net By Example
páginas (119-125)