-
Lenguaje
Pascal
-
Descripción
Un empleado de la tienda "Venta Express" realiza N ventas durante el día de trabajo. Se requiere saber:
- Cuántas de ellas fueron mayores a $1,100.
- Cuántas fueron mayores a $600 pero menores o iguales a $1,100.
- Cuántas fueron menores o iguales a $600.
Sabiendo que existe dos tipos de ventas A o B, si es A un descuento de 20%, en caso de B un descuento de 35%. Además, se requiere saber el monto de lo vendido en cada categoría y de forma global, al monto final aplicar el IGV (18%). Se debe imprimir el nombre del cliente.
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 VentaExpress;
uses crt;
var entre_600_y_1100, i, mayores_a_1100, menores_a_600, n : integer;
var tipo_de_venta : integer;
var IGV, descuento, monto, monto_categoria_A, monto_categoria_B : real;
var monto_final, monto_global, venta : real;
var nombre_del_cliente : string;
begin
entre_600_y_1100 := 0;
mayores_a_1100 := 0;
menores_a_600 := 0;
monto_categoria_A := 0;
monto_categoria_B := 0;
monto_global := 0;
write ('Ingresa el valor de n: ');
readln (n);
for i:=1 to n do
begin
writeln ('PROCESO ', i);
write ('Ingresa el nombre del cliente: ');
readln (nombre_del_cliente);
write ('Ingresa el valor de venta: ');
readln (venta);
writeln ('Selecciona el valor de tipo de venta.');
writeln (' 1.- A');
writeln (' 2.- B');
write (' : ');
repeat
readln (tipo_de_venta);
if (tipo_de_venta<1) or (tipo_de_venta>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo_de_venta>=1) and (tipo_de_venta<=2);
if venta>1100 then
begin
mayores_a_1100 := mayores_a_1100+1;
end;
if (venta>600) and (venta<=1100) then
begin
entre_600_y_1100 := entre_600_y_1100+1;
end;
if venta<=600 then
begin
menores_a_600 := menores_a_600+1;
end;
if tipo_de_venta=1 then
begin
descuento := venta*0.2;
end
else
begin
descuento := venta*0.35;
end;
monto := venta-descuento;
IGV := monto*0.18;
monto_final := monto+IGV;
monto_global := monto_global+monto;
if tipo_de_venta=1 then
begin
monto_categoria_A := monto_categoria_A+monto;
end
else
begin
monto_categoria_B := monto_categoria_B+monto;
end;
writeln ('Nombre del cliente: ', nombre_del_cliente);
writeln ('Valor de IGV: ', IGV:0:6);
writeln ('Valor de descuento: ', descuento:0:6);
writeln ('Valor de monto: ', monto:0:6);
writeln ('Valor de monto final: ', monto_final:0:6);
writeln;
end;
writeln ('Valor de entre 600 y 1100: ', entre_600_y_1100);
writeln ('Valor de mayores a 1100: ', mayores_a_1100);
writeln ('Valor de menores a 600: ', menores_a_600);
writeln ('Valor de monto categoria A: ', monto_categoria_A:0:6);
writeln ('Valor de monto categoria B: ', monto_categoria_B:0:6);
writeln ('Valor de monto global: ', monto_global:0:6);
write ('Presiona una tecla para terminar . . . ');
readkey;
end.
uses crt;
var entre_600_y_1100, i, mayores_a_1100, menores_a_600, n : integer;
var tipo_de_venta : integer;
var IGV, descuento, monto, monto_categoria_A, monto_categoria_B : real;
var monto_final, monto_global, venta : real;
var nombre_del_cliente : string;
begin
entre_600_y_1100 := 0;
mayores_a_1100 := 0;
menores_a_600 := 0;
monto_categoria_A := 0;
monto_categoria_B := 0;
monto_global := 0;
write ('Ingresa el valor de n: ');
readln (n);
for i:=1 to n do
begin
writeln ('PROCESO ', i);
write ('Ingresa el nombre del cliente: ');
readln (nombre_del_cliente);
write ('Ingresa el valor de venta: ');
readln (venta);
writeln ('Selecciona el valor de tipo de venta.');
writeln (' 1.- A');
writeln (' 2.- B');
write (' : ');
repeat
readln (tipo_de_venta);
if (tipo_de_venta<1) or (tipo_de_venta>2) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (tipo_de_venta>=1) and (tipo_de_venta<=2);
if venta>1100 then
begin
mayores_a_1100 := mayores_a_1100+1;
end;
if (venta>600) and (venta<=1100) then
begin
entre_600_y_1100 := entre_600_y_1100+1;
end;
if venta<=600 then
begin
menores_a_600 := menores_a_600+1;
end;
if tipo_de_venta=1 then
begin
descuento := venta*0.2;
end
else
begin
descuento := venta*0.35;
end;
monto := venta-descuento;
IGV := monto*0.18;
monto_final := monto+IGV;
monto_global := monto_global+monto;
if tipo_de_venta=1 then
begin
monto_categoria_A := monto_categoria_A+monto;
end
else
begin
monto_categoria_B := monto_categoria_B+monto;
end;
writeln ('Nombre del cliente: ', nombre_del_cliente);
writeln ('Valor de IGV: ', IGV:0:6);
writeln ('Valor de descuento: ', descuento:0:6);
writeln ('Valor de monto: ', monto:0:6);
writeln ('Valor de monto final: ', monto_final:0:6);
writeln;
end;
writeln ('Valor de entre 600 y 1100: ', entre_600_y_1100);
writeln ('Valor de mayores a 1100: ', mayores_a_1100);
writeln ('Valor de menores a 600: ', menores_a_600);
writeln ('Valor de monto categoria A: ', monto_categoria_A:0:6);
writeln ('Valor de monto categoria B: ', monto_categoria_B:0:6);
writeln ('Valor de monto global: ', monto_global:0:6);
write ('Presiona una tecla para terminar . . . ');
readkey;
end.