Vous êtes sur la page 1sur 4

Arreglos unidimensionales en visual basic

El concepto de array con Visual Basic coincide con el que se expone en el curso Bases de
la programacin nivel I de aprenderaprogramar.com en pseudocdigo. Veremos ahora
cmo declarar arrays estticos de una dimensin. La gestin de arrays multidimensionales y
dinmicos la veremos ms adelante.
ARRAYS UNIDIMENSIONALES
La sintaxis a emplear ser:
Dim [Nombre del array]([dimensin]) As [Tipo de
variable]
Si no se declara el tipo de variable el array ser tipo Variant tipo Object (segn la versin
de Visual Basic que estemos empleando) por defecto. Conviene tener cuidado con esto y
seguir las mismas pautas que hemos indicado para las variables. Ejemplos de declaracin
de arrays seran:
-

Dim Vez(10) As Integer

Dim Amigo(1000) As String

Dim Value(25) As Single

Dim NmerodeCoches(24) As Integer

Dim Jugador(8) As Long

Dim TCP(3) As Boolean

Cuando creamos un array del tipo A(n) podramos pensar que estamos creando n variables
que son A(1), A(2), A(3), ..., A(n). Pero en realidad estamos creando n+1 variables porque
Visual Basic crea tambin A(0). Esto conviene tenerlo en cuenta porque puede dar lugar a
alguna confusin. Disponer de un valor con ndice cero puede ser de utilidad en situaciones
como considerar cada variable asociada a una hora del da, empezando a contar desde la
hora cero hasta la 23 (total de 24 horas), cosa que es habitual en algunos pases. En lugar de
1, 2, 3, ..., 24 estaramos usando 0, 1, 2, ..., 23.
En la mayora de lenguajes de programacin se usa el ndice cero como primer ndice de un
array. No obstante, en las versiones menos recientes de Visual Basic se permita establecer
como primer ndice de un array el 1 mediante la instruccin Option Base. A travs de ella
se puede establecer como primer ndice del array el uno en vez de el cero en aquellas
versiones que lo admiten. Para ello se escribe en la cabecera del programa:

CLARA ESPINOZA

11 DE JULIO 2016

- ING WALTER CHACON

ARREGLOS BIDIMENSIONALES EN VISUAL BASIC


Tal y como explicamos en su momento, ser posible crear arrays con ms de una
dimensin, pasando de la idea de lista, vector o matriz de una sola fila a la idea de matriz de
m x n elementos, estructuras tridimensionales, tetradimensionales... La sintaxis ser:
Dim [Nombre del array]([dimensin1, dimensin2, ...]) As [Tipo de variable]

Si no se declara el tipo de variable el array ser tipo Variant u Object (segn la versin de
Visual Basic que utilicemos) por defecto. Conviene tener cuidado con esto y seguir las
mismas pautas que hemos indicado para las variables. La declaracin de una matriz
tradicional de m x n elementos podra ser:
Dim A(3, 2) As
Integer
El nmero de elementos declarados se calcula teniendo en cuenta que la numeracin de los
ndices empieza en cero, aunque ya hemos comentado que en algunas versiones existe una
clusula denominada Option Base que permite fijar como primer ndice de los arrays el
uno. En las versiones ms recientes de Visual Basic (o con Option Base fijado en cero)
tendremos una fila cero y una columna cero para la matriz declarada, con lo que el nmero
de elementos ser de 4 x 3 = 12. Decimos que hay 4 filas que son 0, 1, 2, 3 y tres columnas
que son 0, 1, y 2. Si la versin de Visual Basic lo permite y fijamos Option Base en uno, la
matriz ser de 3 filas (1, 2 y 3) y dos columnas (1 y 2) siendo por tanto el nmero de
elementos 3 x 2 = 6
Vamos a definir una matriz, array o arreglo de dos dimensiones a modo de ejemplo:
queremos almacenar en una matriz el nmero de alumnos con que cuenta una academia
ordenados en funcin del nivel y del idioma que se estudia. Tendremos 3 filas que
representarn Nivel bsico, medio o de perfeccionamiento y 4 columnas que representarn
los idiomas (1 = Ingls, 2 = Francs, 3 = Alemn y 4 = Ruso). La declaracin de dicha
matriz sera:

Dim Alumnosfxniveleidioma(3, 4)
Podramos asignar contenidos de la siguiente manera:
Alumnosfxniveleidioma(1,

CLARA ESPINOZA

1)

11 DE JULIO 2016

- ING WALTER CHACON

Alumnosfxniveleidioma(1,
Alumnosfxniveleidioma(1,
Alumnosfxniveleidioma(1,
Alumnosfxniveleidioma(2,
Alumnosfxniveleidioma(2,
Alumnosfxniveleidioma(2,
Alumnosfxniveleidioma(2,
Alumnosfxniveleidioma(3,
Alumnosfxniveleidioma(3,
Alumnosfxniveleidioma(3,
Alumnosfxniveleidioma(3,

2)
3)
4)
1)
2)
3)
4)
1)
2)
3)
4)

=
=
=
=
=
=
=
=
=
=
=

14
8
3
6
19
7
2
3
13
4
1

Los elementos de ndice cero no los estamos utilizando, aunque podramos hacerlo si
quisiramos.
La representacin grfica que podramos asociar a esta asignacin de datos sera esta
matriz:

La organizacin de la informacin en matrices nos generar importantes ventajas a la hora


del tratamiento de datos en nuestros programas.
Para terminar en cuanto a multidimensionalidad, veamos casos de declaraciones con ms de
dos dimensiones. Para ello tomaremos como ejemplo el conteo del nmero de coches que
pasan por una va en un periodo de tiempo. La forma de declarar esos array sera la
siguiente (hemos considerado que usamos el tipo de datos Integer para almacenar la
informacin):

Duracin del
conteo

CLARA ESPINOZA

Tipo de array

11 DE JULIO 2016

Declaracin con Visual


Basic

- ING WALTER CHACON

(Nc es Nmerodecoches)
Un da

Array de un localizador
(hora)

Dim Nc(24) As Integer

Varios das

Array de dos
localizadores
(hora y
da)

Dim Nc(24, 31) As Integer

Varios meses

Array de tres
localizadores
(hora, da y
mes)

Dim Nc(24, 31, 12) As


Integer

Varios aos

Array de cuatro
localizadores (hora, da,
mes y ao)

Dim Nc(24, 31, 12, 2999) As


Integer

Varios siglos

Array de cinco
localizadores (hora, da,
mes, ao y siglo)

Dim Nc(24, 31, 12, 2999, 21)


As Integer

Nota: en este ejemplo estamos considerando que no vamos a usar los ndices cero de los
arrays, pero podramos hacerlo, de hecho es habitual.
Veamos lo que sera un ejemplo de programa con array multidimensional, en este caso
usando un tipo String.

CLARA ESPINOZA

11 DE JULIO 2016

- ING WALTER CHACON

Vous aimerez peut-être aussi