Array en Pascal
Array en Pascal
write( lista[2] );
Un ejemplo completo, que guarde varios datos en un array y luego muestre uno
de ellos podra ser:
*)
*)
*)
begin
datos[1]
datos[2]
datos[3]
datos[4]
:=
:=
:=
:=
20;
12;
7;
35;
Es habitual recorrer todo un array usando un bucle "for", de modo que podamos
pedir y mostrar los datos de forma repetitiva. Por ejemplo, podramos pedir al
usuario 5 nmeros y luego mostrarlos en orden inverso, as:
writeLn;
end.
Ejercicio propuesto 4.1.1.1: Crea un programa que reserve espacio para un
Array de 3 nmeros enteros, que asigne a sus elementos los valores 3, 5 y 8, y
que despus muestre en pantalla la suma de los valores de sus 3 elementos.
Ejercicio propuesto 4.1.1.2: Crea un programa que pida al usuario cinco
nmeros enteros, los guarde en un array y luego muestre el primero y el ltimo.
Ejercicio propuesto 4.1.1.3: Crea un programa que pida al usuario diez
nmeros enteros, los guarde en un array y luego muestre los que se
encuentran en posiciones impares (1, 3, 5, 7, 9).
Ejercicio propuesto 4.1.1.4: Crea un programa que pida al usuario diez
nmeros enteros, los guarde en un array y luego muestre los que son impares.
Ejercicio propuesto 4.1.1.5: Crea un programa que sume dos vectores, cuyos
componentes indicar el usuario. Por ejemplo, la suma de (1,2,3) y (7,11,-1)
sera (8,13,2).
Ejercicio propuesto 4.1.1.6: Crea un programa que halle el producto escalar
dos vectores, cuyos componentes indicar el usuario.
begin
for i := 1 to 5 do
begin
write('Deme el dato ',i,': ');
readLn(datos[i]);
end;
encontrado := false;
write('Buscando un 10... ');
for i := 1 to 5 do
if datos[i] = 10 then encontrado := true;
if encontrado then
writeLn('Encontrado!');
else
writeLn('No encontrado.');
end.
Ejercicio propuesto 4.1.2.1: Crea un programa que pida al usuario diez
nmeros enteros, los guarde en un array y luego le pida un nmero ms y diga
si era parte de los 10 datos originales o no.
Ejercicio propuesto 4.1.2.2: Crea un programa que pida al usuario diez
nmeros enteros, los guarde en un array y luego le vaya preguntando qu
nmero quiere buscar de forma repetitiva, y diga si era parte de los 10 datos
originales o no. Terminar cuando el nmero introducido sea 9999.
Ejercicio propuesto 4.1.2.3: Crea un programa que pida al usuario dos listas
de 5 nmeros enteros, usando dos arrays distintos, y luego muestre en pantalla
los nmeros que aparecen en ambas listas.
:=
:=
:=
:=
:=
:=
20;
12;
7;
35;
48;
14;
maximo := datos[1];
for i := 2 to 6 do
if datos[i] > maximo then
maximo := datos[i];
writeLn('El maximo es: ', maximo);
end.
(* Resultado:
El maximo es: 48
*)
Ejercicio propuesto 4.1.3.1: Crea un programa que pida al usuario diez
nmeros reales, los guarde en un array y luego busque y muestre el menor de
esos nmeros.
Ejercicio propuesto 4.1.3.2: Crea una versin alternativa, que pida al usuario
diez nmeros reales y muestre el menor de todos ellos, sin usar arrays.
Ejercicio propuesto 4.1.3.3: Crea un programa que pida al usuario 10
nombres de personas y sus 10 estaturas. Estos datos se guardarn en dos
writeLn( matriz1[3,1] );
Un ejemplo ms completo, que pidiera 2x3 datos y mostrar uno de ellos sera:
1:
2:
3:
1:
2:
3:
20
1
20
3
54
15
9
Cantidad de
{ Para
begin
{ Pedimos 200 datos o hasta introducir el valor
999 }
cantidad := 0;
repeat
if cantidad >= 200 then
writeLn('No caben mas datos!')
else
begin
cantidad := cantidad+1;
write('Deme el dato ',cantidad,' (999 para
salir): ');
readLn(datos[cantidad]);
end;
until datos[cantidad]=999;
{ El ultimo dato no hay que guardarlo }
cantidad := cantidad-1;
{ Al final, muestro todos }
writeLn('Cantidad de datos: ', cantidad);
writeLn('Los datos al reves son: ');
for i := cantidad downto 1 do
write(datos[i], ' ');
writeLn;
end.
(* Ejemplo de ejecucion:
Deme el dato 1 (999 para salir): 23
Deme el dato 2 (999 para salir): 45
Deme el dato 3 (999 para salir): 7
Deme el dato 4 (999 para salir): 16
Deme el dato 5 (999 para salir): 999
Cantidad de datos: 4
Los datos al reves son: 16 7 45 23
*)
Ejercicio propuesto 4.1.5.1: Crea un programa que pida al usuario tantos
nmeros reales como desee, para despus mostrar todos los datos con dos
cifras decimales.
Ejercicio propuesto 4.1.5.2: Crea un programa que pida al usuario tantos
nmeros reales como desee, para despus mostrar su media aritmtica y los
datos que estn por encima de esa media.
Ejercicio propuesto 4.1.5.3: Crea un programa que pida al usuario tantos
nmeros reales como desee, para despus mostrar su media aritmtica, sin
utilizar arrays.
var
datos: array[1..10] of integer;
cantidad: integer;
i: integer;
posicionBorrar: integer;
begin
datos[1]
datos[2]
datos[3]
datos[4]
datos[5]
datos[6]
cantidad
:=
:=
:=
:=
:=
:=
:=
20;
12;
7;
35;
8;
49;
6;
20 12 7 35 8 49
Los datos tras borrar el tercero son:
20 12 35 8 49
*)
var
datos: array[1..6] of integer;
i,j: integer;
temporal: integer;
begin
datos[1]
datos[2]
datos[3]
datos[4]
datos[5]
datos[6]
:=
:=
:=
:=
:=
:=
20;
12;
7;
35;
49;
8;