• Lenguaje

    Pascal

  • Descripción

    Se ha seleccionado n números de personas para realizar una encuesta, en un proceso repetitivo se ingresa el grado de instrucción y la edad de cada persona. Se desea saber el promedio de edades, la mayor edad y el porcentaje de personas con instrucción: Primaria, Secundaria y Superior.

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

var cantidad_primaria, cantidad_secundaria, cantidad_superior, edad, grado_de_instruccion : integer;
var i, mayor_edad, n : integer;
var porcentaje_primaria, porcentaje_secundaria, porcentaje_superior, promedio_de_edades : real;
begin
    cantidad_primaria := 0;
    cantidad_secundaria := 0;
    cantidad_superior := 0;
    mayor_edad := 0;
    porcentaje_primaria := 0;
    porcentaje_secundaria := 0;
    porcentaje_superior := 0;
    promedio_de_edades := 0;
    write ('Ingresa el valor de n: ');
    readln (n);
    for i:=1 to n do
    begin
        writeln ('PROCESO ', i);
        write ('Ingresa el valor de edad: ');
        readln (edad);
        writeln ('Selecciona el valor de grado de instruccion.');
        writeln ('    1.- Primaria');
        writeln ('    2.- Secundaria');
        writeln ('    3.- Superior');
        write ('    : ');
        repeat
            readln (grado_de_instruccion);
            if (grado_de_instruccion<1) or (grado_de_instruccion>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (grado_de_instruccion>=1) and (grado_de_instruccion<=3);
        promedio_de_edades := promedio_de_edades+edad;
        if (i=1) or (mayor_edad<edad) then
            begin
                mayor_edad := edad;
            end;
        if grado_de_instruccion=1 then
            begin
                cantidad_primaria := cantidad_primaria+1;
            end;
        if grado_de_instruccion=2 then
            begin
                cantidad_secundaria := cantidad_secundaria+1;
            end;
        if grado_de_instruccion=3 then
            begin
                cantidad_superior := cantidad_superior+1;
            end;
        writeln;
    end;
    if n = 0 then
        porcentaje_primaria := 0
    else
        porcentaje_primaria := 100.0*cantidad_primaria/n;
    if n = 0 then
        porcentaje_secundaria := 0
    else
        porcentaje_secundaria := 100.0*cantidad_secundaria/n;
    if n = 0 then
        porcentaje_superior := 0
    else
        porcentaje_superior := 100.0*cantidad_superior/n;
    if n = 0 then
        promedio_de_edades := 0
    else
        promedio_de_edades := promedio_de_edades/n;
    writeln ('Valor de cantidad primaria: ', cantidad_primaria);
    writeln ('Valor de cantidad secundaria: ', cantidad_secundaria);
    writeln ('Valor de cantidad superior: ', cantidad_superior);
    writeln ('Valor de mayor edad: ', mayor_edad);
    writeln ('Valor de porcentaje primaria: ', porcentaje_primaria:0:6);
    writeln ('Valor de porcentaje secundaria: ', porcentaje_secundaria:0:6);
    writeln ('Valor de porcentaje superior: ', porcentaje_superior:0:6);
    writeln ('Valor de promedio de edades: ', promedio_de_edades:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.