dicas show delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais
sombra
Artigos Show Delphi

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais
sombra
iniciantes show delphi

INICIANTES

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

Saiba mais
sombra
downloads show delphi

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
sombra
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!

  • Franciele Benedetti
  • 0 comentários
  • 4 de maio de 2020

Deixe um comentário


Posts Relacionados


Continue Aprendendo

Ir ao topo

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