Empleo de arreglo de variables Un arreglo o matriz es una colección de valores que se almacenan con un único nombre permitirá procesar sus valores asociados de forma invidual o como grupo, utilizando un bucle For….Next o Do. Creación de un array Es necesario declarar los arreglos. Si un arreglo se declara de forma local podrá ser utilizado únicamente en el procedimiento donde haya sido declarado, pero si se pubilca de manera pública enel módulo estándar podrá ser utilizado en cualquier parte del programa. Nota: Array de tamaño fijo: Contienen un número fijo de elementos. Array dinámico: Contienen un número variable de elementos (expanden su tamaño durante la ejecución del programa). Información contenida en la instrucción de declaración de un array: Nombre del array: Nombre del array en el programa. Tipo de Dato: Tipo de dato que almacenará el array. Número de dimensiones: 1 dimensión una lista de valores, 2 dimensiones una tabla de valores o más una matriz tridimensional. Número de elementos: Los elementos contenidos en el array se corresponden con su índice. El primer índice del array es el 0. Declaración de un array fijo Sintáxis: Public NombreArray(ElementoDim1, ElementoDim2….) As TipoDato Public crea un array público o global NombreArray nombre asignado al array ElementoDim1 es el número de elementos contenidos en la primera dimensión del array. ElementoDim2 es el número de elementos contenidos en la segunda dimensión del array. TipoDato Tipo de dato incluído en el array Nota: Si quieres declarar un arreglo local, se debe de sustituir la palabra Public por Static y colocarlo en el procedimiento en donde se utilizará el arreglo. Ejemplo: Si se quiere declarar un arreglo unidimensional de rótulos denominados Empleados que pueda almacenar hasta 10 nombres de empleados, se deberá introducir la siguiente declaración: Public Empleados (9) As String Ya que le arreglo comienza desde el 0. Para declarar un arreglo bidimensional llamado Marcador que cuente con el espacio para almacenar 2 filas y 9 columnas de datos del tipo variante, se debe de introducir la siguiente instrucción: Public Marcador (1,8) As Variant Este será el espacio reservado en memoria RAM: 0 1 2 3 4 5 6 7 8 0 1 Para hacer referencia a los elementos de un array se debe de utilizar el nombre del array y el índice del elemento encerrado entre parántesis. La siguiente instrucción asignará el valor de Arturo al elemento 5 del array de Empleados: Empleados (5)=”Arturo” De igual forma, la siguiente instrucción asignará el número 4 a la fila 0 columna 2 al array Marcador: Marcador (0,2) = 4 Estas técnicas de indexación asignan o recuran el valor contenido en cualquier elemento del array. Práctica Diseño del formulario Recuerda que la instrucción Option Base podemos a hacer que el primer elemento del arreglo sea 1 y no 0 como lo establece Visual Basic por defecto. Esta sentencia asocia el número 1 con el primer elemento de todos los arrays que se definan en el programa. Objeto Command1 Command2 Command3 Form1 Propiedad Caption Name Caption Name Caption Name Caption AutoRedraw Valor Introducir Temperaturas cmdIntroducirTemps Mostrar Temperaturas cmdMostrarTemps Para utilizar el método Print y así mostrar información en el Salir formulario. cmdsalir Temperaturas True 1. Ahora en el menú Proyecto, ejecuta el mandato Agregar módulo, y pulsa Abrir para crear un módulo estándar donde se declarará el array. En la ventana código aparecerá un módulo estándar. 2. Escribe las siguientes instrucciones en el modulo estándar: Option Base 1 Public Temperaturas(7) As Variant 3. Cierra la ventana de código del módulo estándar e inserte el siguiente código al proyecto: Private Sub cmdMostrarTemps_Click() Print "Temperaturas máximas de la semana:" Activa cada uno de los Print elementos contenidos en For i% = 1 To 7 el arreglo y calcula el total Print "Día "; i%, Temperaturas(i%) de todas las temperaturas Total! = Total! + Temperaturas(i%) Next i% Muestra la información almacenada en el array Print Print "Media de las temperaturas máximas: "; Total! / 7 End Sub Private Sub cmdIntroducirTemps_Click() Cls Indicador$ = "Introducir la temperatura más alta." For i% = 1 To 7 Título$ = "Día " & i% Temperaturas(i%) = InputBox(Indicador$, Título$) Next i% End Sub Borra cualquier instrucción Print previa del formulario Índice del Array (contador) Caja que recibirá la entrada de datos Private Sub cmdSalir_Click() End End Sub Creación de un array dinámico ¿Qué ocurre cuando no se sabe con anticipación el tamaño del arreglo que necesita utilizar? Será necesario usar los arreglos dinámicos, cuyo tamaño se define en tiempo de ejecución. Pasos para crear arrays dinámicos: 1. En el diseño se ha de especificar el nombre y el tipo del array omitiendo el número de elementos de que constará el array. Si se quiere crear un array público y dinámico se escribe la siguiente instrucción: Public Temperaturas () As Variant 2. Añada el código para determinar, en tiempo ejecución, el número de elementos que deberá contener el array: a) Puedes preguntar al usuario usando un InputBox b) Puedes calcular la dimensión del array en función de ciertos parámetros proporcionados por el programa. Ejemplo: Días = InputBox(“¿Cuántos días?”, “Crear array”) Obtenemos el tamaño del array directamente del usuario y lo asignará a la variable Días. 3. Usa la variable ReDim para fijar el tamaño del Array: ReDim Temperaturas(Días) Esta instrucción define el tamaño del Array Temperaturas en tiempo de ejecución utlizando la variable Días. 4. Usa el número obtenido como extremo superior de un bucle For…Next para trabajar con los elemento del Array. For i% = 1 To Días Temperaturas( i%)=InputBox(Indicador$,Titulos$) Next i% For…Next utiliza la variable Días como límite superior del bucle. TAREA: MODIFIQUE EL PROGRAMA ANTERIOR Y ESTABLEZCA QUE SEA EL USUARIO QUIEN INTRODUZCA EL NÚMERO DE TEMPERATURAS QUE SE DESEAN ALMACENAR. VERIFIQUE QUE EL NÚMERO DE DÍAS SEA MAYOR QUE 0 .