4 minute read

Arreglos y Multidimensionales en programacion

Next Article
Tipos de Dato

Tipos de Dato

ARREGLOS UNI Y MULTIDIMENSIONALES EN PROGRAMACIÓN.

Un arreglo unidimensional es un tipo de dato que permite almacenar un conjunto de datos homogeneos, es decir, del mismo tipo de dato. Al declararse el arreglo debe indicarse el tamaño, en ese momento el compilador reserva la memoria que se necesite para almacenar los datos solicitados por el programador.

Advertisement

El límite en la dimensión de los arreglos varía dependiendo del lenguaje de programación que se utilice, siendo el límite natural la memoria de la computadora.

Dim nombre As New tipoDato[tamaño]

Imaginese que un arreglo es como un conjunto de lockers. Cada locker tiene cierto tamaño para guardar objetos en él y todos son de las mismas dimensiones. Para diferenciar entre ellos e identificar uno en particular, cada locker posee un número único con el cual puede ser encontrado.

Un arreglo funciona de la misma forma. Al declararse se debe especificar el tamaño, es decir el número de localidades de memoria. Es como si se declararan muchas variables del mismo tipo al al mismo tiempo y asociadas todas ellas a un nombre en común. Por ejemplo, considere el caso de un profesor que desea tener una lista de calificaciones de cierto grupo. En ese grupo tiene 8 alumnos y las calificaciones son numéricas no necesariamente enteras. Esta es la lista de calificaciones. En este caso, podrían declararse 8 variables donde cada una contendría la calificación de cada alumno, pero esto resulta impráctico de muchas formas. Una de ellas ocurre si el grupo tuviera más alumnos habría que hacer muchas declaraciones y ademas la forma de acceder a los datos sería poco práctico. Por otro lado, si hubiera alumnos que se dan de baja entonces la lista disminuiría y habría que hacer cambios funcionales en el código que hayamos escrito. Este problema y otros más se pueden resolver con un arreglo.

Para este ejemplo declaremos un arreglo que se llame calificaciones, de tipo Single y de 8 localidades. Esto se haría con la siguiente línea de código.

Dim calificaciones As New Single[8]

Como puede obervar, el arreglo fue declarado como Single lo que significa que todas los contenedores dentro de el son del mismo tipo, es decir, son homogéneas. Para diferenciar las calificaciones, cada alumno debe tener un número de lista.

Observe que la numeración de las localidades del arreglo comienza en 0, quizá lo más natural para un humano sería comenzar la numeración de las lolcalidades de memoria desde 1 hasta 8, pero se comienza en 0 debido a la manera como están numeradas las localidades de memoria en las computadoras y se hace de esta forma en la gran mayoría de los lenguajes de programación. Cada una de las localidades actúa entonces como una variable independiente de las demás, por esa razón puede ser leída y/o modificada sin afectar a las demás. Lo que tienen en común las variables en los contenedores, es que son del mismo tipo y que pertenecen al mismo arreglo, en este caso el arreglo calificaciones. Por ejemplo, observe el programa a continuación y trate de entender como funciona.

PUBLIC SUB MAIN() DIM CALIFICACIONES AS NEW SINGLE[8]

CALIFICACIONES[0] = 6.8 CALIFICACIONES[1] = 8.3 CALIFICACIONES[2] = 10.0 CALIFICACIONES[3] = 9.5 CALIFICACIONES[4] = 4.5 CALIFICACIONES[5] = 7.7 CALIFICACIONES[6] = 9.4 CALIFICACIONES[7] = 10.0

En este programa declaramos un arreglo llamado calificaciones tipo Single de 8 posiciones. Luego se le asignan a todas las lolcalidades todos los valores de la tabla mostrada anteriormente.

Arreglos Multidimensionales

Un arreglo puede tener tantas dimensiones como el usuario lo requiera. El camino más natural para comprenderlos es comenzar con los arreglos de dos dimensiones e ir aumentando la cantidad de dimensiones. Formalmente definimos un arreglo bidimensional de la siguiente manera: "Un arreglo bidimensional es una colección finita, homogénea y ordenada de datos, en la que se hace referencia a cada elemento del arreglo por medio de dos índices. El primero de los índices se utiliza para indicar la fila y el segundo para indicar la columna. " Para el caso de dos dimensiones es natural asociarlo con una matriz, y por tanto en filas y columnas. Cuando son tres o más dimensiones es complicado pensar en una asociación sencilla sin embargo en general se debe tener un índice para cada dimensión que se haya declarado en el arreglo. Si continuamos con la analogía de los lockers, podemos asociar un arreglo de dos dimensiones con un conjunto de lockers del mismo tamaño acomodados en forma filas y columnas.

En este caso considere que para identificar un locker en específico se puede utilizar su posición en la fila y en la columna. En este caso se puede incrementar la cantidad de lockers si aumenta el número de filas y/o columnas. Por esta razón es que en un arreglo multidimensional se necesita de un índice por cada dimensión. Entonces, para el caso de una matriz dimensional se necesitan dos índices, uno para los renglones y otro para las columnas. La sintaxis para declarar un arreglo multidimensional es la siguiente:

Dim nombre As New tipoDato[tamañoDimensión1, tamañoDimensión2, ..., tamañoDimensiónN]

El espacio que los arreglos ocupan en memoria se reserva en el momento de realizar la declaración de los mismos. A continuación se presentan diferentes ejemplos de declaración de arreglos multidimensionales, con su explicación correspondiente.

PUBLIC SUB MAIN()

DIM A AS NEW INTEGER[5, 10] 'ARREGLO BIDIMENSIONAL TIPO INTEGER: 5 FILAS Y 10 COLUMNAS

DIM B AS NEW FLOAT[5, 5] 'ARREGLO BIDIMENSIONAL TIPO FLOAT: 5 FILAS Y 5 COLUMNAS

DIM C AS NEW BYTE[3, 5, 7] 'ARREGLO DE TRIDIMENSIONAL TIPO BYTE

DIM D AS NEW STRING[10, 10, 2, 9] 'ARREGLO 4 DIMENSIONES TIPO STRING

END

This article is from: