1. Universidad Nacional Experimental
“Francisco De Miranda”
Área De Tecnología
Complejo Académico Punto Fijo
Unidad Curricular: Informatica
Integrantes:
Br. Cabrera Carlos. CI: 25370864
Br. Martínez Enmanuel. CI: 25402441
Br. Gonzáles Jesé. CI: 24596910
Punto fijo; Mayo de 2014
Arreglos
2. a) Crear tres arreglos vectoriales paralelos donde en el primero
se cargue con nombres, el segundo con apellidos y el tercero
con las edades respectivas.
a. Cuantos Pedro Pérez menores de edad hay.
b. La última persona de la lista con mayor edad.
c. Los tres arreglos con encabezado y en el pie de la lista de
que es la lista según el usuario.
Desarrollo.
Pseudocódigo:
Inicio
Imp(“¿de que es la lista?”);
Leer(lista);
i=0;
pep=0;
Imp(“cantidad de personas”);
Leer(n);
edmayor=ed[1];
nsmayor=ns[1];
apmayor=ap[1];
Para i=1 hasta n
Imp(“introduzca nombre”);
Leer(ns[i]);
Imp(“introduzca apellido”);
Leer(ap[i]);
Imp(“ introduzca edad”);
Leer(ed[i]);
Si (ns[i]= “pedro”) y (ap[i]= “perez”) y (ed[i]<18) entonces
pep=pep+1;
Fin del si
Si (ed[i]>=edmayor) entonces
edmayor=ed[i];
nsmayor=ns[i];
apmayor=ap[i];
Fin del si
Prox i
Imp(“Sr(a):”, nsmayor[i], “ “, apmayor, “ “, “es el mayor de la lista”);
Imp(“hay:”, pep, “pedro perez menores”);
Imp(“ nombre apellido edad”);
3. Para i=1 hasta n
Imp(ns[i],” “,ap[i],” “,ed[i]);
Imp;
Prox i
Imp(lista);
Leer;
Fin.
En pascal:
Program vector2;
Uses crt;
Var
I,pep,n:integer;
Lista:string;
Ed,edmayor:array[1..10] of integer;
Ap,ns,apmayor,nsmayor:array[1..10] of string;
begin
writeln(‘ ¿de que es la lista?’);
readln(lista);
i:=0;
pep:=0;
writeln(‘cantidad de personas’);
readln(n);
nsmayor:=ns[i];
apmayor:=ap[i];
edmayor:=ed[i];
for i:=1 to n do
begin
writeln(‘ introduzca nombre’);
readln(ns[i]);
writeln(‘ introduzca apellido’);
readln(ap[i]);
writeln(‘ introduzca edad’);
readln(ed[i]);
if (ns[i]= ‘pedro’) and (ap[i]= ‘perez’) and (ed[i]<18) then
begin
pep:=pep+1;
end;
if (ed[i]>=edmayor[i]) then
begin
edmayor:=ed[i];
nsmayor:=ns[i];
4. apmayor:=ap[i];
end;
writeln(‘Sr(a):’, nsmayor[i], ‘ ‘, apmayor, ‘ ‘, ‘ es el mayor de la
lista’);
writeln(‘hay:’, pep, ‘ pedro perez menores’);
writeln(‘ nombre apellido edad’);
for i:=1 to n do
begin
writeln(ns[i],’ ‘,ap[i], ‘ ‘,ed[i]);
writeln;
end;
writeln(lista);
readkey;
end.
2. Crear cuatros arreglos vectorial paralelos con cedula, apellidos,
nota 1, nota 2, luego recorrerlos en imprimir:
a) Quien tiene la nota 1 igual a la nota 2.
b) El promedio de todas las notas.
c) Cuantas veces hay 20 en las notas 1.
Desarrollo.
Pseudocódigo:
Inicio
Imp(“introduzca cantidad de personas”);
Leer(n);
c=0;
i=0;
note=0;
Para i=1 hasta n
Imp(“introduzca cedula”);
Leer(ce[i]);
Imp(“introduzca apellido”);
Leer(ape[i]);
Imp(“introduzca Nota 1 y Nota 2”);
Leer(n1[i],n2[i]);
Prox i
Para i=1 hasta n
Si n1[i]=n2[i] entonces
Imp(“el titular de la cedula :”, ce[i] , “tiene la nota 1 y nota 2
iguales”);
Fin del si
5. Si n1=20 entonces
c=c+1;
Fin del si
note:(note+n1[i]+n2[i]);
Prox i
p=(note/n);
Imp(“hay:”, c, “20 en nota 1”);
Imp(“ el promedio de las notas es:”, p);
Imp(“ cedula apellido nota 1 nota2”);
Para i=1 hasta n
Imp(ce[i],” “,ap[i],” “,n1[i],” “,n2[i]);
Imp;
Prox i
Leer;
Fin.
En pascal:
Program vector2;
Uses crt;
var
c,n,i:integer;
note,p:real;
ce,ap:array [1..20] of string;
n1,n2:array [1..20] of real;
begin
clrscr;
writeln(‘ introduzca cantidad de personas’);
readln(‘n’);
c:=0;
i:=0;
note:=0;
for i:=1 to n do
begin
writeln(‘ introduzca cedula’);
readln(ce[i]);
writeln(‘ introduzca apellido’);
readln(ape[i]);
writeln(‘introduzca Nota 1 y Nota 2’);
readln(n1,n2);
end;
6. for i:=1 to n do
begin
if n1[i]=n2[i] then
writeln(‘ el titular de la cedula :’, ce[i] , ‘tiene la nota 1 y
nota 2 iguales’);
end;
if n1=20 then
c=c+1;
end;
note:=(note+n1[i]+n2[i]);
end;
p:=(note/n);
writeln(‘ hay:’, c, ’20 en nota 1’);
writeln(‘ el promedio de las notas es:’, p);
writeln(‘ cedula apellido nota 1 nota2’);
for i=1 to n do
begin
writeln(ce[i],’ ‘,ap[i],’ ‘,n1[i],’ ‘,n2[i]);
end;
readkey;
end.
3. Crear dos arreglos vectoriales paralelos A y B con valores
numéricos, luego crear un tercer arreglo paralelo C cuyo valores
sean la suma de los correspondientes valores de A y B dividido
entre la posición respectiva. Imprimir finalmente los tres
arreglos en forma de tabla con el encabezado: “YA SE TRABAJAR CON
ARREGLOS”.
Desarrollo.
Pseudocódigo:
Inicio
Imp(“introduzca limite”);
Leer(n);
i=0;
Para i=1 hasta n
Imp(“introduzca valor para arreglo A”);
Leer(a[i]);
Imp(“ introduzca valor para arreglo B”);
Leer(b[i]);
c[i]=((a[i]+b[i])/i);
Prox i
7. Imp(“YA SE TRABAJAR CON ARREGLOS”);
Imp(“ A B C”);
Para i=1 hasta n
Imp(a[i],” “,b[i],” “,c[i]);
Prox i
Leer;
Fin.
En pascal:
Program vector3;
Uses crt;
Var
n,i:integer;
a,b,c:array [1..100] of real;
begin
clrscr;
writeln(‘ introduzca limite’);
readln(n);
i:=0;
for i:=1 to n do
begin
writeln(‘ introduzca valor para arreglo A’);
readln(a[i]);
writeln(‘ introduzca valor para arreglo B’);
readln(b[i]);
c[i]=((a[i]+b[i])/i);
end;
writeln(‘ YA SE TRABAJAR CON ARREGLOS’);
writeln(‘ A B C’);
for i:=1 to n do
begin
writeln(a[i],’ ‘,b[i],’ ‘,c[i]);
end;
readln;
end.
8. 4. Crear un arreglo matricial de Y filas por J columnas, donde en la
posicion de la fila par y columna impar se cargue con datos pedidos
al usuario, y en el resto el valor de la columna. Una vez creada
imprimir:
a) El arreglo en forma de matriz y con espacios entre un valor y
otro de la misma fila.
b) La sumatoria de las filas pares.
c) El producto de las columnas pares.
Desarrollo.
Pseudocódigo:
Inicio
Imp(“introduzca cantidad de filas y columnas”);
Leer(n,m);
s=0;
c=1;
Para y=1 hasta n
Para j=1 hasta m
Si (y=ent(y/2)*2) entonces
Imp(“introduzca valor para la posición:”, y, “y”, j);
Leer(a[y,j]);
s=s+a[y,j]);
Sino
a[y,j]=j;
Fin del si
Si (j=ent(j/3)*3) entonces
Imp(“introduzca valor para la posición:”, y, “y”, j);
Leer(a[y,j]);
Sino
c=c*1;
Fin del si
Prox j
Prox y
Imp(“ la sumatoria de los valores de las filas pares es:”, s);
Imp(“el producto de las columnas pares es:”, c);
Para y=1 hasta n
Para j=1 hasta m
Imp(a[y,j],’ ‘);
Prox j
Imp;
9. Prox y
Leer;
Fin.
En pascal:
Program matriz1;
Uses crt;
Var
n,m,y,j,s,c:integer;
a:array [1..10,1..10] of integer;
begin
writeln(‘introduzca cantidad de filas y columnas’);
readln(n,m);
s:=0;
c:=1;
for y:=1 to n do
begin
for j:=1 to m do
begin
if (y=int(y/2)*2) then
begin
writeln(‘introduzca valor para la posición:’, y, ‘y’, j);
readln(a[y,j]);
s:=s+a[y,j]);
end
else
begin
a[y,j]:=j;
end;
if (j=int(j/3)*3) then
begin
writeln(‘introduzca valor para la posición:’, y, ‘y’, j);
readln(a[y,j]);
end
else
begin
c:=c*1;
end;
end;
end;
10. writeln(‘ la sumatoria de los valores de las filas pares es:’, s);
writeln(‘ el producto de las columnas pares es:’, c);
for y:=1 to n do
begin
for j:=1 to m do
begin
write(a[y,j],’ ‘);
end;
writeln;
end;
readkey;
end.
5. Crear una matriz ALFA de A por B elementos, donde los valores de
las esquinas sean dados por la suma de sus posiciones, y el resto
por datos numéricos dados por el usuario. Luego imprimir:
a) La posición de cualquier valor que requiera el usuario y cuantas
veces aparece.
b) El arreglo en forma de matriz con una nota al pie de la misma.
Desarrollo.
Pseudocódigo:
Inicio
Imp(“introducir número de filas y columnas”);
leer(n,m);
Para i=1 hasta n
Para j=1 hasta m
Si ((i=1) o (i=n)) y ((j=1) o (j=m)) entonces
alfa[i,j]=i+j;
Sino
Imp(“introduzca valor de la casilla “,i,”,”j);
leer(alfa[i,j]);
Fin del si
Prox i
Prox j
cnum=0;
Imp(‘si desea saber algún valor de la matríz, introducirlo aquí’);
leer(num);
Para i=1 hasta n
Para j=1 hasta m
11. Si (num=alfa[i,j]) entonces
Imp(“el numero aparece en el cruce de la fila “,i,” y
columna “,j);
cnum=cnum+1;
Fin del si
Prox i
Prox j
Imp(“el numero que pidió aparece “,cnum, “ veces”);
Para i=1 hasta n
Para j=1 hasta m
Imp(alfa[i,j],” “);
Imp;
Prox i
Prox j
Imp(“ MATRIZ FINALIZADA!!!! “);
Leer;
Fin.
En pascal:
Program matriz2;
Uses crt;
Var
alfa:array [1..20,1..20] of integer;
i,j,n,m,num,cnum:integer;
Begin
clrscr;
writeln(‘introducir número de filas y columnas’);
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
if ((i=1) or (i=n)) and ((j=1) or (j=m)) then
begin
alfa[i,j]:=i+j;
end
else
begin
writeln(‘introduzca valor de la casilla ‘,i,’,’j);
readln(alfa[i,j]);
end;
end;
end;
12. cnum:=0;
writeln(‘si desea saber algún valor de la matríz, introducirlo aquí’);
readln(num);
for i:=1 to n do
begin
for j:=1 to m do
begin
if (num=alfa[i,j]) then
begin
writeln(‘el numero aparece en el cruce de la fila’,i,’
y columna’,j);
cnum:=cnum+1;
end;
end;
end;
writeln(‘el numero que pidió aparece ‘ ,cnum, ‘ veces’);
for i:=1 to n do
begin
for j:=1 to m do
begin
write(alfa[i,j],’ ‘);
end;
writeln;
end;
writeln(‘ MATRIZ FINALIZADA!!!! ‘);
readkey;
end.
7. Crear un arreglo matricial con datos de vehículos con el modelo
en la columna 1 y año en la columna 2, y un arreglo vectorial paralelo
con los precios de esos vehículos. Una vez creados los dos arreglos
crear un tercer arreglo vectorial con el calificativo de “barato”
los que tengan un precio por debajo de 10 millones y “caro” al resto
de los vehículos. Imprimir:
a) Los tres arreglos con encabezado y en forma de lista.
b) Cuantos vehículos baratos hay.
c) Promedio de los precios.
Desarrollo.
Pseudocódigo:
Inicio
Imp(“introduzca cantidad de vehículos”);
13. Leer(n);
b=0;
c=0;
Para i=1 hasta n
Para j=1 hasta 2
Imp(“ introduzca modelo de vehiculo”);
Leer(ve[i,1]);
Imp(“introduzca año del vehiculo”);
Leer(ve[i,2]);
Imp(“introduzca precio”);
Leer(p[i]);
c=c+p[i];
Si (p[i]<=10.000.000) entonces
bara[i]= ‘barato’;
b=b+1;
Sino
bara[i]= ‘caro’;
Fin del si
Prox j
Prox i
pro=c/n;
Imp(“ MODELO AÑO PRECIO CALIFICATIVO”);
Para i=1 hasta n
Para j=1 hasta 2
Imp(ve[i,j], “ “);
Prox j
Imp(p[i], “ “, bara[i]);
Imp;
Prox i
Imp(“hay:”, b, “vehiculos baratos”);
Imp(“el promedio de los precios es:”, pro);
Leer;
Fin.
En pascal:
Program matriz1;
Uses crt;
Var
i,j,n,c,b:integer;
14. pro:real;
ve,a: array [1..10,1..2] of string;
p: array [1..10] of integer;
bara: array [1..10] of string;
begin
clrscr;
writeln(‘ introduzca cantidad de vehiculos’);
readln(n);
b:=0;
c:=0;
for i:=1 to n do
begin
for j:=1 to 2 do
writeln(‘ introduzca modelo de vehiculo’);
readln(ve[i,1]);
writeln(‘introduzca año del vehiculo’);
readln(ve[i,2]);
writeln(‘introduzca precio’);
readln(p[i]);
c:=c+p[i];
if (p[i]<=10.000.000) then
begin
bara[i]= ‘barato’;
b:=b+1;
end
else
begin
bara[i]= ‘caro’;
end;
end;
pro:=c/n;
writeln(‘ MODELO AÑO PRECIO CALIFICATIVO’);
for i:=1 to n do
begin
for j:=1 to 2 do
begin
write(ve[i,j], ‘ ‘);
end;
write(p[i], ‘ ‘, bara[i]);
writeln;
end;
writeln(‘ hay:’, b, ‘vehiculos baratos’);
15. writeln(‘ el promedio de los precios es:’, pro:15:2);
readkey;
end.
8. Crear un arreglo matricial de K filas por J columnas de nombre
PETRA, donde en sus columnas impares se cargue con valores pedidos
al usuario y en el resto de las posiciones con la división de su
fila entre columna respectiva. Una vez creado el arreglo recorrerlo
e imprimir:
a) Cuantos y cuales valores fueron impares.
b) La suma de los valores múltiplos de 3 o 6.
c) El promedio de los múltiplos de 4 y 9 simultáneamente.
d) El arreglo en forma de matriz y con el encabezado “SE UN POQUITO
MAS QUE AYER”.
Desarrollo.
Pseudocodigo:
Inicio
Imp(“introduzca numero de filas y columnas”);
Leer (k,j);
Para h=1 hasta k
Para i=1 hasta j
Si ( j<> (j=(ent(j/2)*2)) entonces
Imp(“introduzca el valor que desea para la posición “,h,”,”,i);
Leer(petra[k,j]);
Sino
Petra[k,j]=k/j;
Fin del si
Prox h
Prox i
cimp=0;
sumamult2=0;
cmult2=0;
sumamult=0;
Para h=1 hasta k
Para i=1 hasta j
Si (petra[k,j]<>(ent(petra[k,j]/2)*2)) entonces
16. Imp(“ en la posición “,k,”,”,j,” el numero resulto impar”);
cimp=cimp+1;
Fin del si
Si (petra[k,j]=(ent(petra[k,j]/3)*3)) o
(petra[k,j]=(ent(petra[k,j]/6)*6)) entonces
sumamult=sumamult+petra[k,j];
Fin del si
Si (petra[k,j]=(ent(petra[k,j]/4)*4)) y
(petra[k,j]=(ent(petra[k,j]/9)*9)) entonces
cmult2=cmult2+1;
sumamult2=sumamult2+petra[k,j];
Fin del si
Prox h
Prox i
Imp(“ un total de “,cimp,” valores resultaron impares”);
Imp(“la suma de los valores de los múltiplos de 3 o 6 fue de: “,sumamult);
prommult=sumamult2/cmult2;
Imp(“el promedio de los múltiplos de 4 y 9 simultáneamente fue de:
“,prommult);
Para h=1 hasta k
Para i=1 hasta j
Imp(petra[k,j],” “);
Imp;
Prox h
Prox i
Imp(“ SE UN POQUITO MAS QUE AYER!!!! “);
Leer;
Fin.
En pascal:
Program matriz4;
Uses crt;
Var
petra:array [1..10] of real;
h,i,k,j,cmult,cimp,cmult2,sumamult,sumamult2:integer;
prommult:real;
begin
clrscr;
writeln(‘introduzca numero de filas y columnas’);
readln(k,j);
for h:=1 to k do
begin
17. for i:=1 to j do
begin
if ( j<> (j=(int(j/2)*2)) then
begin
writeln(‘introduzca el valor que desea para la posición ‘,h,’,’,i);
readln(petra[k,j]);
end
else
begin
petra[k,j]:=k/j;
end;
end;
end;
cimp:=0;
sumamult2:=0;
cmult2:=0;
sumamult:=0;
for h:=1 to k do
begin
for i:=1 to j do
begin
if (petra[k,j]<>(int(petra[k,j]/2)*2)) then
begin
writeln(‘en la posición ‘,k,’,’j,’ el numero resulto impar’);
cimp:=cimp+1;
end;
if (petra[k,j]=(int(petra[k,j]/3)*3)) or
(petra[k,j]=(int(petra[k,j]/6)*6)) then
begin
sumamult:=sumamult+petra[k,j];
end;
if (petra[k,j]=(int(petra[k,j]/4)*4)) and
(petra[k,j]=(int(petra[k,j]/9)*9)) then
begin
cmult2:=cmult2+1;
sumamult2:=sumamult2+petra[k,j];
end;
end;
end;
writeln(‘un total de ‘,cimp, ‘valores resultaron impares’);
writeln(“la suma de los valores de los múltiplos de 3 o 6 fue de:
“,sumamult);
prommult:=sumamult2/cmult2;
writeln(‘el promedio de los múltiplos de 4 y 9 simultáneamente fue de:
‘,prommult);
for h:=1 to k do
begin
18. for i:=1 to j do
begin
write(petra[k,j],’ ‘);
end;
writeln;
end;
readln(‘ SE UN POQUITO MAS QUE AYER!!!! ‘);
readkey;
end.