• Lenguaje

    Pascal

  • Descripción

    En un proceso repetitivo se registra a los asistentes a un concierto, por cada asistente se guarda: el género (Masculino, Femenino) y la ubicación de su butaca (General, Palco, VIP), se sabe que el precio de entrada es de $60, $80 y $100 de acuerdo a la ubicación de la butaca.
    Calcular lo siguiente:
    - Ingreso de datos.
    - El monto total de los ingresos según ubicación de las butacas (General, Palco, VIP).
    - La cantidad de asistentes según género (Masculino, Femenino).

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

var asistentes_femeninos, asistentes_masculinos, entrada, genero, ingresos_general : integer;
var ingresos_palco, ingresos_vip, ubicacion : integer;
var tecla_repetir : char;
begin
    asistentes_femeninos := 0;
    asistentes_masculinos := 0;
    ingresos_general := 0;
    ingresos_palco := 0;
    ingresos_vip := 0;
    repeat
        clrscr;
        writeln ('Selecciona el valor de genero.');
        writeln ('    1.- Masculino');
        writeln ('    2.- Femenino');
        write ('    : ');
        repeat
            readln (genero);
            if (genero<1) or (genero>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (genero>=1) and (genero<=2);
        writeln ('Selecciona el valor de ubicacion.');
        writeln ('    1.- General');
        writeln ('    2.- Palco');
        writeln ('    3.- VIP');
        write ('    : ');
        repeat
            readln (ubicacion);
            if (ubicacion<1) or (ubicacion>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (ubicacion>=1) and (ubicacion<=3);
        entrada := 0;
        if ubicacion=1 then
            begin
                entrada := 60;
                ingresos_general := ingresos_general+entrada;
            end;
        if ubicacion=2 then
            begin
                entrada := 80;
                ingresos_palco := ingresos_palco+entrada;
            end;
        if ubicacion=3 then
            begin
                entrada := 100;
                ingresos_vip := ingresos_vip+entrada;
            end;
        if genero=1 then
            begin
                asistentes_masculinos := asistentes_masculinos+1;
            end
        else
            begin
                asistentes_femeninos := asistentes_femeninos+1;
            end;
        writeln ('Valor de entrada: ', entrada);
        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 asistentes femeninos: ', asistentes_femeninos);
    writeln ('Valor de asistentes masculinos: ', asistentes_masculinos);
    writeln ('Valor de ingresos general: ', ingresos_general);
    writeln ('Valor de ingresos palco: ', ingresos_palco);
    writeln ('Valor de ingresos vip: ', ingresos_vip);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.