• Lenguaje

    Pascal

  • Descripción

    La compañía de luz "Del Centro" desea imprimir los recibos de un grupo de clientes. Desea obtener también el total de cobros del periodo. Por cada cliente se ingresa su nombre, dirección, registro inicial y registro final del consumo. El cobro se efectúa en base a la siguiente tabla:
    - 140 KVH o Menos: S/. 3.20
    - Los siguientes 170 KVH: S/. 1.60 por KVH
    - Exceso sobre 310 KVH: S/. 0.80 por KVH
    Por cada cliente se debe imprimir un recibo indicando sus datos y montos.

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

var cobro, consumo_en_KVH, registro_final_en_KVH, registro_inicial_en_KVH, total_de_cobros : real;
var nombre, direccion : string;
var tecla_repetir : char;
begin
    total_de_cobros := 0;
    repeat
        clrscr;
        write ('Ingresa el nombre: ');
        readln (nombre);
        write ('Ingresa el direccion: ');
        readln (direccion);
        write ('Ingresa el valor de registro final en KVH: ');
        readln (registro_final_en_KVH);
        write ('Ingresa el valor de registro inicial en KVH: ');
        readln (registro_inicial_en_KVH);
        consumo_en_KVH := registro_final_en_KVH-registro_inicial_en_KVH;
        cobro := 0;
        if consumo_en_KVH<=140 then
            begin
                cobro := 3.2;
            end;
        if consumo_en_KVH>140 then
            begin
                cobro := consumo_en_KVH*1.6;
            end;
        if consumo_en_KVH>310 then
            begin
                cobro := cobro+(consumo_en_KVH-310)*0.08;
            end;
        total_de_cobros := total_de_cobros+cobro;
        writeln ('Nombre: ', nombre);
        writeln ('Direccion: ', direccion);
        writeln ('Valor de cobro: ', cobro:0:6);
        writeln ('Valor de consumo en KVH: ', consumo_en_KVH: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 total de cobros: ', total_de_cobros:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.