Buscar

Datas

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

algoritmo "Data"
var
dia,mes,ano:inteiro
aux,aux1:inteiro
anos1,anos2:inteiro
meses1,meses2:inteiro
data1,data2,dias:inteiro
ok:logico
Bi6:inteiro
inicio
ok:=verdadeiro
Leia (dia)
Leia (mes)
Leia (ano)
se (ano < 1990) ou (ano > 2010) entao
ok:=falso
senao
aux := (ano - 1) mod 4
aux1 := (ano - 1) div 4
anos1 := ((ano - 1 - aux1)*365)+(aux1 * 366)
fimse
se (mes < 01) ou (mes > 12) entao
ok:=falso
senao
 se mes = 01 entao
 meses1:=0
 senao
 se mes = 02 entao
 meses1:=31
 senao
 se mes = 03 entao
 meses1:=59
 senao
 se mes = 04 entao
 meses1:= 90
 senao
 se mes = 05 entao
 meses1:=120
 senao
 se mes = 06 entao
 meses1:=151
 senao
 se mes = 07 entao
 meses1:=181
 senao
 se mes = 08 entao
 meses1:= 212
 senao
 se mes = 09 entao
 meses1:=243
 senao
 se mes = 10 entao
 meses1:=273
 senao
 se mes = 11 entao
 meses1:=304
 senao
 se mes = 12 entao
 meses1:= 334
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
se ano mod 4 = 0 entao
 se mes > 2 entao
 meses1 := meses1 + 1
 fimse
fimse
fimse
bi6:= ano mod 4
Se (mes = 1) ou (mes = 3) ou (mes = 5) ou (mes = 7) ou (mes = 8) ou (mes = 10) ou (mes = 12) entao
 se (dia < 01) ou (dia > 31) entao
 ok:=falso
 fimse
senao
Se (mes = 4) ou (mes = 6) ou (mes = 9) ou (mes = 11) entao
 se (dia < 01) ou (dia > 30) entao
 ok:=falso
 fimse
senao
 Se (mes = 02) entao
 Se (ano mod 4 = 0) e ((dia < 0) ou (dia > 29)) entao
 ok:=falso
 senao
 Se (ano mod 4 <> 0) e ((dia < 0) ou (dia > 28)) entao
 ok:=falso
 fimse
 fimse
 senao
 ok:=falso
 fimse
fimse
fimse
se ok = falso entao
 escreva ("Data com erro", Dia, Mes, Ano)
senao
data1:=anos1+meses1+dia
// fim da primeira data
ok:=verdadeiro
Leia (dia)
Leia (mes)
Leia (ano)
se (ano < 1990) ou (ano > 2010) entao
ok:=falso
senao
aux := (ano - 1) mod 4
aux1 := (ano - 1) div 4
anos2 := ((ano - 1 - aux1)*365)+(aux1 * 366)
fimse
se (mes < 01) ou (mes > 12) entao
ok:=falso
senao
 se mes = 01 entao
 meses2:=0
 senao
 se mes = 02 entao
 meses2:=31
 senao
 se mes = 03 entao
 meses2:=59
 senao
 se mes = 04 entao
 meses2:= 90
 senao
 se mes = 05 entao
 meses2:=120
 senao
 se mes = 06 entao
 meses2:=151
 senao
 se mes = 07 entao
 meses2:=181
 senao
 se mes = 08 entao
 meses2:= 212
 senao
 se mes = 09 entao
 meses2:=243
 senao
 se mes = 10 entao
 meses2:=273
 senao
 se mes = 11 entao
 meses2:=304
 senao
 se mes = 12 entao
 meses2:= 334
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
 fimse
se ano mod 4 = 0 entao
 se mes > 2 entao
 meses2 := meses2 + 1
 fimse
fimse
fimse
bi6:= ano mod 4
Se (mes = 1) ou (mes = 3) ou (mes = 5) ou (mes = 7) ou (mes = 8) ou (mes = 10) ou (mes = 12) entao
 se (dia < 01) ou (dia > 31) entao
 ok:=falso
 fimse
senao
Se (mes = 4) ou (mes = 6) ou (mes = 9) ou (mes = 11) entao
 se (dia < 01) ou (dia > 30) entao
 ok:=falso
 fimse
senao
 Se (mes = 02) entao
 Se (ano mod 4 = 0) e ((dia < 0) ou (dia > 29)) entao
 ok:=falso
 senao
 Se (ano mod 4 <> 0) e ((dia < 0) ou (dia > 28)) entao
 ok:=falso
 fimse
 fimse
 senao
 ok:=falso
 fimse
fimse
fimse
se ok = falso entao
 escreva ("Data com erro", Dia, Mes, Ano)
senao
data2:=anos2+meses2+dia
// fim da primeira data
 se data2 < data1 entao
 escreva ("Data2 menor que Data1",data2,data1)
 senao
 escreva ("entre ",data1, " e ", data2," existem ",data2-data1," dias")
 fimse
fimse
fimse
fimalgoritmo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais