DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Fazer um programa para ler os dados (matrícula, idade, sexo, altura e concursado [S/N]) de vários funcionários de uma empresa. O último tem a matrícula igual a zero e não entra nos cálculos.

Olá pessoal! Tudo bem com vocês?
Vamos para mais um exercício de Algoritmo. Hoje utilizando o Laço do tipo Repeat.

Fonte do Algoritmo: https://docplayer.com.br/54581792-Lista-de-exercicios-estrutura-de-repeticao-for-e-while-3-criar-um-algoritmo-que-imprima-a-soma-dos-nu-meros-pares-de-230-a-520.html

Vamos ao exercício!

Fazer um programa para ler os dados (matrícula, idade, sexo, altura e concursado [S/N]) de vários funcionários de uma empresa. O último tem a matrícula igual a zero e não entra nos cálculos.
Calcular e mostrar:
a) o número de funcionárias concursadas;
b) o número de funcionários (somente homens);
c) a maior idade dos homens concursados;
d) a quantidade de mulheres com mais de 30 anos sem concurso;
e) a quantidade de concursados(as);
f) a média das alturas dos homens com menos de 40 anos.*}

Esta resposta foi desenvolvida no Lazarus.

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
program CadastroFuncionarios;
 
var
  matricula: integer;
  idade: integer;
  sexo: char;
  altura: double;
  concursado: char;
  contConcursada: integer = 0;
  contFuncionarioHomens: integer = 0;
  homemMaisVelho: integer = 0;
  qtdMulheresMaisTrintaAnosSemConcurso: integer = 0;
  qtdConcursados: integer = 0;
  mediaAlturaHomensMenos40Anos: Double;
  contHomensMenos40Anos: integer = 0;
  SomaAlturaHomensMenos40Anos: double = 0;
begin
  WriteLn(Utf8ToAnsi('Programa Cadastro de funcionários - Show Delphi'));
  WriteLn('');
  WriteLn(Utf8ToAnsi('Para parar de cadastrar, informe 0 na matrícula.'));
  WriteLn('');
  WriteLn('');
 
  repeat
    Write(Utf8ToAnsi('Informe a matrícula: '));
    ReadLn(matricula);
 
    if matricula > 0 then
    begin
      Write('Informe a idade: ');
      ReadLn(idade);
 
      Write('Informe o sexo: ');
      ReadLn(sexo);
      sexo := upcase(sexo);
 
      Write('Informe a altura: ');
      ReadLn(altura);
 
      Write(Utf8ToAnsi('É concursado?: '));
      ReadLn(concursado);
      concursado := upcase(concursado);
 
      // a) o número de funcionárias concursadas;
      if (sexo = 'F') and (concursado = 'S') then
      begin
        contConcursada := contConcursada + 1;
      end;
 
      // b) o número de funcionários (somente homens);
      if (sexo = 'M') then
      begin
        contFuncionarioHomens := contFuncionarioHomens + 1;
 
        if idade > homemMaisVelho then
        begin
          // c) a maior idade dos homens concursados;
          homemMaisVelho := idade;
        end;
 
        // contando os homens com menos de 40 anos e somando a altura para calcular a média
        // f) a média das alturas dos homens com menos de 40 anos.
        if idade < 40 then
        begin
          SomaAlturaHomensMenos40Anos:= SomaAlturaHomensMenos40Anos + altura;
          contHomensMenos40Anos := contHomensMenos40Anos + 1;
        end;
      end;
 
      // d) a quantidade de mulheres com mais de 30 anos sem concurso;
      if (sexo = 'F') and (concursado = 'N') and (idade > 30) then
      begin
        qtdMulheresMaisTrintaAnosSemConcurso := qtdMulheresMaisTrintaAnosSemConcurso + 1;
      end;
 
      // e) a quantidade de concursados(as);
      if (concursado = 'S') then
      begin
        qtdConcursados := qtdConcursados + 1;
      end;
    end;
 
    WriteLn('------');
  until (matricula = 0);
 
  // f) a média das alturas dos homens com menos de 40 anos. Calculando Média
  mediaAlturaHomensMenos40Anos := 0;
  if contHomensMenos40Anos > 0 then
  begin
    { teste para evitar divisão por zero. }
    mediaAlturaHomensMenos40Anos:= SomaAlturaHomensMenos40Anos / contHomensMenos40Anos;
  end;
 
  WriteLn('');
  WriteLn(Utf8ToAnsi('Relatório'));
  WriteLn('');
 
  WriteLn(Utf8ToAnsi('O número de funcionárias concursadas é: '), contConcursada);
  WriteLn(Utf8ToAnsi('O número de funcionários (somente homens) é: '), contFuncionarioHomens);
  WriteLn(Utf8ToAnsi('A maior idade dos homens concursados é: '), homemMaisVelho);
  WriteLn(Utf8ToAnsi('A quantidade de mulheres com mais de 30 anos sem concurso é: '), qtdMulheresMaisTrintaAnosSemConcurso);
  WriteLn(Utf8ToAnsi('A quantidade de concursados(as) é: '), qtdConcursados);
  WriteLn(Utf8ToAnsi('A média das alturas dos homens com menos de 40 anos é: '), mediaAlturaHomensMenos40Anos :0:2);
 
  WriteLn('');
  WriteLn('Enter para fechar o programa');
  ReadLn;
end.

Espero que tenham gostado!

Dúvidas ou sugestões? Utilize os comentários.

Valeu pessoal até o próximo Post!

Facebook Comments Box
  • Franciele Benedetti
  • 2.854 views
  • 0 comentários
  • 4 de maio de 2020

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário


Posts Relacionados - Continue Aprendendo

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados