• Lenguaje

    Pascal

  • Descripción

    Una tienda tiene una promoción durante un mes. Para esto realiza un sorteo por cada cliente que realiza una compra. El sorteo consiste en generar un número aleatorio en el rango 1 - 5. Cada uno de ellos representa el porcentaje que se le descontará al cliente por su compra así:
    Número % de descuento
    1 10
    2 20
    3 30
    4 40
    5 50
    Determinar:
    a. El valor por descontar a un cliente por su compra
    b. El valor que cliente debe pagar por su compra
    c. El total de clientes con 10, 20, 30, 40 y 50 por ciento de descuento
    d. El valor total descontado a los clientes
    e. El valor total de las compras sin descuentos
    f. El valor neto de las compras
    g. El porcentaje que representan los clientes con 10, 20, 30, 40 y 50 porciento de descuento respecto al total de clientes.

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

var clientes, clientes_con_10, clientes_con_20, clientes_con_30, clientes_con_40 : integer;
var clientes_con_50 : integer;
var compra, compras_sin_descuentos, descuento, neto_de_las_compras, numero_de_descuento : real;
var pago, porcentaje_con_10, porcentaje_con_20, porcentaje_con_30, porcentaje_con_40 : real;
var porcentaje_con_50, total_descontado : real;
var tecla_repetir : char;
begin
    randomize;
    clientes := 0;
    clientes_con_10 := 0;
    clientes_con_20 := 0;
    clientes_con_30 := 0;
    clientes_con_40 := 0;
    clientes_con_50 := 0;
    compras_sin_descuentos := 0;
    neto_de_las_compras := 0;
    porcentaje_con_10 := 0;
    porcentaje_con_20 := 0;
    porcentaje_con_30 := 0;
    porcentaje_con_40 := 0;
    porcentaje_con_50 := 0;
    total_descontado := 0;
    repeat
        clrscr;
        write ('Ingresa el valor de compra: ');
        readln (compra);
        numero_de_descuento := 1+random(5);
        descuento := compra*numero_de_descuento/10;
        pago := compra-descuento;
        clientes := clientes+1;
        compras_sin_descuentos := compras_sin_descuentos+compra;
        total_descontado := total_descontado+descuento;
        neto_de_las_compras := neto_de_las_compras+pago;
        if numero_de_descuento=1 then
            begin
                clientes_con_10 := clientes_con_10+1;
            end;
        if numero_de_descuento=2 then
            begin
                clientes_con_20 := clientes_con_20+1;
            end;
        if numero_de_descuento=3 then
            begin
                clientes_con_30 := clientes_con_30+1;
            end;
        if numero_de_descuento=4 then
            begin
                clientes_con_40 := clientes_con_40+1;
            end;
        if numero_de_descuento=5 then
            begin
                clientes_con_50 := clientes_con_50+1;
            end;
        writeln ('Valor de descuento: ', descuento:0:6);
        writeln ('Valor de numero de descuento: ', numero_de_descuento:0:6);
        writeln ('Valor de pago: ', pago:0:6);
        writeln;
        write (#168'Deseas repetir el proceso? (S/N): ');
        repeat
            tecla_repetir := readkey;
        until (tecla_repetir = 's') or (tecla_repetir = 'n') or (tecla_repetir = 'S') or (tecla_repetir = 'N');
    until (tecla_repetir <> 's') and (tecla_repetir <> 'S');
    if clientes = 0 then
        porcentaje_con_10 := 0
    else
        porcentaje_con_10 := 100*clientes_con_10/clientes;
    if clientes = 0 then
        porcentaje_con_20 := 0
    else
        porcentaje_con_20 := 100*clientes_con_20/clientes;
    if clientes = 0 then
        porcentaje_con_30 := 0
    else
        porcentaje_con_30 := 100*clientes_con_30/clientes;
    if clientes = 0 then
        porcentaje_con_40 := 0
    else
        porcentaje_con_40 := 100*clientes_con_40/clientes;
    if clientes = 0 then
        porcentaje_con_50 := 0
    else
        porcentaje_con_50 := 100*clientes_con_50/clientes;
    writeln ('Valor de clientes: ', clientes);
    writeln ('Valor de clientes con 10: ', clientes_con_10);
    writeln ('Valor de clientes con 20: ', clientes_con_20);
    writeln ('Valor de clientes con 30: ', clientes_con_30);
    writeln ('Valor de clientes con 40: ', clientes_con_40);
    writeln ('Valor de clientes con 50: ', clientes_con_50);
    writeln ('Valor de compras sin descuentos: ', compras_sin_descuentos:0:6);
    writeln ('Valor de neto de las compras: ', neto_de_las_compras:0:6);
    writeln ('Valor de porcentaje con 10: ', porcentaje_con_10:0:6);
    writeln ('Valor de porcentaje con 20: ', porcentaje_con_20:0:6);
    writeln ('Valor de porcentaje con 30: ', porcentaje_con_30:0:6);
    writeln ('Valor de porcentaje con 40: ', porcentaje_con_40:0:6);
    writeln ('Valor de porcentaje con 50: ', porcentaje_con_50:0:6);
    writeln ('Valor de total descontado: ', total_descontado:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.