-
Lenguaje
Pascal
-
Descripción
Un almacén ha recopilado los datos de N productos, para esto se ingresan en un proceso repetitivo: el tipo (comida, vestido), la procedencia (Nacional, Importado) y el precio de cada producto. Construya un algoritmo que permita calcular lo siguiente:
a) El promedio de precios de productos procedencia Nacional.
b) El promedio de precios de productos procedencia Importado.
c) El menor precio.
d) La cantidad de productos del tipo Comida.
e) La cantidad de productos del tipo Vestido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
program DatosDeNProductos;
uses crt;
var cantidad_comida, cantidad_importados, cantidad_nacionales, cantidad_vestido, i : integer;
var n, procedencia, tipo : integer;
var menor_precio, precio, promedio_importados, promedio_nacionales : real;
begin
cantidad_comida := 0;
cantidad_importados := 0;
cantidad_nacionales := 0;
cantidad_vestido := 0;
menor_precio := 0;
promedio_importados := 0;
promedio_nacionales := 0;
write ('Ingresa el valor de n: ');
readln (n);
for i:=1 to n do
begin
writeln ('PROCESO ', i);
write ('Ingresa el valor de precio: ');
readln (precio);
writeln ('Selecciona el valor de tipo.');
writeln (' 1.- Comida');
writeln (' 2.- Vestido');
write (' : ');
repeat
readln (tipo);
if (tipo<1) or (tipo>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo>=1) and (tipo<=2);
writeln ('Selecciona el valor de procedencia.');
writeln (' 1.- Nacional');
writeln (' 2.- Importado');
write (' : ');
repeat
readln (procedencia);
if (procedencia<1) or (procedencia>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (procedencia>=1) and (procedencia<=2);
if procedencia=1 then
begin
promedio_nacionales := promedio_nacionales+precio;
cantidad_nacionales := cantidad_nacionales+1;
end
else
begin
promedio_importados := promedio_importados+precio;
cantidad_importados := cantidad_importados+1;
end;
if (i=1) or (menor_precio>precio) then
begin
menor_precio := precio;
end;
if tipo=1 then
begin
cantidad_comida := cantidad_comida+1;
end
else
begin
cantidad_vestido := cantidad_vestido+1;
end;
writeln;
end;
if cantidad_importados = 0 then
promedio_importados := 0
else
promedio_importados := promedio_importados/cantidad_importados;
if cantidad_nacionales = 0 then
promedio_nacionales := 0
else
promedio_nacionales := promedio_nacionales/cantidad_nacionales;
writeln ('Valor de cantidad comida: ', cantidad_comida);
writeln ('Valor de cantidad importados: ', cantidad_importados);
writeln ('Valor de cantidad nacionales: ', cantidad_nacionales);
writeln ('Valor de cantidad vestido: ', cantidad_vestido);
writeln ('Valor de menor precio: ', menor_precio:0:6);
writeln ('Valor de promedio importados: ', promedio_importados:0:6);
writeln ('Valor de promedio nacionales: ', promedio_nacionales:0:6);
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var cantidad_comida, cantidad_importados, cantidad_nacionales, cantidad_vestido, i : integer;
var n, procedencia, tipo : integer;
var menor_precio, precio, promedio_importados, promedio_nacionales : real;
begin
cantidad_comida := 0;
cantidad_importados := 0;
cantidad_nacionales := 0;
cantidad_vestido := 0;
menor_precio := 0;
promedio_importados := 0;
promedio_nacionales := 0;
write ('Ingresa el valor de n: ');
readln (n);
for i:=1 to n do
begin
writeln ('PROCESO ', i);
write ('Ingresa el valor de precio: ');
readln (precio);
writeln ('Selecciona el valor de tipo.');
writeln (' 1.- Comida');
writeln (' 2.- Vestido');
write (' : ');
repeat
readln (tipo);
if (tipo<1) or (tipo>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo>=1) and (tipo<=2);
writeln ('Selecciona el valor de procedencia.');
writeln (' 1.- Nacional');
writeln (' 2.- Importado');
write (' : ');
repeat
readln (procedencia);
if (procedencia<1) or (procedencia>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (procedencia>=1) and (procedencia<=2);
if procedencia=1 then
begin
promedio_nacionales := promedio_nacionales+precio;
cantidad_nacionales := cantidad_nacionales+1;
end
else
begin
promedio_importados := promedio_importados+precio;
cantidad_importados := cantidad_importados+1;
end;
if (i=1) or (menor_precio>precio) then
begin
menor_precio := precio;
end;
if tipo=1 then
begin
cantidad_comida := cantidad_comida+1;
end
else
begin
cantidad_vestido := cantidad_vestido+1;
end;
writeln;
end;
if cantidad_importados = 0 then
promedio_importados := 0
else
promedio_importados := promedio_importados/cantidad_importados;
if cantidad_nacionales = 0 then
promedio_nacionales := 0
else
promedio_nacionales := promedio_nacionales/cantidad_nacionales;
writeln ('Valor de cantidad comida: ', cantidad_comida);
writeln ('Valor de cantidad importados: ', cantidad_importados);
writeln ('Valor de cantidad nacionales: ', cantidad_nacionales);
writeln ('Valor de cantidad vestido: ', cantidad_vestido);
writeln ('Valor de menor precio: ', menor_precio:0:6);
writeln ('Valor de promedio importados: ', promedio_importados:0:6);
writeln ('Valor de promedio nacionales: ', promedio_nacionales:0:6);
write ('Presiona una tecla para terminar . . . ');
readkey;
end.