ИСПОЛЬЗУЯ СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ И ДРУГИЕ ТИПЫ ПЕРЕМЕН-
НЫХ,СОСТАВИТЬ ПРОГРАММУ - ОПРЕДЕЛИТЬ ДЕНЬ НЕДЕЛИ В ЗАВИСИМОСТИ ОТ ДАТЫ В ТЕКУЩЕМ ГОДУ.
Я наклепал следующее:
Код
program Lab411;
type month=1..12;
days=1..31;
var
x:integer;
y:real;
d:days;
m:month;
label 1,2;
BEGIN
writeln('введите число, месяц');
readln(d,m);
if m>12 then goto 1;
case m of
1,3,5,7,8,10,12:if d>31 then goto 1;
2:if d>28 then goto 1;
4,6,9,11:if d>30 then goto 1;
end;
case m of
1:x:=d;
2:x:=31+d;
3:x:=59+d;
4:x:=90+d;
5:x:=120+d;
6:x:=151+d;
7:x:=181+d;
8:x:=212+d;
9:x:=243+d;
10:x:=273+d;
11:x:=304+d;
12:x:=334+d;
end;
y:=x-7*(int(x/7));
if y=0 then writeln('вторник');
if y=1 then writeln('среда ');
if y=2 then writeln('четверг');
if y=3 then writeln('пятница');
if y=4 then writeln('суббота ');
if y=5 then writeln('воскресенье');
if y=6 then writeln('понедельник');
goto 2;
1: writeln('ошибка ввода ');
2:END.
type month=1..12;
days=1..31;
var
x:integer;
y:real;
d:days;
m:month;
label 1,2;
BEGIN
writeln('введите число, месяц');
readln(d,m);
if m>12 then goto 1;
case m of
1,3,5,7,8,10,12:if d>31 then goto 1;
2:if d>28 then goto 1;
4,6,9,11:if d>30 then goto 1;
end;
case m of
1:x:=d;
2:x:=31+d;
3:x:=59+d;
4:x:=90+d;
5:x:=120+d;
6:x:=151+d;
7:x:=181+d;
8:x:=212+d;
9:x:=243+d;
10:x:=273+d;
11:x:=304+d;
12:x:=334+d;
end;
y:=x-7*(int(x/7));
if y=0 then writeln('вторник');
if y=1 then writeln('среда ');
if y=2 then writeln('четверг');
if y=3 then writeln('пятница');
if y=4 then writeln('суббота ');
if y=5 then writeln('воскресенье');
if y=6 then writeln('понедельник');
goto 2;
1: writeln('ошибка ввода ');
2:END.
Вроде как работает, но всё ли правильно?