Uma empresa decidiu fazer um levantamento em relação aos candidatos que se apresentarem para preenchimento de vagas no seu quadro de funcionários, utilizando processamento eletrônico. Supondo que você seja o programador encarregado desse levantamento, fazer um algoritmo que:
  • Leia um conjunto de dados para cada candidato contendo:
    a) Número de inscrição do candidato;
    b) Idade;
    c) Sexo (masculino, feminino);
    d) Experiência no serviço (sim ou não). O último conjunto contém o número de inscrição do candidato igual a zero.
  • Calcule:
    a) O número de candidatos do sexo feminino;
    b) O número de candidatos do sexo masculino;
    c) Idade média dos homens que já têm experiência no serviço;
    d) Porcentagem dos homens com mais de 45 anos entre o total de homens;
    e) Número de mulheres que têm idade inferior a 35 anos e com experiência no serviço;
    f) A menor idade entre mulheres que já têm experiência no serviço.
  • Escreva:
    a) O número de inscrição das mulheres pertencentes ao grupo descrito no item e;
    b) O que foi calculado em cada item acima especificado.

Passo 1

Vamos resolver um problema de processamento de lote de candidatos. A cada candidato temos:
  • número de inscrição N,
  • idade I,
  • sexo S\in\{\text{masculino},\text{feminino}\},
  • experiência E\in\{\text{sim},\text{não}\}ã.
    A leitura termina quando N=0. Precisamos calcular:
    a) total de mulheres;
    b) total de homens;
    c) idade média dos homens experientes;
    d) porcentagem de homens com mais de 45 anos;
    e) total de mulheres com I<35 e E=\text{sim};
    f) menor idade entre mulheres experientes;
    e listar os números de inscrição dessas mulheres do item e.

Passo 2

Inicializamos variáveis e estruturas: \text{cntF}=0 (conta mulheres) \text{cntM}=0 (conta homens) \text{sumIdadeHomExp}=0, \text{cntHomExp}=0 \text{cntHomMais45}=0 \text{cntMul35Exp}=0, \text{menorIdadeMulExp}=\infty \text{listaMul35Exp}=[\,]

Passo 3

Enquanto o número de inscrição N\neq 0, leia I,S,E e faça:
  • Se S=\text{feminino}:
  • incremente \text{cntF}.
  • Se I<35 e E=\text{sim}:
  • incremente \text{cntMul35Exp}.
  • anexe N em \text{listaMul35Exp}.
  • atualize \text{menorIdadeMulExp} \gets \min(\text{menorIdadeMulExp},I).
  • Se S=\text{masculino}:
  • incremente \text{cntM}.
  • Se E=\text{sim}:
  • incremente \text{cntHomExp} e faça
    \text{sumIdadeHomExp}\gets\text{sumIdadeHomExp}+I.
  • Se I>45: incremente \text{cntHomMais45}.
    Leia próximo N.

Passo 4

Após o loop, calcule os resultados pedidos:
  • (c) idade média dos homens experientes:
\text{mediaHomExp} = \begin{cases} \dfrac{\text{sumIdadeHomExp}}{\text{cntHomExp}},&\text{se }\text{cntHomExp}>0;\\\\ 0,&\text{caso contrário.} \end{cases}á
  • (d) porcentagem de homens com mais de 45 anos:
\text{percHom45} = \begin{cases} 100 \times \dfrac{\text{cntHomMais45}}{\text{cntM}},&\text{se }\text{cntM}>0;\\\\ 0,&\text{caso contrário.} \end{cases}á
  • (f) se \text{menorIdadeMulExp}=\infty, significa que não há mulheres experientes, então defina um sinalizador ou deixe em branco.

Passo 5

Agora, basta exibir:
a) os números de inscrição em \text{listaMul35Exp};
b) \text{cntF}, \text{cntM}, \text{mediaHomExp}, \text{percHom45}, \text{cntMul35Exp}, \text{menorIdadeMulExp}.

Resposta

Lista de inscrições de mulheres com I<35 e experiência: \text{listaMul35Exp}
a) Número de mulheres: \text{cntF}
b) Número de homens: \text{cntM}
c) Idade média dos homens experientes: \text{mediaHomExp}
d) Porcentagem de homens com mais de 45 anos: \text{percHom45}\%
e) Número de mulheres com I<35 e experiência: \text{cntMul35Exp}
f) Menor idade entre mulheres experientes: \text{menorIdadeMulExp} (se existirem)

Exercícios relacionados