ARREGLOS UNIDIMENSIONALES
Un arreglo unidimensional es un tipo de datos estructurado que está
formado por una colección finita y ordenada de datos del mismo tipo. Es la
estructura natural para modelar listas de elementos iguales. Los datos que se
guarden en los arreglos todos deben ser del mismo tipo.
El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa.
Para implementar arreglos unidimensionales se debe reservar espacio en memoria.
Los arreglos nos permiten hacer un conjunto de operaciones para
manipular los datos guardados en ellos, estas operaciones son: ordenar, buscar,
insertar, eliminar, modificar entre otras.
REPRESENTACIÓN EN MEMORIA: Los arreglos guardan en memoria la cantidad de espacios que se le indican en la declaración.
Ejemplo: sea el siguiente arreglo unidimensional donde se va a guardar 5
datos de tipo entero (integer)
x : array[1..5] of integer
En memoria el computador guarda 5 espacios: esto quiere decir en el
arreglo X en la posición 1 guarda 34, en el arreglo X en la posición 2 guarda
22, asi hasta la última posición del arreglo X posicion 5 guarda 72.
X [1]
34
X [2]
22
X [3]
39
X [4]
63
X [5]
72
72
Declaración de los arreglos unidimensionales: Se
declara el tipo del arreglo, con la palabra reservada TYPE, luego se declara la
variable de tipo arreglo, esto se hace en el bloque de declaracion de variables
palabra reservada VAR.
Type
nombre_arreglo= array[x..y]of tipo_dato;
Ejemplos:
salarios= array [1…x] of real;
nombre_trabajador=array[1..x] of string;
Nota: El tipo de dato del arreglo puede ser: integer,real, boolean,
string etc.
Variables tipo array
Var
sueldo:salarios;
nombre:nombre_trabajador;
Una vez declarados los arreglos procedemos a cargar información en
ellos, para esto usamos estructuras repetitivas la mas recomendable por su
facilidad es el for, una vez cargada la información se puede hacer cualquier
operación de calculo y por último mostramos la información de los arreglos
usando de igual manera la estructura repetitiva for.
carga de un arreglo, la letra i es el indice o subindice del arreglo e
indica la posición del arreglo:
for i:=1 to num do
begin
readln(notas[i]);
end;
Mostrar la información de un arreglo, la letra i es el indice o
subindice del arreglo e indica la posición del arreglo::
for i:=1 to num do
begin
writeln(notas[i]:3:1);
end;
Se han hechos programas que suman una cantidad de números usando dos
variables, una para leer cada número y otra para acumular la suma. Este enfoque
tiene la desventaja de que se pierden los valores de los sumandos. El uso de
arreglos permite calcular la suma de los números con una cantidad mínima de
código y a la vez conservar cada valor, como muestra el siguiente programa
completo:
Program SumaN;
Uses
Crt;
Const
n = 5;
Var
nums: Array[1..n] Of
Integer;
s, i: Integer;
Begin
For i:=1 To n Do
Begin
Write('Escriba el número: ');
ReadLn(nums[i]);
s := s + nums[i];
End;
WriteLn('La suma es: ', s);
End.
Nótese el uso de una constante para marcar el tamaño del arreglo; dicha constante, también sirve para controlar el For. De este modo, sólo se hace necesario cambiar un número para adecuar el programa a la escala apropiada
Nótese el uso de una constante para marcar el tamaño del arreglo; dicha constante, también sirve para controlar el For. De este modo, sólo se hace necesario cambiar un número para adecuar el programa a la escala apropiada
Ejercicios de arreglos unidimensionales:
* Dadas n cantidad de notas, calcular e imprimir el
promedio de las notas y todas las notas que fueron mayor a la media calculada.
PROGRAM calificaciones;
USES CRT;
type
listacalificaciones=array[1..n]of real;
VAR
notas:listacalificaciones;
media,suma:real;
num,i:integer;
BEGIN
WRITELN('INTRODUZCA la cantidad de notas a procesar');
READLN(NUM);
suma:=0;
for i:=1 to num do
PROGRAM calificaciones;
USES CRT;
type
listacalificaciones=array[1..n]of real;
VAR
notas:listacalificaciones;
media,suma:real;
num,i:integer;
BEGIN
WRITELN('INTRODUZCA la cantidad de notas a procesar');
READLN(NUM);
suma:=0;
for i:=1 to num do
begin
readln(notas[i]);
suma:=suma+notas[i];
end;
media:=suma/num;
writeln('la media es:' , media:2:2);
writeln('la lista de calificaciones mayores a la media es:');
for i:=1 to num do
begin
if notas[i]>media then
writeln(notas[i]:3:1);
readln;
end;
END.
(*Escribir un programa en pascal que rellene un array con 11
numeros, luego dividirlos entre 3 y mostralos por pantalla *)
PROGRAM numeros;
USES CRT;
type
arreglonumeros=array[1..11]of real;
VAR
num:arreglonumeros;
i:integer;
numero:real;
BEGIN
for i:=1 to 11 do
begin
WRITELN('Introduzca el numero ' , i, ' a dividir');
readln(num[i]);
numero:=num[i]/3;
write('los numero resultantes de la division son:' ,numero:2:2);
readln;
end;
end.
media:=suma/num;
writeln('la media es:' , media:2:2);
writeln('la lista de calificaciones mayores a la media es:');
for i:=1 to num do
begin
if notas[i]>media then
writeln(notas[i]:3:1);
readln;
end;
END.
(*Escribir un programa en pascal que rellene un array con 11
numeros, luego dividirlos entre 3 y mostralos por pantalla *)
PROGRAM numeros;
USES CRT;
type
arreglonumeros=array[1..11]of real;
VAR
num:arreglonumeros;
i:integer;
numero:real;
BEGIN
for i:=1 to 11 do
begin
WRITELN('Introduzca el numero ' , i, ' a dividir');
readln(num[i]);
numero:=num[i]/3;
write('los numero resultantes de la division son:' ,numero:2:2);
readln;
end;
end.
Arreglos multidimensionales
Un arreglo multidimensional es simplemente una extensión de un arreglo
unidimensional. Más que almacenar una sola lista de elementos, piense en
un arreglo
multidimensional como el almacenamiento de múltiples listas de
elementos. Por ejemplo, un
arreglo bidimensional almacena listas en un formato de tabla
de dos dimensiones de filas y
columnas, en donde cada fila es una lista. Las filas
proporcionan la dimensión vertical del
arreglo, y las columnas dan la dimensión horizontal. Un arreglo de tres
dimensiones almacena
listas en un formato de tres dimensiones de filas, columnas y planos, en
donde cada plano es
un arreglo bidimensional. Las filas proporcionan
la dimensión vertical; las columnas, la
dimensión horizontal; y los planos, la dimensión de profundidad del
arreglo.
No hay comentarios.:
Publicar un comentario