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 projeto em Delphi ou Lazarus para ler o ano e o mês de nascimento (1 a 12) de uma pessoa, bem como o mês atual. Caso o mês atual seja igual ao mês de nascimento, escrever uma mensagem dizendo que “é mês referente a seu aniversário”, caso contrário, escrever uma mensagem informando que “não é o mês do seu aniversário”. Calcular e mostrar a idade dessa pessoa levando-se em conta apenas o mês e o ano

O exercício foi baseados na seguinte página:
https://www.ifmg.edu.br/ceadop3/apostilas/algoritmos-e-programacao

Vamos ao exercício!

Fazer um projeto em Delphi ou Lazarus para ler o ano e o mês de nascimento (1 a 12) de uma pessoa, bem como o mês atual.

Ou seja ler o ano de nascimento e o ano atual.
Também ler o mês de nascimento e o mês atual.

Caso o mês atual seja igual ao mês de nascimento,
escrever uma mensagem dizendo que é mês referente a seu aniversário”,
caso contrário,
escrever uma mensagem informando que “não é o mês do seu aniversário”.

A etapa acima basicamente é um “IF”.

Calcular e mostrar a idade dessa pessoa levando-se em conta apenas o mês e o ano.

Esta etapa é o relatório dos dados processados.

Aproveitando o exercício, vamos criar uma função para ir se familiarizando
com o código.

Dentro da função, vamos aproveitar e utilizar um “CASE” também para ir treinando.

Agora sim vamos ao código fonte, lembrando que há comentários explicando
os comandos.

Esta é uma sugestão de resposta em Pascal, Delphi, 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
program project25;
 
uses
SysUtils;
 
{ Exemplo de função }
function NomeMes(pNumeroMes : Integer) : string;
begin
case pNumeroMes of
1: Result := 'janeiro';
2: Result := 'fevereiro';
3: Result := 'março';
4: Result := 'abril';
5: Result := 'maio';
6: Result := 'junho';
7: Result := 'julho';
8: Result := 'agosto';
9: Result := 'setembro';
10: Result := 'outubro';
11: Result := 'novembro';
12: Result := 'dezembro';
else
Result := 'inválido';
end;
end;
 
{ Inicio do programa principal }
var
anoNascimento: integer;
mesNascimento: integer;
mesAtual: integer;
anoAtual: integer;
idadeA: integer;
mes: integer;
begin
Write(Utf8ToAnsi('Informe o seu ano de nascimento: '));
ReadLn(anoNascimento);
 
Write(Utf8ToAnsi('Informe o ano atual: '));
ReadLn(anoAtual);
 
{ Validando anos }
if anoAtual < anoNascimento then
begin
WriteLn(Utf8ToAnsi('O ano atual não pode ser inferiror ao ano de nascimento!'));
Readln;
Exit;
end;
 
{ Deixando uma linha em branco }
WriteLn('');
 
WriteLn(Utf8ToAnsi('Agora informe o Mês de nascimento seguindo a regra.'));
WriteLn(Utf8ToAnsi('Infome 1 para o mês de janeiro, 2 para fevereiro e assim sucessivamente até o 12. '));
 
WriteLn('');
Write(Utf8ToAnsi('Mês de nascimento: '));
ReadLn(mesNascimento);
 
Write(Utf8ToAnsi('Informe o mês atual: '));
ReadLn(mesAtual);
 
{ Validando mês de nascimento }
if ((mesNascimento > 12) or (mesNascimento < 1)) then
begin
WriteLn(Utf8ToAnsi('Mês de nascimento inválido!'));
Readln;
Exit;
end;
 
{ Validando mês atual }
if ((mesAtual > 12) or (mesAtual < 1)) then
begin
WriteLn(Utf8ToAnsi('Mês de nascimento inválido!'));
Readln;
Exit;
end;
 
{ Relatorio }
WriteLn('');
 
WriteLn(Utf8ToAnsi('Mês de Aniversário: ' + NomeMes(mesNascimento) ));
WriteLn(Utf8ToAnsi('Mês Atual: ' + NomeMes(mesAtual) ));
 
if mesAtual = mesNascimento then
begin
Write(
Utf8ToAnsi(NomeMes(mesAtual) + ' é o mês referente a seu aniversário.'));
end
else
begin
WriteLn(
Utf8ToAnsi(NomeMes(mesAtual) + ' não é o mês do seu aniversário.'));
end;
 
idadeA := anoAtual - anoNascimento;
mes := mesAtual - mesNascimento;
 
if mes < 0 then
begin
{ Atualiza o tempo em anos }
idadeA := idadeA - 1;
 
{ PAra quem ainda não completou 1 ano }
if idadeA < 0 then
begin
idadeA := 0;
end;
 
{ Contando os meses 12 menos a diferença do mes atual e mes de nascimento
Exemplo Mes Atual agosto, Mes aniver novembro
11 - 8 = 4
12 - 4 = 8
8 meses }
 
{ Deixa sempre positivo a quantidade }
mes := abs(mes);
 
{ Calculando com a formula acima }
mes := 12 - mes;
end;
 
WriteLn(Utf8ToAnsi('A sua idade é de: '), idadeA, ' anos e ',
mes, ' meses. ');
 
ReadLn;
end.

Olha pessoal, acredito que ficou excelente, gostei bastante do efeito.
Para o teste do fonte utilize o Lazarus 2.0.

Lembrando que se vocês quiserem em outras linguagens, por favor indiquem nos comentários.
Precisamos de vários pedidos para fazer, uma vez que o tempo é apertado.

Dúvidas ou sugestões? Também deixem seus comentários!

Um Abraço e até a próxima.

  • Franciele Benedetti
  • 1 comentários
  • 18 de setembro de 2019

Uma resposta para “Fazer um projeto em Delphi ou Lazarus para ler o ano e o mês de nascimento (1 a 12) de uma pessoa, bem como o mês atual. Caso o mês atual seja igual ao mês de nascimento, escrever uma mensagem dizendo que “é mês referente a seu aniversário”, caso contrário, escrever uma mensagem informando que “não é o mês do seu aniversário”. Calcular e mostrar a idade dessa pessoa levando-se em conta apenas o mês e o ano”

  1. Mário Reis, a princípio o código está totalmente compatível.

Deixe um comentário


Posts Relacionados


Continue Aprendendo

Ir ao topo

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