• Lenguaje

    Pascal

  • Descripción

    Ingrese el nombre del comprador, el importe de pago inicial y la forma de pago (1, 2); muestre el recargo o descuento y el importe de pago final; para continuar con el ingreso de datos de otro comprador digite una "S" o una "N" para terminar, cuando esto ocurra muestre:
    - Cantidad de clientes que pagaron al contado.
    - Cantidad de clientes que pagaron al crédito.
    - Total del importe de pago final recaudado.
    Tenga en cuenta que si el tipo de pago fue 1 se refiere a que el importe de pago se realizó al contado y por lo tanto tendrá un descuento del 15% respecto al importe de pago inicial, si el tipo de pago fue 2 se refiere a que el importe de pago se realizó con tarjeta de crédito y por lo tanto tendrá un recargo del 10% respecto al importe de pago inicial.

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

var forma_de_pago, pagaron_a_credito, pagos_al_contado : integer;
var descuento, final_recaudado, pago_final, pago_inicial, recargo : real;
var nombre_del_comprador : string;
var tecla_repetir : char;
begin
    pagaron_a_credito := 0;
    pagos_al_contado := 0;
    repeat
        clrscr;
        write ('Ingresa el nombre del comprador: ');
        readln (nombre_del_comprador);
        write ('Ingresa el valor de pago inicial: ');
        readln (pago_inicial);
        writeln ('Selecciona el valor de forma de pago.');
        writeln ('    1.- Contado');
        writeln ('    2.- Cr'#130'dito');
        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
                pagos_al_contado := pagos_al_contado+1;
                descuento := pago_inicial*0.15;
            end
        else
            begin
                pagaron_a_credito := pagaron_a_credito+1;
                recargo := pago_inicial*0.1;
            end;
        pago_final := pago_inicial+recargo-descuento;
        final_recaudado := final_recaudado+pago_final;
        writeln ('Nombre del comprador: ', nombre_del_comprador);
        writeln ('Valor de descuento: ', descuento:0:6);
        writeln ('Valor de final recaudado: ', final_recaudado:0:6);
        writeln ('Valor de pago final: ', pago_final:0:6);
        writeln ('Valor de recargo: ', recargo: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 pagaron a credito: ', pagaron_a_credito);
    writeln ('Valor de pagos al contado: ', pagos_al_contado);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.