• Lenguaje

    Pascal

  • Descripción

    A una fiesta asistieron personas de diferentes edades y sexos. Construir un algoritmo dadas las edades y sexos de las personas. Calcular:
    - Cuántas personas asistieron a la fiesta.
    - Cuántos hombres y cuantas mujeres.
    - Promedio de edades por sexo.
    - La edad de la persona más joven que asistió.
    - No se permiten menores de edad a la fiesta.

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 AsistentesAUnaFiesta;
uses crt;

var asistentes, edad, edad_mas_joven, genero, hombres : integer;
var mujeres : integer;
var promedio_hombres, promedio_mujeres : real;
var tecla_repetir : char;
begin
    asistentes := 0;
    edad_mas_joven := 0;
    hombres := 0;
    mujeres := 0;
    promedio_hombres := 0;
    promedio_mujeres := 0;
    repeat
        clrscr;
        write ('Ingresa el valor de edad: ');
        readln (edad);
        writeln ('Selecciona el valor de genero.');
        writeln ('    1.- Mujer');
        writeln ('    2.- Hombre');
        write ('    : ');
        repeat
            readln (genero);
            if (genero<1) or (genero>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (genero>=1) and (genero<=2);
        if edad>=18 then
            begin
                asistentes := asistentes+1;
            end
        else
            begin
                writeln ('No se permiten menores de edad a la fiesta.');
            end;
        if (genero=1) and (edad>=18) then
            begin
                mujeres := mujeres+1;
                promedio_mujeres := promedio_mujeres+edad;
            end;
        if (genero=2) and (edad>=18) then
            begin
                hombres := hombres+1;
                promedio_hombres := promedio_hombres+edad;
            end;
        if (edad>=18) and ((edad_mas_joven=0) or (edad_mas_joven>edad)) then
            begin
                edad_mas_joven := edad;
            end;
        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 hombres = 0 then
        promedio_hombres := 0
    else
        promedio_hombres := promedio_hombres/hombres;
    if mujeres = 0 then
        promedio_mujeres := 0
    else
        promedio_mujeres := promedio_mujeres/mujeres;
    writeln ('Valor de asistentes: ', asistentes);
    writeln ('Valor de edad mas joven: ', edad_mas_joven);
    writeln ('Valor de hombres: ', hombres);
    writeln ('Valor de mujeres: ', mujeres);
    writeln ('Valor de promedio hombres: ', promedio_hombres:0:6);
    writeln ('Valor de promedio mujeres: ', promedio_mujeres:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.