Arreglos (Arrays)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
La computadora guarda los
distintos tipos de datos de una forma lógica de tal manera que pueda
encontrar los valores de forma rápida y eficiente. La forma como son
guardados los datos se llama estructura de los datos, de aquí el término de datos
estructurados. La variable, usada en las unidades anteriores, es
una manera de estructurar datos, al igual que el archivo (estructura
consistente en una secuencia de componentes del mismo tipo, normalmente un
record) y el record (estructura formada por un número fijo o variable
de elementos, denominados campos, que pueden ser de diferentes tipos de
datos, pero todos ellos representan el record como un todo). La sintaxis de la estructura de un record
para almacenar una fecha, por ejemplo en Pascal, sería: Type fecha = record Dia : 1 .. 31; Mes : (en, feb, .., dic); Year : (1990 .. 2010); End El valor de estas variable se
guarda en un lugar específico, previamente declarado, de la memoria. Estas son
las estructuras de datos más simples. Otro tipo de estructuras de datos o de
datos estructurados es el arreglo o array. Se conoce como arreglo
o array cuando se designa más de una localización de la memoria para
el nombre una sola variable. A los arreglos también se les conoce como tablas,
término proveniente de los negocios, donde los datos se colocan en las celdas
de la tabla. Es una gran ventaja poder guardar muchos valores para la misma
variable en la memoria principal o interna de la computadora, porque así se
aumenta el tiempo de procesamiento. Este múltiple almacenamiento significa
que el nombre de una variable tiene más de una localización en la memoria de
la computadora. Los arreglos se utilizan con
mucha frecuencia en el proceso de solución de problemas. Un programador que
tiene muchos valores de datos de un mismo estilo –muchas edades,
temperaturas, nombres, etc.– puede guardarlos en la computadora en forma de
un arreglo, permitiendo una lectura y un uso más fácil. El programador
también puede usar los valores de un arreglo para apuntar a los valores de
otro arreglo (se conoce comoTécnica del Puntero, pues el valor de un
elemento en el primer arreglo apunta a otro elemento en el segundo arreglo).
Sin los arreglos esta tarea se haría muy tediosa. El programador utiliza el
arreglo cuando en la solución de un problema hay que utilizar más de un valor
en una variable—por ejemplo, cuando se calcula el porciento de ventas de cada
tienda de una compañía que tiene varias tiendas. La venta de las tiendas es
una variable que tiene más de un valor, un valor por cada tienda. El programador dice a la
computadora cuántas localizaciones de memoria necesita para guardar en un
arreglo mediante una instrucción especial o al momento de definir los tipos
de datos. El número de localizaciones de memoria donde se guarda es igual o
mayor al número de localizaciones usadas en la solución. Si es menor al
número de localizaciones usadas, tira un error. Hay dos clases de arreglos,
el estático y el dinámico. En el arreglo estático no puede cambiarse
el número de localizaciones a no ser que se cambien las instrucciones. En el arreglo
dinámico, usado por algunos lenguajes, el programador asigna el número de
localizaciones como una variable, que puede expandirse o reducirse durante la
ejecución de la solución; este arreglo es más flexible y usa menos espacio de
memoria que el estático, pero consume más tiempo durante el proceso. Cada localización de la
memoria se llama un elemento, al que se le asigna un número o números correspondientes
a la posición de la localización en el arreglo. Este número es un número de
referencia relativo a la localización del primer valor del arreglo. El nombre
del elemento tiene dos partes. La primera parte es el nombre de la variable;
la segunda parte es el número de referencia, conocido también como index
number o element number entre paréntesis (corchetes en Pascal). AGE(5) En el siguiente arreglo la
variable a contiene un arreglo de diez valores enteros: En Pascal a:
array [1...10] of integer o en FORTRAN INTEGER
a(10) Algunos lenguajes inician el
primer elemento del arreglo con cero, en lugar del uno. Se
recomienda, si el lenguaje lo permite, empezar el arreglo con el uno, de tal forma
que coincida el primer elemento del arreglo con el número 1 y no con el 0. No es necesario usar el
arreglo en un orden especial. Los datos usados como valores de los elementos
han de tener el mismo tipo de dato tal como fue identificado al nominar la
variable del arrgelo. En la instrucción asignada (forma de variable), puede
asignarse el valor de una constante, una variable o una expresión a un
elemento. La estructura más simple es
el arreglo unidimensional, que consiste de una columna de
localizaciones de memoria. El siguiente arreglo es un arreglo unidimensional
llamado AGE. Los elementos dados del arreglo son similares a los nombres de
referencia, dado que el primer elemento (con el dato 32) es la caja 1 (en
lugar de 0) del arreglo. Los nombres de referencia se escriben como AGE(1),
AGE(2), y así sucesivamente. El número entre paréntesis es sólo un número de
referencia y puede ser una constante, una variable o una expresión.
AGE(5) tiene que ser el
quinto elemento del arreglo AGE. En la mayoría de los lenguajes los números
de referencia tiene que ser tipos de datos enteros. Aquí se usarán sólo
enteros como index number. Entre los arreglos
unidimensionales se encuentran los arreglos paralelos, que son dos o
más arreglos donde los valores pertenecientes al mismo elemento se relacionan
unos con otros. En el siguiente ejemplo, el
primer arreglo contiene el número del área, el segundo la temperatura del día
1, y el tercero las temperaturas del día 2. Los datos en el primer elemento
del segundo y tercer arreglo pertenencen a la misma área del primer elemento
del primer arreglo; los datos del segundo elemento de los arreglos dos y tres
pertenencen al área del segundo elemento del primer arreglo, y así
sucesivamente. Estos arreglos se llaman paralelos porque el mismo número del
elemento en todos los arreglos tiene datos que pertenencen a la misma
materia.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||