Está en la página 1de 5

Unidad 6: Arreglos: Unidimensionales y multidimensionales

Ing. Nahiby Castillo


1
ARREGLOS
Introduccin
Primero que todo, es importante conocer el concepto de estructura de datos. Una estructura
de datos es "una coleccin de datos organizados de un modo particular." Las estructuras de
datos pueden ser de dos tipos: estticas y dinmicas.
Las estructuras de datos estticas son aquellas a las que se le asigna una cantidad fija de
memoria cuando se declara la variable. Las estructuras de datos dinmicas son aquellas
cuya ocupacin de memoria puede aumentar o disminuir durante el tiempo de ejecucin.
Entre las estructuras de datos estticas podemos encontrar los vectores y los arreglos, tema
que estudiaremos a continuacin.

Concepto de Arreglo
Un array (se suele traducir como arreglo) es una estructura de datos en la que se almacena
una coleccin de datos del mismo tipo, por ejemplo, los salarios de los empleados de una
empresa.
Un array es una lista de un nmero determinado de elementos del mismo tipo. Se caracteriza
por:
Almacenar los elementos del array en posiciones de memoria continua.
Tener un nico nombre de variable (por ejemplo salarios) que represente a todos los
elementos. stos a su vez se diferencian por un ndice o subndice.
Se puede accesar directa o aleatoriamente los elementos del array.

ARRAYS UNIDIMENSIONALES: LOS VECTORES
Un array de una dimensin (unidimensional), tambin llamado vector o fila, es un tipo de
datos estructurado compuesto de un nmero determinado de elementos, de tamao fijo y
elementos homogneos (del mismo tipo). La caracterstica de tamao fijo se refiere a que el
tamao del array debe ser conocido en tiempo de compilacin.
Por ejemplo, si deseamos conservar las puntuaciones de los 50 estudiantes de un examen
de informtica, se necesita reservar cincuenta posiciones de memoria, dar un nombre al
arreglo y a cada uno de los 50 estudiantes asignarles una posicin o ndice del arreglo.
Unidad 6: Arreglos: Unidimensionales y multidimensionales
Ing. Nahiby Castillo
2

Declaracin de un array o vector
Siempre se deben declarar luego de las constantes (si existen). Un array o vector se declara
por medio del tipo de array. La sintaxis es la siguiente:
Type
Nombre_array = array [rango del subndice] of tipo;
Nombre_array: Se refiere a un nombre de identificador vlido.
Tipo_subndice: Puede ser boolean, char o un rango de tipo enumerado.
Tipo: Se refiere al tipo de los elementos del vector. Todos los elementos deben ser del
mismo tipo.

Ejemplos:
Type
X = array [1..8] of real;
Type
Luces = (Rojo, Verde, mbar);
Type
DiasDeSemana=(Lunes, Martes, Mircoles, Jueves, Viernes, Sabado, Domingo);
ConjuntoDias = array
Type
Salarios = array [A..Z] of real;
Unidad 6: Arreglos: Unidimensionales y multidimensionales
Ing. Nahiby Castillo
3
(En este caso es de tipo real porque el salario es de ese tipo. El subndice indica que los
salarios van de los empleados cuya inicial es A hasta la Z).

Las declaraciones de tipo array no crean ninguna variable especfica de tipo array, sino que
proporciona informacin del array como un todo.

Para declarar una variable tipo array, se utiliza la siguiente sintaxis:
Type
Valores = array [1..10] of real;
Var
Precios: Valores;

Primeramente se crea el tipo del array y luego se declara la o las variables referenciadas al
array.

Lectura y escritura de un vector
Lectura
Para leer un vector se debe hacer elemento a elemento y se requiere de alguna estructura
repetitiva, ya sea un while, repeat o for.
Ejemplos:
I := 1; I := 1; For I:= 1 to n do
While I <= 100 do Repeat Readln(Notas[I]);
Begin Read (Notas[I]);
Read (Notas [I]); I := I + 1
I := I+1 Until I > 100
End;

Escritura
Para visualizar un vector, igualmente, es necesario situarlo dentro de una estructura
repetitiva.
For I := 1 to Numero do
Writeln (Notas [I]:3);
Writeln; (* Evita que todas las salidas del vector aparezca en la misma lnea *).
Unidad 6: Arreglos: Unidimensionales y multidimensionales
Ing. Nahiby Castillo
4
ARRAYS BIDIMENSIONALES: TABLAS O MATRICES
Un array bidimensional (tambin llamado tabla o matriz) es un array con dos ndices. Al igual
que los vectores deben ser ordinales. Se declaran de igual manera que los arrays de una
dimensin.

Declaracin de un array bidimensional
Al igual que en los arrays unidimensionales o vectores, se crean con declaraciones type y
var y deben ser de tipo ordinales o subrango. Se deben indicar:
El nombre del array
Tipo del array
Rango permitido

Ejemplo:
Type
Tabla = array [1..25,1..4] of real;
Var
Grados : Tabla;

Para localizar o almacenar un valor en el array se deben especificar dos posiciones o
subndices, uno para la fila y otro para la columna.

Escritura de una matriz
Para escribir un vector, se debe hacer referencia tanto a la fila como a la columna. As:
For fila := 1 to 3 do
Begin
For Columna := 1 to 4 do
Write (A[Fila, Columna]:4);
End;





Unidad 6: Arreglos: Unidimensionales y multidimensionales
Ing. Nahiby Castillo
5
Ejemplo:
Calcular el promedio de cada estudiante de una lista de veinticinco alumnos de una clase de
informtica con notas en cuatro asignaturas.
Program Promedio;
Var
Notas: Array [1..25,1..4] of real;
I,J: Integer;
Suma,Prom: Real;
Begin
For I := 1 to 25 do
Begin
Write (`Notas del estudiante: ,I:1);
Writeln (`En una misma lnea digite todas las notas);
Suma := 0;
For J := 1 to 4 do
Begin
Read (Notas[I,J]);
Suma := Suma + Notas[I,J]
End;
Readln;
Prom := Suma/4;
Writeln (`La nota promedio del estudiante `,I:1, es `,Prom:1:1)
End
End.