Leia uma data de nascimento de uma pessoa fornecida através de três números inteiros: Dia, Mês e Ano. Teste a validade desta data para saber se esta é uma data válida. Teste se o dia fornecido é um dia válido: dia >0, dia <= 28 para o mês de fevereiro ( 29 se o ano for bissexto), dia <= 30 em abril, junho, setembro e novembro, dia <= 31 nos outros meses. Teste a validade do mês: mês >0 e mês <13. Teste a validade do ano: ano <= ano atual (use uma constante definida com o valor igual a 2008). Imprimir:

Passo 1

Beleza, vamos lá! O que a gente tem aqui é um exercício que pede para verificar se uma data de nascimento é válida. A gente vai receber três números inteiros: Dia, Mês e Ano. A matéria que a gente vai usar envolve lógica de programação e estrutura condicional. Precisamos checar se o dia está dentro do intervalo correto para o mês e ano fornecidos, se o mês está entre 1 e 12, e se o ano não é maior que 2008.

Passo 2

Primeiro, vamos validar o mês. Um mês válido deve ser maior que 0 e menor que 13. Então, se o mês for menos que 1 ou maior que 12, a data é inválida.

Passo 3

Agora, vamos verificar o ano. O ano deve ser menor ou igual a 2008. Se for maior que 2008, a data é inválida.

Passo 4

Em seguida, vamos validar o dia. Aqui é que as coisas ficam um pouco mais detalhadas, porque o número de dias varia conforme o mês e se o ano é bissexto.
Primeiro, precisamos saber se o ano é bissexto. Um ano é bissexto se for dividível por 4, mas não por 100, a menos que também seja dividível por 400. A fórmula em LaTeX fica assim:
Bissexto = ( Ano mod 4 = 0 ) , e , ( ( Ano mod 100 neq 0 ) , ou , ( Ano mod 400 = 0 ) )

Passo 5

Agora, dependendo do mês, vamos definir o limite máximo para o dia:
  • Fevereiro (Mês 2):
    • Se o ano for bissexto, o dia pode ser até 29.
    • Se não for bissexto, o dia pode ser até 28.
  • Abril, Junho, Setembro e Novembro (Meses 4, 6, 9, 11):
    • O dia pode ser até 30.
  • Demais meses (Janeiro, Março, Maio, Julho, Agosto, Outubro, Dezembro):
    • O dia pode ser até 31.
Então, a gente checa se o dia informado está dentro do limite definido para o mês e ano.

Passo 6

Se todas as verificações passarem (mês válido, ano válido e dia dentro do limite), então a data é válida. Caso contrário, a data é inválida.

Resposta

A data é válida se todas as seguintes condições forem verdadeiras:
  1. Mês está entre 1 e 12.
  2. Ano é menor ou igual a 2008.
  3. Dia está dentro do limite permitido para o mês e ano.
Caso contrário, a data é inválida.
Por exemplo, se recebermos a data 29/02/2004:
  • Mês 2 é válido.
  • Ano 2004 é válido e bissexto.
  • Dia 29 é válido para fevereiro em ano bissexto.
Então, a data 29/02/2004 é válida.

Exercícios relacionados