• 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

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
program RebajasDeFinDeTemporada;
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.