Я бы вообще ограничился чем-нибудь простеньким, вроде вот такого:
Код:
Const
DoM:Array[1..12] of Word=(31,28,31,30,31,30,31,31,30,31,30,31);
Var
Month,Date,i,m:Byte;
ND:Word;
BEGIN
Write('Month (1-12) = ');
ReadLn(Month);
Write('Date = ');
ReadLn(Date);
ND:=0;
For i:=1 to Month-1 do
ND:=ND+DoM[i];
ND:=ND+Date;
m:=ND mod 7;
Case m of
0:WriteLn('Saturday');
1:WriteLn('Sunday');
2:WriteLn('Monday');
3:WriteLn('Tuesday');
4:WriteLn('Wednesday');
5:WriteLn('Thursday');
6:WriteLn('Friday');
end;
ReadLn;
END.