• Lenguaje

    Pascal

  • Descripción

    Un negocio vende 4 tipos de electrodomésticos:
    - Lavadoras: $150,000
    - Refrigeradores: $300,000
    - Cocinas: $120,000
    - Microondas: $80,000.
    Asumiendo que cada cliente puede llevar 0 o mas items de cada electrodomestico, determine:
    1) El monto recibido por concepto de ventas de lavadoras.
    2) La cantidad de refrigeradores y cocinas compradas.
    3) El total a pagar por cliente.
    Asuma para ello que en caso de comprar cocinas, esta se encuentran con x% de descuento, si se paga en efectivo.
    Valide que el descuento sea un porcentaje dentro del rango entre 1 y 30.
    En caso contrario, asuma descuento 0.

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

var cantidad_cocinas_compradas, cantidad_refrigeradores_comprados, tipo_de_pago : integer;
var cantidad_de_cocinas, cantidad_de_lavadoras, cantidad_de_microondas, cantidad_de_refrigeradores, descuento : real;
var porcentaje_de_descuento, total_a_pagar, ventas_de_lavadoras : real;
var tecla_repetir : char;
begin
    cantidad_cocinas_compradas := 0;
    cantidad_refrigeradores_comprados := 0;
    ventas_de_lavadoras := 0;
    repeat
        clrscr;
        write ('Ingresa el valor de cantidad de cocinas: ');
        readln (cantidad_de_cocinas);
        write ('Ingresa el valor de cantidad de lavadoras: ');
        readln (cantidad_de_lavadoras);
        write ('Ingresa el valor de cantidad de microondas: ');
        readln (cantidad_de_microondas);
        write ('Ingresa el valor de cantidad de refrigeradores: ');
        readln (cantidad_de_refrigeradores);
        write ('Ingresa el valor de porcentaje de descuento: ');
        readln (porcentaje_de_descuento);
        ventas_de_lavadoras := ventas_de_lavadoras+cantidad_de_lavadoras*150000;
        writeln ('Selecciona el valor de tipo de pago.');
        writeln ('    1.- Efectivo');
        writeln ('    2.- Tarjeta');
        write ('    : ');
        repeat
            readln (tipo_de_pago);
            if (tipo_de_pago<1) or (tipo_de_pago>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (tipo_de_pago>=1) and (tipo_de_pago<=2);
        cantidad_cocinas_compradas := cantidad_cocinas_compradas+cantidad_de_cocinas;
        cantidad_refrigeradores_comprados := cantidad_refrigeradores_comprados+cantidad_de_refrigeradores;
        total_a_pagar := cantidad_de_lavadoras*150000+cantidad_de_refrigeradores*300000+cantidad_de_cocinas*120000+cantidad_de_microondas*80000;
        descuento := 0;
        if (cantidad_de_cocinas>0) and (tipo_de_pago=1) and (porcentaje_de_descuento>=0) and (porcentaje_de_descuento<=30) then
            begin
                descuento := cantidad_de_cocinas*120000*porcentaje_de_descuento/100;
                total_a_pagar := total_a_pagar-descuento;
            end;
        writeln ('Valor de descuento: ', descuento:0:6);
        writeln ('Valor de total a pagar: ', total_a_pagar: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');
    writeln ('Valor de cantidad cocinas compradas: ', cantidad_cocinas_compradas);
    writeln ('Valor de cantidad refrigeradores comprados: ', cantidad_refrigeradores_comprados);
    writeln ('Valor de ventas de lavadoras: ', ventas_de_lavadoras:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.