República Bolivariana De Venezuela

El Ministerio del Poder Popular para Educación Universitaria, Ciencia, Tecnología

Universidad Tecnología “Antonio José De Sucre”

Catedra: Programación II.

Arreglos/Matrices en Visual Basic
6.0

Integrante:

Carlos Santaella ci: 20805283

Puerto Ordaz 08/02

Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. aunque las más fáciles de imaginar son los de una. si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). se puede considerar que todas las matrices son de una dimensión. pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo). los elementos de la matriz. ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa. 1 . la dimensión principal. Por el contrario. lo que nos permite hablar de la existencia de matrices multidimensionales.Introducción: En programación se denomina matriz. vector (de una sola dimensión) o formación (en inglés array) a una zona de almacenamiento contiguo que contiene una serie de elementos del mismo tipo. En principio. dos y tres dimensiones.

Dim Vez(10) As Integer .... A(n).. En la mayoría de lenguajes de programación se usa el índice cero como primer índice de un array. Dim NúmerodeCoches(24) As Integer . 2. A(2). 24 estaríamos usando 0. empezando a contar desde la hora cero hasta la 23 (total de 24 horas). 2. 23. No obstante. 1. A través de ella se puede establecer como primer índice 2 . A(3). Dim Amigo(1000) As String .. 3. Dim Value(25) As Single . Ejemplos de declaración de arrays serían: . . .. .. Conviene tener cuidado con esto y seguir las mismas pautas que hemos indicado para las variables. Dim Jugador(8) As Long . en las versiones menos recientes de Visual Basic se permitía establecer como primer índice de un array el 1 mediante la instrucción Option Base. Disponer de un valor con índice cero puede ser de utilidad en situaciones como considerar cada variable asociada a una hora del día... Esto conviene tenerlo en cuenta porque puede dar lugar a alguna confusión. cosa que es habitual en algunos países.ARRAYS UNIDIMENSIONALES La sintaxis a emplear será: Dim [Nombre del array]([dimensión]) As [Tipo de variable] Si no se declara el tipo de variable el array será tipo Variant ó tipo Object (según la versión de Visual Basic que estemos empleando) por defecto. Dim TCP(3) As Boolean Cuando creamos un array del tipo A(n) podríamos pensar que estamos creando n variables que son A(1). Pero en realidad estamos creando n+1 variables porque Visual Basic crea también A(0). En lugar de 1.

Esto equivale a no poner nada (por defecto el primer índice será cero).del array el uno en vez de el cero en aquellas versiones que lo admiten.com Option Explicit Dim Numerodecoches(24) As Integer Private Sub Form_Load() Numerodecoches(0) = 14 MsgBox ("El número de coches en la hora cero fue " & Numerodecoches(0)) End Sub REM Curso Visual Basic aprenderaprogramar.com Option Explicit On 3 . Para ello se escribe en la cabecera del programa: Option Base 1 Option Base afecta a todos los arrays que se declaren. En la ventana de código escribe lo siguiente: Para versiones de VB menos recientes: Para versiones de VB más recientes: Rem Curso Visual Basic aprenderaprogramar. Vamos a trabajarlo sobre el ordenador. También podemos indicar que el primer índice de los arrays es cero escribiendo Option Base 0 en las versiones de Visual Basic que admiten esta instrucción.

Object. te aparecerá el mensaje "El número de coches en la hora cero fue 14". Otra opción que nos dan algunas versiones menos recientes de Visual Basic es tener un array de variables cuyos localizadores no comienzan en cero ni en uno. Efectivamente. sino en un número específico. ByVal e As System. Prueba a ejecutarlo y te aparecerá un mensaje del tipo: "Error en tiempo de ejecución. Visual Basic detecta la incoherencia y genera un error.Load Dim Numerodecoches(24) As Integer Numerodecoches(0) = 14 MsgBox("El número de coches en la hora cero fue " & Numerodecoches(0)) End Sub End Class Al ejecutar el código (Ctrl+F5). se debe a haber puesto un índice fuera del rango y ser los valores que puedes usar en el código como localizador de una variable del array los comprendidos entre 0 y 24. Public Class Form1 Private Sub Form1_Load (ByVal sender As System.EventArgs) Handles MyBase. Modifica el programa indicando Numerodecoches(29) = 14 en lugar de Numerodecoches(0) = 14. El subíndice está fuera del intervalo". Al estar usando la variable Numerodecoches(29). La sintaxis para ello en las versiones que lo permiten es: Dim [Nombre de variable]([Valor inicial] To [Valor final]) As [Tipo de variable] ARRAYS (ARREGLOS) MULTIDIMENSIONALES VISUAL BASIC 4 .

. La sintaxis será: Dim [Nombre del array]([dimensión1. 2) As Integer El número de elementos declarados se calcula teniendo en cuenta que la numeración de los índices empieza en cero. la matriz será de 3 filas (1. 2 = Francés. vector o matriz de una sola fila a la idea de matriz de m x n elementos. 2. 1. La declaración de dicha matriz sería: 5 . Si la versión de Visual Basic lo permite y fijamos Option Base en uno.. estructuras tridimensionales. array o arreglo de dos dimensiones a modo de ejemplo: queremos almacenar en una matriz el número de alumnos con que cuenta una academia ordenados en función del nivel y del idioma que se estudia.. 3 y tres columnas que son 0. dimensión2. Decimos que hay 4 filas que son 0. La declaración de una matriz tradicional de m x n elementos podría ser: Dim A(3.]) As [Tipo de variable] Si no se declara el tipo de variable el array será tipo Variant u Object (según la versión de Visual Basic que utilicemos) por defecto. con lo que el número de elementos será de 4 x 3 = 12. y 2. Tendremos 3 filas que representarán Nivel básico. medio o de perfeccionamiento y 4 columnas que representarán los idiomas (1 = Inglés.. 2 y 3) y dos columnas (1 y 2) siendo por tanto el número de elementos 3 x 2 = 6 Vamos a definir una matriz. pasando de la idea de lista. En las versiones más recientes de Visual Basic (o con Option Base fijado en cero) tendremos una fila cero y una columna cero para la matriz declarada. tetradimensionales. 1. aunque ya hemos comentado que en algunas versiones existe una cláusula denominada Option Base que permite fijar como primer índice de los arrays el uno. 3 = Alemán y 4 = Ruso). .Tal y como explicamos en su momento. será posible crear arrays con más de una dimensión. Conviene tener cuidado con esto y seguir las mismas pautas que hemos indicado para las variables.

1) = 7 Alumnosfxniveleidioma(1. 2) = 19 Alumnosfxniveleidioma(2. La representación gráfica que podríamos asociar a esta asignación de datos sería esta matriz: La organización de la información en matrices nos generará importantes ventajas a la hora del tratamiento de datos en nuestros programas. 4) = 1 Los elementos de índice cero no los estamos utilizando. 2) = 13 Alumnosfxniveleidioma(3. 4) = 2 Alumnosfxniveleidioma(3. Dim Alumnosfxniveleidioma(3. 2) = 14 Alumnosfxniveleidioma(1. 4) = 3 Alumnosfxniveleidioma(2. 3) = 8 Alumnosfxniveleidioma(1. 6 . 1) = 3 Alumnosfxniveleidioma(3. 1) = 6 Alumnosfxniveleidioma(2. aunque podríamos hacerlo si quisiéramos. 4) Podríamos asignar contenidos de la siguiente manera: Alumnosfxniveleidioma(1. 3) = 4 Alumnosfxniveleidioma(3. 3) = 7 Alumnosfxniveleidioma(2.

Varios siglos localizadores (hora. día. año y siglo) Nota: en este ejemplo estamos considerando que no vamos a usar los índices cero de los arrays. As Integer mes y año) Array de cinco Dim Nc(24. 2999. día. 31. 31. 31) As Integer día) Array de tres Dim Nc(24. pero podríamos hacerlo. Para ello tomaremos como ejemplo el conteo del número de coches que pasan por una vía en un periodo de tiempo. veamos casos de declaraciones con más de dos dimensiones. 12) As Varios meses localizadores (hora. 12. 2999) Varios años localizadores (hora. 21) As Integer mes. 12. 7 . de hecho es habitual. La forma de declarar esos array sería la siguiente (hemos considerado que usamos el tipo de datos Integer para almacenar la información): Declaración con Visual Duración del Basic Tipo de array conteo (Nc es Númerodecoches) Array de un localizador Un día Dim Nc(24) As Integer (hora) Array de dos Varios días localizadores (hora y Dim Nc(24. Integer día y mes) Array de cuatro Dim Nc(24.Para terminar en cuanto a multidimensionalidad. 31.