Sei sulla pagina 1di 12

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, las notas de un alumno, los salarios de los empleados de una
empresa.
Un array es una lista de un nmero determinado de elementos del
mismo tipo.

Caractersticas:
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.

ARREGLOS UNIDIMENSIONALES
Un arreglo unidimensional es un tipo de datos estructurado que est
formado por una coleccin 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
posicin 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.


REPRESENTACION EN MEMORIA: Los arreglos guardan en
memoria la cantidad de espacios que se le indican en la declaracin.

Ejemplo: sea el siguente 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 posicin 1 guarda 34, en el arreglo X en la posicin 2
guarda 22, asi hasta la ltima posicin del arreglo X posicion 5 guarda
72.
X [1]
34
X [2]
22
X [3]
39
X [4]
63
X [5]
72
Declaracion 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 [1x] 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 informacin en
ellos, para esto usamos estructuras repetitivas la mas recomendable
por su facilidad es el for, una vez cargada la informacin se puede
hacer cualquier operacin de calculo y por ltimo mostramos la
informacin 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 posicin del arreglo:
for i:=1 to num do
begin
readln(notas[i]);
end;
Mostrar la informacin de un arreglo, la letra i es el indice o subindice
del arreglo e indica la posicin del arreglo::
for i:=1 to num do
begin
writeln(notas[i]:3:1);
end;
Se han hechos programas que suman una cantidad de nmeros
usando dos variables, una para leer cada nmero 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 nmeros con una cantidad mnima de cdigo 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 nmero: ');
ReadLn(nums[i]);
s := s + nums[i];
End;
WriteLn('La suma es: ', s);
End.

Ntese el uso de una constante para marcar el tamao del arreglo;
dicha constante, tambin sirve para controlar el For. De este modo,
slo se hace necesario cambiar un nmero 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
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.

OTRA FUENTE DONDE CONSEGUI:
Un arreglo es un conjunto de datos o una
estructura de datos homogneos que se
encuentran ubicados en forma
consecutiva en la memoria RAM (sirve
para almacenar datos en forma
temporal).

Arreglos unidimensionales: Es un tipo
de datos estructurado que est formado
de una coleccin finita y ordenada de
datos del mismo tipo. Es la estructura
natural para modelar listas de elementos
iguales. Estn formados por un conjunto
de elementos de un mismo tipo de datos
que se almacenan bajo un mismo
nombre, y se diferencian por la posicin
que tiene cada elemento dentro del
arreglo de datos. Al declarar un arreglo,
se debe inicializar sus elementos antes
de utilizarlos. Para declarar un arreglo
tiene que indicar su tipo, un nombre
nico y la cantidad de elementos que va
a contener.
Arreglos multidimensionales: Es un
tipo de dato estructurado, que est
compuesto por dimensiones. Para hacer
referencia a cada componente del
arreglo es necesario utilizar n ndices,
uno para cada dimensin. El trmino
dimensin representa el nmero de
ndices utilizados para referirse a un
elemento particular en el arreglo. Los
arreglos de ms de una dimensin se
llaman arreglos multidimensionales.
Arreglos con mltiple subndices: Es
la representacin de tablas de valores,
consistiendo de informacin arreglada en
renglones y columnas. Para identificar un
elemento particular de la tabla,
deberemos de especificar dos
subndices; el primero identifica el
rengln del elemento y el segundo
identifica la columna del elemento. A los
arreglos que requieren dos subndices
para identificar un elemento en particular
se conocen como arreglo de doble
subndice. Note que los arreglos de
mltiples subndices pueden tener ms
de dos subndices. El estndar ANSI
indica que un sistema ANSI C debe
soportar por lo menos 12 subndices de
arreglo.
manejo de arreglos.-
Declaracin de un arreglo: Se le da un
nombre y se de fine su tamao y el tipo
de datos que va a contener (caracteres,
enteros, reales, etc.)
En C:
int arreglo[10]; /* un arreglo de 10
enteros */
float arreglo[10]; /* un arreglo de 1 0
reales */
char arreglo[10]; /* un arreglo de 10
caracteres */
Altas, Bajas y Cambios ,Alta en un
arreglo: Se verifica que haya espacio y
se inserta el elemento en la posicin
disponible. Si el arreglo tiene un orden
determinado hay que buscar la posicin
correcta primero, luego recorrer los
elementos para generar un espacio y
finalmente se inserta el dato.
Alta en un arreglo (secuencial)
/* dato es el elemento a dar de alta y pos
indica la posicin
disponible */

alta(int arr[], int dato, int *pos)
{
if(*pos == MAX) /* Verifica si esta lleno */
printf("Error: el arreglo esta lleno");
else
{
arr[*pos] = dato; /* Inserta el dato */
*pos++; /*
Incrementa la posicin */
}
}
4.2.2 Manejo de arreglos.-
Alta en un arreglo (ordenado) :

/* dato es el elemento a dar de alta y
cantidad indica el nmero de
datos existentes. Este procedimiento
inserta un dato en un arreglo de enteros
en orden ascendente */ EJEMPLO ;
alta_ordenada(int arr[], int dato, int
*cantidad)
{
int i, pos;

if(*cantidad == MAX) /* Verifica si esta
lleno */
printf("Error: el arreglo esta lleno");
else
{
if(*cantidad == 0) /* El arreglo esta vaco
*/
{
arr[0] = dato; /* Inserta el dato */
*cantidad++; /* Incrementa la cantidad */
}
else
{
pos = 0;
for(i=0; i= arr[i])
pos = ++;
if(pos == *cantidad) /* Es el ltimo */
arr[pos] = dato; /* Inserta el dato */
else
{ /* Recorre los datos para hacer espacio
para el nuevo*/
for(i=cantidad; i>=pos; i--)
arr[i] = arr[i-1];
arr[pos] = dato; /* Inserta el dato */
4.2.3.-Manejo de arreglos.-

Baja en un arreglo
Para eliminar un elemento de un arreglo
primero se verifica que no est vaco el
arreglo, luego se busca el dato, se
elimina y, de ser necesario, se recorren
los dems para cubrir el espacio que
qued.
baja(int arr[], int dato, int *cantidad)
{
int i, pos;
if(*cantidad == 0) /* Verifica si hay datos
*/
printf("Error: el arreglo esta vaco");
else
{
pos = -1; /* Recorre el arreglo buscando
dato */
for(i=0; i

Potrebbero piacerti anche