• Lenguaje

    Pascal

  • Descripción

    "El náufrago satisfecho" ofrece hamburguesas sencillas (S), dobles (D) y triples (T), las cuales tienen un costo de $20, $25 y $28 respectivamente. La empresa acepta tarjetas de crédito con un cargo de 5 % sobre la compra. Suponiendo que los clientes adquieren N hamburguesas, las cuales pueden ser de diferente tipo, realice un algoritmo para determinar cuánto deben pagar.

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

var forma_de_pago, i, n, tipo_de_hamburguesa : integer;
var cargo, costo, pago : real;
begin
    pago := 0;
    write ('Ingresa el valor de n: ');
    readln (n);
    for i:=1 to n do
    begin
        writeln ('PROCESO ', i);
        writeln ('Selecciona el valor de tipo de hamburguesa.');
        writeln ('    1.- S sencilla');
        writeln ('    2.- D doble');
        writeln ('    3.- T triples');
        write ('    : ');
        repeat
            readln (tipo_de_hamburguesa);
            if (tipo_de_hamburguesa<1) or (tipo_de_hamburguesa>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (tipo_de_hamburguesa>=1) and (tipo_de_hamburguesa<=3);
        costo := 0;
        if tipo_de_hamburguesa=1 then
            begin
                costo := 10000;
            end;
        if tipo_de_hamburguesa=2 then
            begin
                costo := 15000;
            end;
        if tipo_de_hamburguesa=3 then
            begin
                costo := 28000;
            end;
        writeln ('Selecciona el valor de forma de pago.');
        writeln ('    1.- Efectivo');
        writeln ('    2.- Tarjeta');
        write ('    : ');
        repeat
            readln (forma_de_pago);
            if (forma_de_pago<1) or (forma_de_pago>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (forma_de_pago>=1) and (forma_de_pago<=2);
        if forma_de_pago=1 then
            begin
                cargo := 0;
            end
        else
            begin
                cargo := costo*0.05;
            end;
        pago := pago+costo+cargo;
        writeln ('Valor de cargo: ', cargo:0:6);
        writeln ('Valor de costo: ', costo:0:6);
        writeln;
    end;
    writeln ('Valor de pago: ', pago:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.