• Lenguaje

    Pascal

  • Descripción

    Juan Camaney planea ofrecer el curso "Programación Avanzada" y desea realizar un algoritmo que permita determinar y dar como salida la cantidad de dinero recaudado por concepto del curso, teniendo en cuenta que se tiene por cada participante la siguiente información:
    - Sexo
    - Edad
    - Procedencia (At = Alumnos, Dt = Docentes, Pg = Público en General)
    Tomando en cuenta que dependiendo de la procedencia se cobra la siguiente tarifa:
    - At = 500000
    - Dt = 1000000
    - Pg = 2000000
    Además se pide calcular e imprimir lo siguiente:
    - Total de alumnos matriculados en el curso
    - Total de docentes matriculados en el curso
    - Porcentaje de "Público en General" matriculado.
    - Cantidad de mujeres entre 20 y 30 años matriculadas en el curso.
    - Promedio de edad de los matriculados.
    Nota: El cupo para el curso no es limitado.

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
program CursoDeProgramacionAvanzada;
uses crt;

var alumnos_matriculados, docentes_matriculados, mujeres_entre_20_y_30, participantes, procedencia : integer;
var publico_en_general, sexo : integer;
var dinero_recaudado, edad, porcentaje_publico_en_general, promedio_de_edad, tarifa : real;
var tecla_repetir : char;
begin
    alumnos_matriculados := 0;
    docentes_matriculados := 0;
    mujeres_entre_20_y_30 := 0;
    participantes := 0;
    publico_en_general := 0;
    dinero_recaudado := 0;
    porcentaje_publico_en_general := 0;
    promedio_de_edad := 0;
    repeat
        clrscr;
        write ('Ingresa el valor de edad: ');
        readln (edad);
        participantes := participantes+1;
        tarifa := 0;
        writeln ('Selecciona el valor de procedencia.');
        writeln ('    1.- At = Alumno del tecnol'#162'gico');
        writeln ('    2.- Dt = Docente del tecnol'#162'gico');
        writeln ('    3.- Pg = P'#163'blico en general');
        write ('    : ');
        repeat
            readln (procedencia);
            if (procedencia<1) or (procedencia>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (procedencia>=1) and (procedencia<=3);
        writeln ('Selecciona el valor de sexo.');
        writeln ('    1.- Mujer');
        writeln ('    2.- Hombre');
        write ('    : ');
        repeat
            readln (sexo);
            if (sexo<1) or (sexo>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (sexo>=1) and (sexo<=2);
        if procedencia=1 then
            begin
                tarifa := 500000;
                alumnos_matriculados := alumnos_matriculados+1;
            end;
        if procedencia=2 then
            begin
                tarifa := 1000000;
                docentes_matriculados := docentes_matriculados+1;
            end;
        if procedencia=3 then
            begin
                tarifa := 2000000;
                publico_en_general := publico_en_general+1;
            end;
        if (sexo=1) and (edad>=20) and (edad<=30) then
            begin
                mujeres_entre_20_y_30 := mujeres_entre_20_y_30+1;
            end;
        dinero_recaudado := dinero_recaudado+tarifa;
        promedio_de_edad := promedio_de_edad+edad;
        writeln ('Valor de tarifa: ', tarifa: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');
    if participantes = 0 then
        porcentaje_publico_en_general := 0
    else
        porcentaje_publico_en_general := 100.0*publico_en_general/participantes;
    if participantes = 0 then
        promedio_de_edad := 0
    else
        promedio_de_edad := promedio_de_edad/participantes;
    writeln ('Valor de alumnos matriculados: ', alumnos_matriculados);
    writeln ('Valor de docentes matriculados: ', docentes_matriculados);
    writeln ('Valor de mujeres entre 20 y 30: ', mujeres_entre_20_y_30);
    writeln ('Valor de participantes: ', participantes);
    writeln ('Valor de publico en general: ', publico_en_general);
    writeln ('Valor de dinero recaudado: ', dinero_recaudado:0:6);
    writeln ('Valor de porcentaje publico en general: ', porcentaje_publico_en_general:0:6);
    writeln ('Valor de promedio de edad: ', promedio_de_edad:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.