Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre los arrays tambien conocidos como arreglos o matrices dependiendo del autor, pero que es un Array?

Anuncios

En realidad es una version muy particular de una variable porque tiene la habilidad de almacenar multiples valores con distintas posiciones para poder recuperarlos, puede sonar algo complejo pero una vez que se le toma el truco se convierten en algo muy sencillo.

Anuncios

Los arrays pueden ser de dos tipos: estaticos o dinamicos, los de tipo estaticos son arrays que tienen un tamaño fijo en cambio los dinamicos se van incrementando a medida que lo necesitan, se definen de la siguiente manera:

Tipo estatico:

dim nombreArray(tamaño)
Tipo dinamico:

dim nombreArray()
Anuncios

En este caso podemos ver que se definen de la forma que una variable, con la palabra dim, pero la diferencia esta que le agregaremos dos parentesis, que en el caso de estatico tendra un valor, puede ser cualquiera, y en el caso del dinamico solo sera los parentesis para indicarle al lenguaje que es un array pero el tamaño se acomodara a medida que se va llenando.

Anuncios

Los arrays a su vez pueden ser de multiples dimensiones, el mas comun que veran es el de una dimension:

arreglo (0) = 1
arreglo (1) = 2
Anuncios

Donde primero ira el nombre de la variable, o del array mejor dicho, la posicion donde se almacenara, en este caso es 0, y despues del igual el valor que guardaremos ahi, si ven el caso anterior al segundo valor que agregamos le asignamos la posicion 1, y asi se deberia hacer sucesivamente, el valor a almacenar puede ser alfanumerico, es decir tanto numeros como texto, despues tendremos arrays bidimensionales:

arreglo (0,0) = 1
arreglo (0,1) = 2
Anuncios

A diferencia del anterior ahora tenemos dos posiciones, esto nos permitira almacenar mas informacion, por ejemplo tomen estos casos como si fueran un tablero de ajedrez y la primera posicion corresponderia a la columna y la segunda a la fila, entonces con estas dos coordenadas podriamos almacenar informacion para ser recuperada bajo algunas circunstancias, asi como este se pueden hacer de todas las dimensiones que necesitemos, en el uso general no utilizaran mas alla de la bidimensional, y rara vez, en general se manejaran con la unidimensional pero de esto ya lo veremos mas adelante, para entender un poco el concepto vamos a hacer un simple ejemplo:

array.vbs

dim arreglo(5)
dim texto

arreglo(0) = "Martin Miranda"
arreglo(1) = "Marta Gargaglione"
arreglo(2) = "Enzo Tortore"
arreglo(3) = "Javier Marcuzzi"
arreglo(4) = "Ariel Polizzi"
arreglo(5) = "Raul Picos"

for a = 0 to 5
	texto = texto & arreglo(a) & chr(10)
	msgbox texto
next
Anuncios

Este es un ejemplo sencillo donde creamos una array de 6 elementos llamado arreglo y una variable llamada texto, despues completamos cada una de las posiciones con el nombre del array (arreglo), entre parentesis la posicion y el valor para la misma, despues usamos un bucle for que cuenta de 0 a 5, en el cuerpo del bucle agregaremos a texto el valor del array, en este caso la posicion del array la asignaremos por medio del bucle for, y lo mostraremos en pantalla a medida que se agregan

Nota: El tamaño para el array fue de 5 porque comienza desde cero, es decir que va a tener 6 posiciones, tengan esto siempre en mente.
Anuncios

Como pueden ver los arrays son variables muy particulares, para el siguiente caso vamos a trabajar con un array bidimensional y para ello vamos a tomar el ejemplo anterior y lo vamos a modificar de la siguiente manera:

dim arreglo(1,5)
dim texto

arreglo(0,0) = "Martin" 
arreglo(1,0) = "Miranda"
arreglo(0,1) = "Marta" 
arreglo(1,1) = "Gargaglione"
arreglo(0,2) = "Enzo" 
arreglo(1,2) = "Tortore"
arreglo(0,3) = "Javier" 
arreglo(1,3) = "Marcuzzi"
arreglo(0,4) = "Ariel" 
arreglo(1,4) = "Polizzi"
arreglo(0,5) = "Raul" 
arreglo(1,5) = "Picos"

for a = 0 to 5
	apellido = arreglo(1,a)
	nombre = arreglo(0,a)
	texto = texto & apellido &  ", " & nombre & "  " & chr(10)
next

msgbox texto,,"Devolucion del Array"
Anuncios

Un ejemplo simple creamos una array de dos dimensiones con un valor inicial de una dimension de 2 y otra de 6, recuerden que comienzan con 0, asignamos los valores correspondientes, vean como la primera dimension siempre va a ser entre 0 y 1, en cambio la otra va a ir desde 0 hasta 5, esto equivaldria a la siguiente tabla

01
0MartinMiranda
1MartaGargaglione
2EnzoTortore
3JavierMarcuzzi
4ArielPolizzi
5RaulPicos
Anuncios

Las coordenadas de nuestro array serian similar a esto, donde las columnas van de 0 a 1, y las filas de 0 a 5, hagan la comparacion y van a ver las coincidencias, una vez establecido los valores, vamos a un bucle for que contara de 0 a 5, en el vamos a usar dos variables, una llamada nombre y otra apellido, en nombre usaremos el array: arreglo(0, a) porque sabemos que todos los nombres estan en la columna cero, y lo que vamos a variar es la fila, apellido en cambio es: arreglo(1, a) al igual que el caso anterior los apellidos estan en la columna 1, y tambien lo unico que variamos son las filas, por cada ciclo lo asignamos el valor a la variable que corresponda y estos valores a su vez lo agregamos a texto, una vez que terminamos lo mostramos en pantalla

Observen como pudimos hacer un listado mas homogeneo con respecto al primero, se pueden agregar mas dimensiones para almacenar mas datos, y hacer como una especie de base de datos pero yo les recomiendo no manejarse mas alla de estas porque se vuelven muy complejas y no se usan siempre, en general van a usar las unidimensionales.

Anuncios

Si bien los arrays pueden ser estaticos en realidad siempre son dinamicos porque si nosotros superamos el limite establecido, el lenguaje automaticamente aumentara el tamaño del mismo para adaptarse pero una practicidad de establecer un tamaño inicial es permitirle al lenguaje ya saber la cantidad de memoria que debe asignar para este array, y no depender de estar monitoreando para aumentarlo o no.

Anuncios

En resumen, hoy hemos visto arrays, como son, para que se usan, como se declaran, para que se pueden usar, cuales son sus beneficios, que facilidades nos proveen, cual es su utilidad mas importante y cual es la diferencia entre estaticos y dinamicos, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes comprar mi libro sobre VBscript en Amazon

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00