jueves, 5 de junio de 2008

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.


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

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 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

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 [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

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.

32 comentarios:

Anónimo dijo...

gracias.

Anónimo dijo...

gracias.......!!!

Anónimo dijo...

uu buena imformacion grasias

Anónimo dijo...

grax!!! :) esta muy bien explicado.

Anónimo dijo...

Muxhas gracias!!!! Fue de gran ayuda!!!!

Anónimo dijo...

esta muy bien =)

Anónimo dijo...

este tema esta muy aburrido buuuuuu....

Anónimo dijo...

Muchas gracias, de verdad me ayudaste en mi clase con el profe que amo, Omar, eres tu

Anónimo dijo...

Gracias, lo copié y lo pegué en mi examen y espero sacar 100 :D

Anónimo dijo...

MAL

Anónimo dijo...

ESTAS PENDEJO

Anónimo dijo...

eres un pendejo ojala te metan 3 kilos de pura verga verga y te salga por las orejas hijo de tu puta loca perra madre infeliz

Anónimo dijo...

sean mas serios con lo que escriben putos

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

°<°

Anónimo dijo...

GRACIAS IJO dDe TU CHINGADA MADRRERE!! >:v
#HailGrasa >:V/

Espero y me sirva o sino vendran mis cuentas FEIK a chingarte el Vlok >:V
(ci zto zale en la grrasa paso un pack rikolino)

Anónimo dijo...

esto no funciona salen milochomil errores

cesar farias ushiñahua dijo...

Crea un programa que pida por pantalla cuatro países y a continuación tres ciudades de cada uno de estos países. Los nombres de ciudades deben almacenarse en un arreglo bidimensional cuyo primer índice sea el número asignado a cada país y el segundo índice el número asignado a cada ciudad.

Unknown dijo...

Crea un programa que pida por pantalla cuatro países y a continuación tres ciudades de cada uno de estos países. Los nombres de ciudades deben almacenarse en un arreglo bidimensional cuyo primer índice sea el número asignado a cada país y el segundo índice el número asignado a cada ciudad.

Unknown dijo...

Crea un programa que pida el ingreso de los nombres de 10 alumnos y por cada alumno el ingreso de 2 notas y luego muestre los nombres de dichos alumnos con su respectivo promedio.

Anónimo dijo...

GRACIAS IJO dDe TU CHINGADA MADRRERE!! >:v
#HailGrasa >:V/

Espero y me sirva o sino vendran mis cuentas FEIK a chingarte el Vlok >:V
(ci zto zale en la grrasa paso un pack rikolino)

Anónimo dijo...

skereeeee

Anónimo dijo...

Omae wa mou shindeiru

Anónimo dijo...

2019 pvtos

FIANS UAT/ Tarea de bolobando xD

Anónimo dijo...

NANIIIIIIIIIIIIIIIIIIIIIII?????

Anónimo dijo...

ME GUSTA EL NEPE

Anónimo dijo...

quien para un fonai?

Anónimo dijo...

Hijos de su madre, no sean groseros :v

Anónimo dijo...

xd

Anónimo dijo...

hijos de su pvta madre que excelente dato +100prros i like your mother and your sister ;)

Anónimo dijo...

son unos hijos de perra q no saben apreciar las cosas si tanto saben chingen a su madre y no entren

Unknown dijo...

Yop