• Lenguaje

    Pascal

  • Descripción

    Un supermercado ofrece a sus clientes descuentos de acuerdo al monto de compra, como se muestra en el siguiente cuadro:
    Compra (S/.) | Descuento (%)
    0 - 250 | 3
    251 - 500 | 5
    501 - más | 10
    Dependiendo del rubro de la compra, se le aplica el siguiente impuesto sobre la compra descontada.
    Rubro | Impuesto (%)
    Comestibles | 15
    Juguetes | 20
    Construir un algoritmo que calcule el pago total que hará un determinado 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
program DescuentosPorElRubroDeLaCompra;
uses crt;

var rubro_de_la_compra : integer;
var descuento, impuesto, monto_de_compra, pago_total : real;
begin
    write ('Ingresa el valor de monto de compra: ');
    readln (monto_de_compra);
    descuento := 0;
    if monto_de_compra<=250 then
        begin
            descuento := monto_de_compra*0.03;
        end;
    if (monto_de_compra>250) and (monto_de_compra<=500) then
        begin
            descuento := monto_de_compra*0.05;
        end;
    if monto_de_compra>500 then
        begin
            descuento := monto_de_compra*0.1;
        end;
    writeln ('Selecciona el valor de rubro de la compra.');
    writeln ('    1.- Comestibles');
    writeln ('    2.- Juguetes');
    write ('    : ');
    repeat
        readln (rubro_de_la_compra);
        if (rubro_de_la_compra<1) or (rubro_de_la_compra>2) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (rubro_de_la_compra>=1) and (rubro_de_la_compra<=2);
    if rubro_de_la_compra=1 then
        begin
            impuesto := (monto_de_compra-descuento)*0.15;
        end
    else
        begin
            impuesto := (monto_de_compra-descuento)*0.2;
        end;
    pago_total := monto_de_compra-descuento+impuesto;
    writeln ('Valor de descuento: ', descuento:0:6);
    writeln ('Valor de impuesto: ', impuesto:0:6);
    writeln ('Valor de pago total: ', pago_total:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.