• Lenguaje

    Pascal

  • Descripción

    Una empresa necesita realizar un censo entre sus empleados con la siguiente información: estado civil, número de hijos, casa propia. Se debe establecer el porcentaje de empleados con vivienda propia, porcentaje de casados y porcentaje de solteros.

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

var casados, con_vivienda_propia, empleados, estado_civil, solteros : integer;
var tipo_de_vivienda : integer;
var porcentaje_casados, porcentaje_con_vivienda_propia, porcentaje_solteros : real;
var tecla_repetir : char;
begin
    casados := 0;
    con_vivienda_propia := 0;
    empleados := 0;
    solteros := 0;
    porcentaje_casados := 0;
    porcentaje_con_vivienda_propia := 0;
    porcentaje_solteros := 0;
    repeat
        clrscr;
        empleados := empleados+1;
        writeln ('Selecciona el valor de estado civil.');
        writeln ('    1.- Soltero');
        writeln ('    2.- Casado');
        write ('    : ');
        repeat
            readln (estado_civil);
            if (estado_civil<1) or (estado_civil>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (estado_civil>=1) and (estado_civil<=2);
        writeln ('Selecciona el valor de tipo de vivienda.');
        writeln ('    1.- propia');
        writeln ('    2.- rentada');
        writeln ('    3.- otro');
        write ('    : ');
        repeat
            readln (tipo_de_vivienda);
            if (tipo_de_vivienda<1) or (tipo_de_vivienda>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (tipo_de_vivienda>=1) and (tipo_de_vivienda<=3);
        if estado_civil=1 then
            begin
                solteros := solteros+1;
            end
        else
            begin
                casados := casados+1;
            end;
        if tipo_de_vivienda=1 then
            begin
                con_vivienda_propia := con_vivienda_propia+1;
            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 empleados = 0 then
        porcentaje_casados := 0
    else
        porcentaje_casados := 100.0*casados/empleados;
    if empleados = 0 then
        porcentaje_con_vivienda_propia := 0
    else
        porcentaje_con_vivienda_propia := 100.0*con_vivienda_propia/empleados;
    if empleados = 0 then
        porcentaje_solteros := 0
    else
        porcentaje_solteros := 100.0*solteros/empleados;
    writeln ('Valor de casados: ', casados);
    writeln ('Valor de con vivienda propia: ', con_vivienda_propia);
    writeln ('Valor de empleados: ', empleados);
    writeln ('Valor de solteros: ', solteros);
    writeln ('Valor de porcentaje casados: ', porcentaje_casados:0:6);
    writeln ('Valor de porcentaje con vivienda propia: ', porcentaje_con_vivienda_propia:0:6);
    writeln ('Valor de porcentaje solteros: ', porcentaje_solteros:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.