-
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.
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
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.