You are on page 1of 12

ARREGLOS Y VECTORES

Los Arreglos se utilizan para almacenar un conjunto de variables, que sean del mismo tipo de dato, y todas estas
bajo un mismo nombre.
Por ejemplo imaginemos que tenemos 4 variables de tipo String que almacenan nombres (nombre1, nombre2,
etc.). Si yo ahora quisiera pasar todas estas cadenas a mayúsculas tendría que utilizar la función Ucase con cada
variable, así:
nombre1 = Ucase (nombre1) nombre2 = Ucase (nombre2), etc.
En cambio sí utilizara un arreglo solucionaría mi problema, de esta manera:

Siguiendo el ejemplo anterior: en vez de escribir la sentencia UCase 4 veces para cada variable, hemos utilizado
un arreglo llamado nombres con un número de índice 4, es decir que almacena 4 datos de tipo String. Por
supuesto ese índice de 4 puede ser un número muchísimo mayor, según sea la necesidad.

1
DECLARACIÓN DE LOS ARREGLOS EN EL CÓDIGO
Para crear un arreglo se debe en primer lugar declararlo como cualquier otra variable, la única diferencia es que
debemos indicar la cantidad de elementos que contendrá el arreglo, colocando el número de índice entre
paréntesis. Observe los ejemplos:
Ejemplo 1:
La instrucción siguiente crea un arreglo de 16 elementos o
datos de tipo integer:

Ejemplo 2: La sentencia a continuación crea un arreglo de


11 elementos o datos de tipo String:

Como podemos ver en el primer ejemplo hemos declarado un arreglo llamado miArreglo y entre paréntesis hemos
declarado el rango de capacidad del mismo, es decir la cantidad de datos que podrá contener
El primer número, el 0, indica el límite inferior del mismo, y el número 15 indica el límite máximo del arreglo,
conformando de esta manera un arreglo que podrá almacenar 16 datos de tipo string.
En el segundo ejemplo, declaramos un arreglo de 11 elementos de tipo string. Como puedes ver, hemos indicado
solo un número que representa el valor máximo del mismo. Cabe aclarar que hemos puesto de índice el número
10, pero en realidad el arreglo contiene 11 elementos ya que cuando NO indicamos el límite inferior, se asume que
el mismo comienza desde el 0.
Importante: los arreglos se dividen en 2 grupos, los vectores y las matrices. Los vectores son arreglos que
contienen una sola dimensión y las matrices 2 o más dimensiones.

ACCEDER A LOS DATOS DE UN ARREGLO


Para acceder a los datos de un arreglo o
vector, debemos hacerlo mediante el índice o
número del elemento del mismo. Por ejemplo:

Primero declaramos un arreglo llamado


alumnos, de tipo string y que contendrá 4
elementos. Luego le asignamos un valor de
cadena como a cualquier otra variable de tipo
string, pero con la diferencia que para
referirnos al elemento utilizamos el n° de
índice del mismo.

Otro ejemplo:

En este último ejemplo, declaramos y


creamos un vector de 3 elementos que
contendrá el nombre de 3 países. Luego en
un bucle For utilizamos la función MsgBox
para mostrar los elementos del arreglo,
pasándole como parámetro del índice la
variable x del bucle For.

LAS MATRICES
Como se dijo anteriormente, las matrices son arreglos de más de 1 dimensión (2 o más), a diferencia de los vectores
que poseen una sola dimensión.
Podemos imaginar una matriz bidimensional (2 dimensiones), como una cuadrícula con filas y columnas, donde
las filas representarían las coordenadas x y las columnas las coordenadas y.
A una matriz de 3 dimensiones o tridimensional se la puede imaginar con las coordenadas x, y, z, y esta es ideal
para representar figuras en el espacio por ejemplo.
Las matrices se declaran en el código de manera igual que los vectores, con la diferencia que debemos indicar
más subíndices de acuerdo a la cantidad de dimensiones que posea la matriz. Por lo general no se suele
utilizar matrices de más de 3 dimensiones.

EJEMPLO DE MATRIZ DE 2 DIMENSIONES


Dada una Matriz bidimensional de 6 x 8 (de 2 dimensiones).

Si luego quisiera acceder a los datos de la misma basta con referirnos a


los subíndices. Por ejemplo:

El total de índices posibles para almacenar datos o valores en el ejemplo


anterior es de 48 datos, ya que si multiplicamos 6 x 8 nos da como total
48 valores posibles para utilizar en la matriz bidimensional.
En este otro ejemplo creamos una matriz de 3 dimensiones de 3 x 3 x 3:

Para acceder a los datos sería exactamente de la misma manera pero debemos
utilizar un índice más. Algunos ejemplos de acceso a los elmenetos de matriz cubo
serian:

En el ejemplo anterior, que es un poco extenso, es para que veas todos los posibles
valores que puedes almacenar en una matriz de 3 x 3 x 3, y que da como resultado
un arreglo de 27 valores posibles.

FUNCIÓN JOIN, SPLIT Y FILTER:


Visual Basic en su sexta versión incorpora estas 3 funciones para trabajar solo con vectores. Estas funciones están
relacionadas con el tratamiento de las cadenas de caracteres.

FUNCIÓN JOIN
Esta función se utiliza para unir en una sola variable el conjunto de subcadenas de un vector. Esta función tiene
solo 2 parámetros y es muy fácil de usar.

Ejemplo:
Ahora ejecutando Join, la variable micadena pasaría a valer
"Carlos-Pedro-Juan"
Nota: En el primer parámetro de la función debemos indicar el
vector en el cual trabajar, y en el segundo se debe indicar un
delimitador de carácter para separar las cadenas. Si no
especificamos ninguno, VB utilizará por defecto un
espacio vacío o en blanco (" ") para separar cada
subcadena .

FUNCIÓN SPLIT
Esta función hace el trabajo inverso de la función Join.
Split se utiliza para rellenar un vector dinámico que
contiene un número de subcadenas a partir de una
cadena que le pasamos como parámetro a la función.
Para aclarar un poco un ejemplo:

Nota: una cosa importante es que en el vector anterior


no se ha declarado un rango, ya que la función devuelve
un vector cuya cantidad de elementos se ignora, es decir
no se conoce.
FUNCIÓN FILTER
La función Filter se utiliza para filtrar subcadenas de un vector dependiendo de un determinado criterio de
búsqueda. Los parámetros que requiere la función son los siguientes:
Filter (vector donde buscar, cadena a buscar, valor booleano que indica si incluir o excluir la cadena) Ejemplo:

PRÁCTICA
Para esta práctica deberá crear una carpeta con el nombre de “Práctica3LP1”, en la cual va a guardar todos los
archivos de esta práctica y de análisis de resultados.

PARTE I: APLICACIÓN DE UN ARREGLO UNIDIMENCIONAL

Problema a Solucionar:
Realizar una aplicación de formularios Windows, que contenga un textbox en el cual se introduzcan 5 números,
estos deberán ser almacenadas dentro de un vector y se mostraran en una ListBox, esta aplicación a su vez debe
tener un botón que diga “Ordenar”, el cual deberá mostrar el vector ordenado en una segunda ListBox.
1. La Solución deberá ser similar a la siguiente pantalla en la Figura 1.1. Realice el cambio de propiedades de
los controles utilizados según la tabla indicada ahí.
N° Elemento Name Text
1 Label1 lblnumero Ingresar
Numero:
2 TextBox txtNum
3 Button1 btAgregar Agregar
4 Button2 btOrdenar Ordenar
5 ListBox1 lstdesorden
6 ListBox2 lstOrdenada
7 Form2 Ordenar

Figura 1.1: Diseño de formulario y controles a utilizar

2. Declaramos el vector matriz global (a nivel de la clase Form2) para que


almacene los números cada vez que le demos click al “btAgregar”

3. Digite el código detallado a continuación, en los evento y objetos


especificados:

Objeto Evento
btAgregar Click
btOrdenar Click

PARTE I: USO DE UNA MATRIZ DE 3X3

Problema a Solucionar:
Realizar una aplicación de formularios Windows, que permita almacenar el nombre, apellido y edad en una matriz
de 3x3. Dicha aplicación debe ser capaz de mostrar y limpiar los datos de la matriz, calcular el promedio de edades.
1. La Solución deberá ser similar a la siguiente pantalla en la Figura 1.2. Realice el cambio de propiedades de
los controles utilizados según la tabla indicada ahí.
Figura 1.2: Diseño de formulario y controles a utilizar

N° Elemento Name Text Items Enable


1 Form3 Formulario
2 GroupBox1 gbInformacon Informacion
3 GroupBox2 gbMatriz Matriz
4 GroupBox3 gbMantenimiento Mantenimientos
5 Label1 Lbtipo_info Tipo de información
6 Label2 Lbdig_info Digite la información
7 Label3 lbedad Edad
8 Label4 lbnombre Nombre
9 Label5 lbapellido Apellido
10 Label6 llbedad Edad
11 ComboBox1 cbtipoinfo Nombre
N° Elemento Name Text Items Enable
Apellido
12 TextBox1 txtInfo
13 TextBox2 txtEdad
14 TextBox3 nombre0 False
15 TextBox4 nombre1 False
16 TextBox5 nombre2 False
17 TextBox6 apel0 False
18 TextBox7 apel1 False
19 TextBox8 apel2 False
20 TextBox9 edad0 False
21 TextBox10 edad1 False
22 TextBox11 edad2 False
23 Button1 btAgregar &Agregar
24 Button2 btMostrar Mostrar Matriz
25 Button3 btLimpiar Limpiar Matriz
26 Button4 btPromedio Promedio
27 Button5 Salir

2. Declaramos la matriz global (a nivel de la clase Form2) para que almacene la información cada vez que
le demos click al “btAgregar”

3. Digite el código detallado a continuación, en los evento y objetos especificados:

Objeto Evento
txtInfo KeyPress

txtEdad KeyPress
btAgregar Click
btMostrar Click

btLimpiar Click
btPromedio Cick

4. Programe el botón Salir

EJERCICIOS A REALIZAR AL FINALIZAR PROCEDIMIENTO:

A. Modifique el ejemplo 1, para que el usuario pueda buscar un numero dentro del vector, si el numero es
encontrado debe decir en que posición del vector se encuentra de lo contrario mostrar un mensaje que no se
ha encontrado dicho número.

B. Realizar una aplicación de formularios Windows, la cual contenga un arreglo string de 2 dimensiones de 4 x
4, en la cual se almacenen los nombres de 16 alumnos, cuando ya estén ingresados los nombres de todos
los alumnos, por ejemplo buscar todos aquellos alumnos cuyo nombre comience con “Jo” y luego otra
búsqueda que muestre los alumnos que comienzan con “Ma”.

V. DISCUSION DE RESULTADOS

• Investigar a que se le denominan arreglos dinámicos.

• Investigar como poder vaciar o eliminar el contenido de los arreglos.

PROBLEMAS A RESOLVER:
Para los siguientes ejercicios, realizar un solo proyecto de Aplicación Windows, con la resolución de los
problemas en forms Distintos:

1. Hacer un programa para entrar valores en un array de 5 x 5, y luego muestre el resultado de sumar los
elementos más grandes de cada fila.
2. Las notas de un colegio se tienen en una matriz de 10 x 5 elementos (10, número de alumnos; 5, número
de asignaturas). Se desea listar las notas de cada alumno y su media. Cada alumno tiene como mínimo 2
asignaturas y máximo 5, aunque los alumnos no necesariamente todos tienen que tener 5 materias.

You might also like