• Lenguaje

    Pascal

  • Descripción

    Dado los siguientes cojuntos de datos relativos 10 empleados de una empresa:
    - Edad de la persona
    - Estado civil: Soltero (a) Casado (a) Viudo (a) Divorciado (a)
    - Sexo: femenino, masculino.
    Sueldo:
    1) Menos o igual a 1000
    2) Entre 1000 y 2500
    3) Más de 2501
    Determinar:
    a) Total empleado del sexo femenino.
    b) Total de hombres casados que ganan más de 2500.
    c) Total de mujeres viudas que ganan más de 1000.

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

var a, b, c, estado_civil, i : integer;
var sexo, sueldo : integer;
begin
    a := 0;
    b := 0;
    c := 0;
    for i:=1 to 10 do
    begin
        writeln ('PROCESO ', i);
        writeln ('Selecciona el valor de estado civil.');
        writeln ('    1.- Soltero');
        writeln ('    2.- Casado');
        writeln ('    3.- Viudo');
        writeln ('    4.- Divorciado');
        write ('    : ');
        repeat
            readln (estado_civil);
            if (estado_civil<1) or (estado_civil>4) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (estado_civil>=1) and (estado_civil<=4);
        writeln ('Selecciona el valor de sexo.');
        writeln ('    1.- Femenino');
        writeln ('    2.- Masculino');
        write ('    : ');
        repeat
            readln (sexo);
            if (sexo<1) or (sexo>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (sexo>=1) and (sexo<=2);
        writeln ('Selecciona el valor de sueldo.');
        writeln ('    1.- Menos o igual a $1000');
        writeln ('    2.- Entre $1000 y $2500');
        writeln ('    3.- M'#160's de $2500');
        write ('    : ');
        repeat
            readln (sueldo);
            if (sueldo<1) or (sueldo>3) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (sueldo>=1) and (sueldo<=3);
        if sexo=1 then
            begin
                a := a+1;
            end;
        if (sexo=2) and (estado_civil=2) and (sueldo=3) then
            begin
                b := b+1;
            end;
        if (sexo=1) and (estado_civil=3) and ((sueldo=2) or (sueldo=3)) then
            begin
                c := c+1;
            end;
        writeln;
    end;
    writeln ('Valor de a: ', a);
    writeln ('Valor de b: ', b);
    writeln ('Valor de c: ', c);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.