Олимпиадные задачи по программированию. Ч. 2. Лучшие решения. Ускова О.Ф - 25 стр.

UptoLike

ReWrite(f);
s:='';
if DAY=1 THEN r:='MON';
if DAY=2 THEN r:='TUE';
if DAY=3 THEN r:='WEN';
if DAY=4 THEN r:='THU';
if DAY=5 THEN r:='FRI';
if DAY=6 THEN r:='SAT';
if DAY=7 THEN r:='SUN';
s:=s+r+', '+IntToStr2(date);
Case month of
1:r:='JAN';
2:r:='FEB';
3:r:='MAR';
4:r:='APR';
5:r:='MAY';
6:r:='JUN';
7:r:='JUL';
8:r:='AUG';
9:r:='SEP';
10:r:='OCT';
11:r:='NOV';
12:r:='DEC';
end;
s:=s+' '+r+' '+INtToStr(year)+'
'+IntToStr2(hour)+':'+INtToStr2(min)+':'+INtToStr2(sec)+' +0300';
Writeln(f,s);
Close(f);
end;
Function LeapYear(x:integer):boolean;
{проверка на високосный год}
begin
LeapYear:=((x mod 4 =0) and (x mod 100<>0)) or (x mod 400=0)
end;
Procedure Incr;
{изменение даты}
var month1:integer; {используется для вычилсения даты}
begin
inc(min,incmin);
if min>=60 then begin inc(hour); min:=min-60 end;
if min<0 then begin dec(hour); min:=min+60 end;
inc(hour,inch);
if hour>=24 then begin inc(day); inc(date); hour:=hour-24 end;
if hour<0 then begin hour:=hour+24; dec(day); dec(date) end;
{день недели}
if day<=0 then day:=day+7;
if day>7 then day:=day-7;
{день месяца}
if (month<>2) or not LeapYear(year) then
begin
if date>daymonth[month] then begin date:=1; Inc(month) end;
if date<=0 then
begin