Дано 2 числа. D-число, M-месяц, дана дата 20 мая. Указать какой день недели. Условия: год не високосный, 1 января воскресенье.
Код:
uses crt;
type day=1..31;
month=(jan,fv,mr,ap,mj,jun,jul,av,sn,oc,nb,dc);
{week=(vs,pn,vt,sr,ch,pt,sb); }
var d:day;
m:month;
{wdl,wd:week;}
k:0..12;
a:array[jan..dc] of day;
s,os:word;
begin
clrscr;
for m:=jan to nb do
case ord(m) of
0:a[m]:=31;
3,5,8,10:a[m]:=30;
1:a[m]:=28;
else a[m]:=31;
end;
writeln('День недели 01.01 января');
writeln('0-воскресенье 1-понедельник 2-вторник 3-среда 4-четверг 5-пятница 6-суббота');
readln(d);
if d<4 then os:=3-d else os:=10-d; {нужный остаток от деления на 7}
s:=0;k:=0;
for m:=jan to nb do
begin
if s mod 7=os then k:=k+1;
{если количество всех предшествующих дней в остатке от деления на 7 дает нужное число}
end;
write('День недели будет',k);
readln;
end.