{
Curso : An lise e Desenvolvimento de Sistemas
Turma : Tarde
Professor : Aka
Aluno : Lucas
Matr¡cula : 12200935
Data : 28/09/2012
Programa EP01.pas - O AmanhÆ
Objetivo: O programa recebe uma data e imprime o dia seguinte.
Descri‡Æo do Programa:
A data dever estar no formato (dd mm aaaa) e ser impresso o dia seguinte
Ser feita a consistˆncia sobre a data:
1. Meses com 30 ou 31 dias
2. Fevereiro (28 ou 29 dias). Ano bissexto: ser verificado se o ano ‚ m£ltiplo
de 4 mas nÆo de 100, ou se ‚ m£ltiplo de 400.
}
program ep01;
var
dia,mes,ano,ds,ms,as,im,am4,am100,am400,ab: integer;
begin
write ('Entre com uma data: dd mm aaaa: ');
readln (dia,mes,ano);
If (dia<1) or (dia>31) or (mes<1) or (mes>12) then begin
writeln ('Data inv lida');
exit;
end;
am4:=ano-ano div 4*4;
am100:=ano-ano div 100*100;
am400:=ano-ano div 400*400;
If (am4=0) and (am100<>0) or (am400=0) then
ab:=1
Else
ab:=0;
If (mes=4) or (mes=6) or (mes=9) or (mes=11) then
im:=0;
If (mes=1) or (mes=3) or (mes=5) or (mes=7) or (mes=8) or (mes=10) or (mes=12) then
im:=1;
If (mes=2) then
im:=2;
If (mes=2) and (ab=1) then
im:=3;
If (im=2) and (dia>28) then begin
writeln ('Data inv lida');
exit;
end;
If (im=0) and (dia=31) then begin
writeln ('Data inv lida');
exit;
end;
If (im=3) and (dia>29) then begin
writeln ('Data inv lida');
exit;
end;
If (dia=28) and (im=2) or (dia=30) and (im=0) or (dia=31) and (im=1) or (dia=29) and (im=3) then
ds:=1
Else
ds:=dia+1;
If ds=1 then
ms:=mes+1
Else
ms:=mes;
If (mes=12) and (ms=13) then begin
as:=ano+1;
ms:=1;
end
Else
as:=ano;
writeln (ds,'/',ms,'/',as);
end.
Nenhum comentário:
Postar um comentário