-
Lenguaje
Pascal
-
Descripción
Una persona realiza una compra por N valor en un establecimiento, tiene las siguientes formas de pago:
Forma de pago | Porcentaje de descuento o financiamiento
Contado | Tiene un descuento del 20%
Crédito a 15 días | Tiene un incremento del 5% por financiación
Crédito a 30 días | Tiene un incremento del 10% por financiación
Crédito a 60 días | Tiene un incremento del 15% por financiación
Crédito a 90 días | Tiene un incremento del 20% por financiación
Se requiere determinar el valor a pagar por el cliente según la forma de pago seleccionada, se le debe indicar el porcentaje de descuento y el valor descontado, el porcentaje de financiación y valor de incremento por financiamiento y el neto a pagar por su compra.
A demás de sedea conocer:
1. El total descontado a los clientes.
2. El total pagado por los clientes por crédito a 15 días.
3. El total pagado por los clientes por crédito a 30 días.
4. El total pagado por los clientes por crédito a 60 días.
5. El total pagado por los clientes por crédito a 90 días.
6. El total pagado por los clientes por sus créditos realizados.
7. El total de las compras sin descuento ni financiamiento.
8. El número de compras realizadas al contado.
9. El número de compras realizadas a Crédito a 15 días.
10. El número de compras realizadas a Crédito a 30 días.
11. El número de compras realizadas a Crédito a 60 días.
12. El número de compras realizadas a Crédito a 90 días.
13. El porcentaje que representa las compras al contado respecto al total de todas las compras.
14. El porcentaje que representa las compras a crédito a 15 días respecto al total de todas las compras.
15. El porcentaje que representa las compras a crédito a 30 días respecto al total de todas las compras.
16. El porcentaje que representa las compras a crédito a 60 días respecto al total de todas las compras.
17. El porcentaje que representa las compras a crédito a 90 días respecto al total de todas las compras.
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
uses crt;
var forma_de_pago, i, n, resultado_08, resultado_09 : integer;
var resultado_10, resultado_11, resultado_12 : integer;
var compra, descontado, incremento_por_financiamiento, neto_a_pagar, porcentaje_de_descuento : real;
var porcentaje_de_financiacion, resultado_01, resultado_02, resultado_03, resultado_04 : real;
var resultado_05, resultado_06, resultado_07, resultado_13, resultado_14 : real;
var resultado_15, resultado_16, resultado_17 : real;
begin
resultado_08 := 0;
resultado_09 := 0;
resultado_10 := 0;
resultado_11 := 0;
resultado_12 := 0;
resultado_01 := 0;
resultado_02 := 0;
resultado_03 := 0;
resultado_04 := 0;
resultado_05 := 0;
resultado_06 := 0;
resultado_07 := 0;
resultado_13 := 0;
resultado_14 := 0;
resultado_15 := 0;
resultado_16 := 0;
resultado_17 := 0;
write ('Ingresa el valor de n: ');
readln (n);
for i:=1 to n do
begin
writeln ('PROCESO ', i);
write ('Ingresa el valor de compra: ');
readln (compra);
porcentaje_de_descuento := 0;
porcentaje_de_financiacion := 0;
writeln ('Selecciona el valor de forma de pago.');
writeln (' 1.- Contado');
writeln (' 2.- Cr'#130'dito a 15 d'#161'as');
writeln (' 3.- Cr'#130'dito a 30 d'#161'as');
writeln (' 4.- Cr'#130'dito a 60 d'#161'as');
writeln (' 5.- Cr'#130'dito a 90 d'#161'as');
write (' : ');
repeat
readln (forma_de_pago);
if (forma_de_pago<1) or (forma_de_pago>5) then
write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
until (forma_de_pago>=1) and (forma_de_pago<=5);
if forma_de_pago=1 then
begin
porcentaje_de_descuento := 20;
end;
if forma_de_pago=2 then
begin
porcentaje_de_financiacion := 5;
end;
if forma_de_pago=3 then
begin
porcentaje_de_financiacion := 10;
end;
if forma_de_pago=4 then
begin
porcentaje_de_financiacion := 15;
end;
if forma_de_pago=5 then
begin
porcentaje_de_financiacion := 20;
end;
descontado := compra*porcentaje_de_descuento/100;
incremento_por_financiamiento := compra*porcentaje_de_financiacion/100;
neto_a_pagar := compra-descontado+incremento_por_financiamiento;
resultado_01 := resultado_01+descontado;
resultado_06 := resultado_06+incremento_por_financiamiento;
if forma_de_pago=1 then
begin
resultado_08 := resultado_08+1;
end;
if forma_de_pago=2 then
begin
resultado_02 := resultado_02+incremento_por_financiamiento;
resultado_09 := resultado_09+1;
end;
if forma_de_pago=3 then
begin
resultado_03 := resultado_03+incremento_por_financiamiento;
resultado_10 := resultado_10+1;
end;
if forma_de_pago=4 then
begin
resultado_04 := resultado_04+incremento_por_financiamiento;
resultado_11 := resultado_11+1;
end;
if forma_de_pago=5 then
begin
resultado_05 := resultado_05+incremento_por_financiamiento;
resultado_12 := resultado_12+1;
end;
writeln ('Valor de descontado: ', descontado:0:6);
writeln ('Valor de incremento por financiamiento: ', incremento_por_financiamiento:0:6);
writeln ('Valor de neto a pagar: ', neto_a_pagar:0:6);
writeln ('Valor de porcentaje de descuento: ', porcentaje_de_descuento:0:6);
writeln ('Valor de porcentaje de financiacion: ', porcentaje_de_financiacion:0:6);
writeln;
end;
if n = 0 then
resultado_13 := 0
else
resultado_13 := 100.0*resultado_08/n;
if n = 0 then
resultado_14 := 0
else
resultado_14 := 100.0*resultado_09/n;
if n = 0 then
resultado_15 := 0
else
resultado_15 := 100.0*resultado_10/n;
if n = 0 then
resultado_16 := 0
else
resultado_16 := 100.0*resultado_11/n;
if n = 0 then
resultado_17 := 0
else
resultado_17 := 100.0*resultado_12/n;
writeln ('Valor de resultado 08: ', resultado_08);
writeln ('Valor de resultado 09: ', resultado_09);
writeln ('Valor de resultado 10: ', resultado_10);
writeln ('Valor de resultado 11: ', resultado_11);
writeln ('Valor de resultado 12: ', resultado_12);
writeln ('Valor de resultado 01: ', resultado_01:0:6);
writeln ('Valor de resultado 02: ', resultado_02:0:6);
writeln ('Valor de resultado 03: ', resultado_03:0:6);
writeln ('Valor de resultado 04: ', resultado_04:0:6);
writeln ('Valor de resultado 05: ', resultado_05:0:6);
writeln ('Valor de resultado 06: ', resultado_06:0:6);
writeln ('Valor de resultado 07: ', resultado_07:0:6);
writeln ('Valor de resultado 13: ', resultado_13:0:6);
writeln ('Valor de resultado 14: ', resultado_14:0:6);
writeln ('Valor de resultado 15: ', resultado_15:0:6);
writeln ('Valor de resultado 16: ', resultado_16:0:6);
writeln ('Valor de resultado 17: ', resultado_17:0:6);
write ('Presiona una tecla para terminar . . . ');
readkey;
end.