-
Lenguaje
Pascal
-
Descripción
Aprovechando las rebajas de "fin de temporada", se le encarga a Ud. escribir un algoritmo que permita calcular y mostrar el precio total de una compra de varios artículos (N artículos) de cuatro tipos distintos; botas, abrigos, computadores y refrigeradores. Los precios individuales y descuentos para cada tipo son:
| Artículo | Precio | Descuento |
| Botas | $20.000 | 21% |
| Abrigos | $30.000 | 38% |
| Computadores | $235.000 | 24% |
| Refrigeradores | $ 240.000 | 36% |
Los clientes pueden comprar cualquier cantidad de estos artículos. Por ejemplo, una persona podría comprar tres pares de botas, dos abrigos, un computador y un refrigerador, con lo cual el precio total sería:
- Botas: 3 x $20.000 - 21% = $60.000 - $12.600 = $47.400
- Abrigos: 2 x $30.000 - 38% = $60.000 - $22.800 = $37.200
- Computador: 1 x $235.000 - 24% = $235.000 - $56.400 = $178.600
- Refrigerador: 1 x $240.000 - 36% = $240.000 - $86.400 = $153.600
Total: $416.800
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
uses crt;
var descuento_por_abrigos, descuento_por_botas, descuento_por_computadores, descuento_por_refrigeradores, n_abrigos : real;
var n_botas, n_computadores, n_refrigeradores, subtotal_por_abrigos, subtotal_por_botas : real;
var subtotal_por_computadores, subtotal_por_refrigeradores, total, total_por_abrigos, total_por_botas : real;
var total_por_computadores, total_por_refrigeradores : real;
begin
write ('Ingresa el valor de n abrigos: ');
readln (n_abrigos);
write ('Ingresa el valor de n botas: ');
readln (n_botas);
write ('Ingresa el valor de n computadores: ');
readln (n_computadores);
write ('Ingresa el valor de n refrigeradores: ');
readln (n_refrigeradores);
subtotal_por_botas := 20000.0*n_botas;
descuento_por_botas := subtotal_por_botas*0.21;
total_por_botas := subtotal_por_botas-descuento_por_botas;
subtotal_por_abrigos := 30000.0*n_abrigos;
descuento_por_abrigos := subtotal_por_abrigos*0.38;
total_por_abrigos := subtotal_por_abrigos-descuento_por_abrigos;
subtotal_por_computadores := 235000.0*n_computadores;
descuento_por_computadores := subtotal_por_computadores*0.24;
total_por_computadores := subtotal_por_computadores-descuento_por_computadores;
subtotal_por_refrigeradores := 240000.0*n_refrigeradores;
descuento_por_refrigeradores := subtotal_por_refrigeradores*0.36;
total_por_refrigeradores := subtotal_por_refrigeradores-descuento_por_refrigeradores;
total := total_por_botas+total_por_abrigos+total_por_computadores+total_por_refrigeradores;
writeln ('Valor de descuento por abrigos: ', descuento_por_abrigos:0:6);
writeln ('Valor de descuento por botas: ', descuento_por_botas:0:6);
writeln ('Valor de descuento por computadores: ', descuento_por_computadores:0:6);
writeln ('Valor de descuento por refrigeradores: ', descuento_por_refrigeradores:0:6);
writeln ('Valor de subtotal por abrigos: ', subtotal_por_abrigos:0:6);
writeln ('Valor de subtotal por botas: ', subtotal_por_botas:0:6);
writeln ('Valor de subtotal por computadores: ', subtotal_por_computadores:0:6);
writeln ('Valor de subtotal por refrigeradores: ', subtotal_por_refrigeradores:0:6);
writeln ('Valor de total: ', total:0:6);
writeln ('Valor de total por abrigos: ', total_por_abrigos:0:6);
writeln ('Valor de total por botas: ', total_por_botas:0:6);
writeln ('Valor de total por computadores: ', total_por_computadores:0:6);
writeln ('Valor de total por refrigeradores: ', total_por_refrigeradores:0:6);
writeln;
write ('Presiona una tecla para terminar . . . ');
readkey;
end.