Faça um programa que tenha como entrada uma determinada data (dia, mês e ano), e verifique se esta data é vá lida ou não. Para determinar a validade da data, o mês deverá pertencer à faixa de 1 a 12, o dia deverá ser coerente com o mês (exemplo: não existe dia 30 em fevereiro) e o ano não poderá ser posterior ao atual. Obs: não se esqueça dos anos bissextos.
Soluções para a tarefa
Respondido por
2
var
ano, mes, dia: inteiro
bissexto, valida: logico
inicio
leia (dia)
leia (mes)
leia (ano)
valida <- verdadeiro
bissexto <- verdadeiro
se ((ano > 0) e (ano <= 2016))entao
senao
valida<- falso
fimse
se ((ano % 4 <> 0) OU (ano % 100 = 0) E (ano % 400 <> 0))entao
eh_bissexto <- falso
fimse
se (mes < 1) OU (mes > 12)entao
valida <- falso
senao
se (mes = 2) entao
se (bissexto) entao
se (dia < 1) OU (dia > 29)entao
valida <- falso
fimse
senao
se (mes=2) e (dia < 1) OU (dia > 28)entao
valida <- falso
fimse
fimse
senao
se (mes = 4) OU (mes = 6) OU (mes = 9) OU (mes = 11) entao
se (dia < 1) OU (dia > 30) entao
valida <- falso
fimse
senao
se (dia < 1) OU (dia > 31)entao
valida <- falso
fimse
fimse
fimse
fimse
se (valida=falso) entao
escreva ("Data inválida ")
senao
escreva ("Data válida ")
fimse
se (bissexto=falso)entao
escreval(" O ano não é bissexto")
senao
escreval(" O ano é bissexto")
fimse
fimalgoritmo
ano, mes, dia: inteiro
bissexto, valida: logico
inicio
leia (dia)
leia (mes)
leia (ano)
valida <- verdadeiro
bissexto <- verdadeiro
se ((ano > 0) e (ano <= 2016))entao
senao
valida<- falso
fimse
se ((ano % 4 <> 0) OU (ano % 100 = 0) E (ano % 400 <> 0))entao
eh_bissexto <- falso
fimse
se (mes < 1) OU (mes > 12)entao
valida <- falso
senao
se (mes = 2) entao
se (bissexto) entao
se (dia < 1) OU (dia > 29)entao
valida <- falso
fimse
senao
se (mes=2) e (dia < 1) OU (dia > 28)entao
valida <- falso
fimse
fimse
senao
se (mes = 4) OU (mes = 6) OU (mes = 9) OU (mes = 11) entao
se (dia < 1) OU (dia > 30) entao
valida <- falso
fimse
senao
se (dia < 1) OU (dia > 31)entao
valida <- falso
fimse
fimse
fimse
fimse
se (valida=falso) entao
escreva ("Data inválida ")
senao
escreva ("Data válida ")
fimse
se (bissexto=falso)entao
escreval(" O ano não é bissexto")
senao
escreval(" O ano é bissexto")
fimse
fimalgoritmo
Perguntas interessantes