• Lenguaje

    Pascal

  • Descripción

    Se está realizando una encuesta de productos, se ha encuestado a N personas y se va a registrar la información del 80% de las personas encuestadas. Usando un proceso repetitivo, ingresar el grado de instrucción (IP instrucción primaria, IS instrucción superior, SS educación superior) y la edad de cada persona. Desarrollar el algoritmo que permita que muestre lo siguiente:
    a) La cantidad de personas a registrar.
    b) La menor edad.
    c) Promedio de edades de personas con instrucción primaria.
    d) Promedio de edades de personas con instrucción 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
program EncuestaDeGradoDeInstruccionYEdad2;
uses crt;

var edad, grado_de_instruccion, i, menor_edad, n : integer;
var personas_a_registrar : integer;
var promedio_con_primaria, promedio_con_superior : real;
begin
    menor_edad := 0;
    personas_a_registrar := 0;
    promedio_con_primaria := 0;
    promedio_con_superior := 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.- IP - Instrucci'#162'n Primaria');
        writeln ('    2.- IS - Instrucci'#162'n Superior');
        writeln ('    3.- SS - Educaci'#162'n 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);
        if (i=1) or (edad>menor_edad) then
            begin
                menor_edad := edad;
            end;
        if grado_de_instruccion=1 then
            begin
                promedio_con_primaria := promedio_con_primaria+edad;
            end;
        if grado_de_instruccion=3 then
            begin
                promedio_con_superior := promedio_con_superior+edad;
            end;
        writeln;
    end;
    personas_a_registrar := n;
    if n = 0 then
        promedio_con_primaria := 0
    else
        promedio_con_primaria := promedio_con_primaria/n;
    if n = 0 then
        promedio_con_superior := 0
    else
        promedio_con_superior := promedio_con_superior/n;
    writeln ('Valor de menor edad: ', menor_edad);
    writeln ('Valor de personas a registrar: ', personas_a_registrar);
    writeln ('Valor de promedio con primaria: ', promedio_con_primaria:0:6);
    writeln ('Valor de promedio con superior: ', promedio_con_superior:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.