• Lenguaje

    Pascal

  • Descripción

    Un Supermercado necesita determinar el descuento para N clientes. Si el monto de la compra del cliente es mayor de S/. 5000 se le hará un descuento del 30%, si es menor o igual a S/. 5000 pero mayor que S/. 3000 será del 20%, si no rebasa los S/. 3000 pero si los S/. 1000 la rebaja efectiva es del 10% y en caso de que no rebase los S/. 1000 no tendrá beneficio.
    Se pide:
    a) Número de clientes que no obtuvieron descuento.
    b) La mayor y menor compra.
    c) El promedio de compra de los N clientes.
    d) El total de descuentos otorgado.

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
program DescuentoParaNClientes;
uses crt;

var clientes_sin_descuento, i, n : integer;
var descuento, mayor_compra, menor_compra, monto_de_la_compra, promedio_de_compra : real;
var total, total_de_descuentos : real;
begin
    clientes_sin_descuento := 0;
    mayor_compra := 0;
    menor_compra := 0;
    promedio_de_compra := 0;
    total_de_descuentos := 0;
    write ('Ingresa el valor de n: ');
    readln (n);
    for i:=1 to n do
    begin
        writeln ('PROCESO ', i);
        write ('Ingresa el valor de monto de la compra: ');
        readln (monto_de_la_compra);
        descuento := 0;
        if monto_de_la_compra>5000 then
            begin
                descuento := monto_de_la_compra*0.3;
            end;
        if (monto_de_la_compra>3000) and (monto_de_la_compra<=5000) then
            begin
                descuento := monto_de_la_compra*0.2;
            end;
        if (monto_de_la_compra>1000) and (monto_de_la_compra<=3000) then
            begin
                descuento := monto_de_la_compra*0.1;
            end;
        if monto_de_la_compra<=1000 then
            begin
                clientes_sin_descuento := clientes_sin_descuento+1;
            end;
        total := monto_de_la_compra-descuento;
        if (i=1) or (mayor_compra<monto_de_la_compra) then
            begin
                mayor_compra := monto_de_la_compra;
            end;
        if (i=1) or (menor_compra>monto_de_la_compra) then
            begin
                menor_compra := monto_de_la_compra;
            end;
        promedio_de_compra := promedio_de_compra+monto_de_la_compra;
        total_de_descuentos := total_de_descuentos+descuento;
        writeln ('Valor de descuento: ', descuento:0:6);
        writeln ('Valor de total: ', total:0:6);
        writeln;
    end;
    if n = 0 then
        promedio_de_compra := 0
    else
        promedio_de_compra := promedio_de_compra/n;
    writeln ('Valor de clientes sin descuento: ', clientes_sin_descuento);
    writeln ('Valor de mayor compra: ', mayor_compra:0:6);
    writeln ('Valor de menor compra: ', menor_compra:0:6);
    writeln ('Valor de promedio de compra: ', promedio_de_compra:0:6);
    writeln ('Valor de total de descuentos: ', total_de_descuentos:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.