Skip to content

Instantly share code, notes, and snippets.

@drage0
Created February 23, 2016 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drage0/cd886479059fe2cea393 to your computer and use it in GitHub Desktop.
Save drage0/cd886479059fe2cea393 to your computer and use it in GitHub Desktop.
Za Janka
program z22;
var dan, mesec, godina: integer;
function prestupna(n: integer): boolean;
begin
prestupna := false;
if(((n mod 400) = 0)) or ( (not ((n mod 100) = 0)) and ((n mod 4)=0)) then begin
prestupna := true;
end;
end;
procedure pisiMesec(mesec: integer);
begin
case mesec of
1: write('Jan.');
2: write('Feb.');
3: write('Mar.');
4: write('Apr.');
5: write('Maj.');
6: write('Jun.');
7: write('Jul.');
8: write('Avg.');
9: write('Sep.');
10: write('Oct.');
11: write('Nov.');
12: write('Dec.');
end;
end;
procedure kdan(dan, mesec, godina: integer);
var brDan, idan, imesec, maxDan: integer;
begin
idan := 1;
imesec := 1;
brDan := 0;
maxDan := 31;
while (true) do begin
case imesec of
1: maxDan := 31;
2: if(prestupna(godina)) then maxDan := 29 else maxDan := 28;
3: maxDan := 31;
4: maxDan := 30;
5: maxDan := 31;
6: maxDan := 30;
7: maxDan := 31;
8: maxDan := 31;
9: maxDan := 30;
10: maxDan := 31;
11: maxDan := 30;
12: maxDan := 31;
end;
if(idan>maxDan) then begin
imesec := imesec + 1;
idan := 1;
end
else if ((idan=dan) and (imesec=mesec)) then begin
if(prestupna(godina) and (mesec>2)) then brDan := brDan - 1;
write(idan, '. ');
pisiMesec(mesec);
write(' ', godina);
writeLn('; dan: ', brDan);
break;
end
else begin
idan := idan + 1;
end;
brDan := brDan + 1;
end;
end;
begin
write('dan=');
readLn(dan);
write('mesec=');
readLn(mesec);
write('godina=');
readLn(godina);
kdan(dan, mesec, godina);
readLn();
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment