¡Descubre Cómo Declarar Arreglos Unidimensionales en Visual Basic y Domina la Programación!post-template-default single single-post postid-46 single-format-standard et_pb_button_helper_class et_fixed_nav et_show_nav et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter et_pb_gutters3 et_right_sidebar et_divi_theme et-db
771 715 4434

Existen problemas como la predicción del clima o los sismógrafos, los cuales requieren para su solución manipular grandes cantidades de datos. Para poder solucionar estos problemas con la computadora es conveniente almacenar los datos en estructuras que faciliten su proceso. Un arreglo es un conjunto finito y ordenado de elementos homogéneos.

Un arreglo está formado por un conjunto de elementos del mismo tipo de datos, identificados bajo un mismo nombre, donde cada elemento es identificado por un índice. Los arreglos pueden tener una o varias dimensiones. Una matriz es un conjunto de valores, que se denominan elementos, que están relacionados lógicamente entre sí. Los arrays son colecciones de datos que agrupan una serie de variables del mismo tipo.

Es posible usar variables individuales para almacenar cada uno de nuestros elementos de datos. Por ejemplo, si nuestra aplicación analiza las calificaciones de los alumnos, podemos usar una variable independiente para la calificación de cada alumno, como englishGrade1, englishGrade2, etc. El control de un gran número de calificaciones puede convertirse rápidamente en una tarea bastante engorrosa. Es difícil mantenerlo. Mediante el uso de una matriz, puede hacer referencia a estos valores relacionados por el mismo nombre y usar un número denominado índice o subíndice para identificar un elemento individual en función de su posición en la matriz. Los arreglos son una estructura de datos que contiene elementos del mismo tipo, a los cuales se accede mediante un índice.

Concepto de Arreglo en Visual Basic

Los arrays, arreglos o mejor conocidos como vectores (o matrices) que son conocidas por algunos como vectores multidimensionales forman parte también de las cosas que podíamos usar en VB6. Si bien la forma en que se almacenan en la memoria y la forma en que podemos hacer algunas acciones con estas en Visual Basic 2010 ha cambiado un poco, de igual manera la forma en que podemos usarlas es idéntica a VB6. En Visual Basic 2010 la declaración de un array, arreglo o vector la hacemos de la misma forma que en Visual Basic 6 aunque como veremos un poco más adelante algunos detalles cambiaron y es importante tenerlos en cuenta a la hora de declararlos.

Declaración de Arreglos Unidimensionales

Cuando creamos un array se reserva automáticamente memoria, al iniciar un array debemos indicar su tipo y tamaño, este tamaño no puede variar durante la ejecución. El tamaño debe ser un número entero positivo. Cuando se usa la sintaxis de Visual Basic para definir el tamaño de una matriz, se especifica su índice más alto, no el número total de elementos de la matriz.

Lea también: IVA 21% Excel

Como podemos apreciar, luego de la cláusula «Dim», especificamos el nombre con el cual se identificará nuestro arreglo, seguido de la dimensión y «As» detallando el tipo de dato que contendrá; luego procedemos a llenar nuestro Array. Si no se declara el tipo de variable el array será tipo Variant o tipo Object (según la versión de Visual Basic que estemos empleando) por defecto. Conviene tener cuidado con esto y seguir las mismas pautas que hemos indicado para las variables. Recuerda también que usar una declaración tipo Dim A, B As Integer no sería válida porque supondría que A queda declarada como tipo Variant o tipo Object.

La students matriz del ejemplo anterior es una matriz unidimensional porque usa un índice.

El Índice de los Arreglos

El índice es el número de cada celda que forma el arreglo. Los índices de una matriz oscilan entre 0 y uno menor que el número total de elementos de la matriz. El índice de cada dimensión se basa en 0, lo que significa que oscila entre 0 y su límite superior.

Cuando creamos un array del tipo A(n) podríamos 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 también A(0). Esto conviene tenerlo en cuenta porque puede dar lugar a alguna confusión. Tal como ocurre en VB6, al realizar esta declaración lo que conseguimos es definir un array de 11 elementos: desde cero hasta 10. Disponer de un valor con índice cero puede ser de utilidad en situaciones como considerar cada variable asociada a una hora del día, empezando a contar desde la hora cero hasta la 23 (total de 24 horas), cosa que es habitual en algunos países.

En la mayoría de lenguajes de programación se usa el índice cero como primer índice de un array. No obstante, 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. A través de ella se puede establecer como primer índice del array el uno en vez de el cero en aquellas versiones que lo admiten. Option Base afecta a todos los arrays que se declaren. 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. Esto equivale a no poner nada (por defecto el primer índice será cero).

Lea también: Guía IVA reducido

Inicialización de Arreglos

Con un literal de matriz, se puede rellenar una matriz con un conjunto inicial de valores al mismo tiempo que se crea. Cuando se crea una matriz mediante un literal de matriz, puede proporcionar el tipo de matriz o usar la inferencia de tipo para determinar el tipo de matriz. Solo puede usar la inferencia de tipos para matrices que se definen como variables locales en un miembro de tipo. Si no existe una definición de tipo explícita, las matrices definidas con literales de matriz en el nivel de clase son de tipo Object[]. Como podemos ver en el el código que colocamos anteriormente, creamos un array llamado «paises» y lo hemos llenado con el nombre de 5 países.

Acceso y Manipulación de Elementos

El acceso a los valores de un arreglo se hace mediante su índice. Durante la ejecución de un programa se puede asignar o modificar el valor de algún elemento de un arreglo (asignación) o la recuperación (lectura) de algún valor. Puede acceder a cada ubicación de una matriz mediante un índice de tipo Integer. Puede almacenar y recuperar valores en una matriz haciendo referencia a cada ubicación de matriz mediante su índice entre paréntesis.

Ejemplo Práctico de Acceso

Declara un array tipo Integer denominado Numerodecoches cuyo número de elementos sea 24. Declara una variable tipo Integer que se llame R. En el procedimiento de carga del formulario establece el valor de R en 2 y el valor de Numerodecoches para un localizador de valor R en 233. Procede a mostrar en pantalla un mensaje que indique cuál es la hora R y el número de coches para la hora R. Si lo ejecutamos obtendremos "El número de coches en la hora 2 fue 233".

Al ejecutar el código, te aparecerá el mensaje "El número de coches en la hora cero fue 14". Si modificamos el programa indicando Numerodecoches(29) = 14 en lugar de Numerodecoches(0) = 14 y probamos a ejecutarlo, te aparecerá un mensaje del tipo: "Error en tiempo de ejecución. El subíndice está fuera del intervalo". Efectivamente, 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 23 para un array de 24 elementos. Nota: usamos Numerodecoches(23) en lugar de Numerodecoches(24) porque el número de elementos es uno más que el declarado debido a que se cuenta el cero.

Recorrido de Arreglos

Al recorrer en iteración una matriz, se accede a cada elemento de la matriz desde el índice más bajo hasta el más alto o desde el más alto hasta el más bajo. Para recorrer un array usamos un bucle, donde lo único que variaremos será la posición. Normalmente, use For...Next Statement o For Each...Next Statement para recorrer los elementos de una matriz. Cuando no conoce los límites superiores de la matriz, puede llamar al método Array.GetUpperBound para obtener el valor más alto del índice. Recuerda restar una unidad a la longitud del array en el bucle.

Lea también: ¿Cómo localizar tus XML del SAT?

Arreglos Dinámicos

Hasta ahora, vimos arreglos estáticos, cuyo tamaño se determinaba en el momento de la declaración. Sin embargo, VB.NET también soporta arreglos dinámicos. Como su nombre sugiere, los arreglos dinámicos son aquellos que pueden ser dimensionados y redimensionados según sea necesario. Si tiene una matriz existente, puede redefinir su tamaño mediante la instrucción ReDim. Puede especificar que la instrucción ReDim mantiene los valores que están en la matriz o puede especificar que crea una matriz vacía. Cuando se usa ReDim para redimensionar una array, Visual Basic crea una nueva array y libera la anterior. Esto tarda tiempo de ejecución.

Consideraciones Adicionales

Cada matriz tiene un tipo de datos, que difiere del tipo de datos de sus elementos. No hay ningún tipo de datos único para todas las matrices. En su lugar, el tipo de datos de una matriz viene determinado por el número de dimensiones, o rango, de la matriz y el tipo de datos de los elementos de la matriz. Dos variables de matriz son del mismo tipo de datos solo cuando tienen la misma clasificación y sus elementos tienen el mismo tipo de datos. Cada array hereda de la clase System.Array y puede declarar una variable para que sea de tipo Array, pero no puede crear una array de tipo Array. La instrucción ReDim no puede funcionar en una variable declarada de tipo Array. Puede llamar al método GetType de la variable para obtener un objeto Type que representa el tipo en tiempo de ejecución de la variable.

Visual Basic diferencia entre una matriz sin inicializar (una matriz cuyo valor es Nothing) y una matriz de longitud cero o una matriz vacía (una matriz que no tiene elementos). Una matriz sin inicializar es una que no se ha dimensionado ni tiene ningún valor asignado. Una matriz de longitud cero se declara con una dimensión de -1.

tags: #como #declarar #un #arreglo #unidimensional #en