Informática, perguntado por mo0nykarochado, 1 ano atrás

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 jaysantts
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

Perguntas interessantes