Следующая программа, содержащая, по крайней мере, одну ошибку, после устранения ошибок должна определять день недели для произвольного дня месяца. В ней считается, что первое число данного месяца — понедельник. Укажите все ошибки. var d,w:integer;
begin readln(d);
w:=d div 7;
case w of
1:writeln(’понедельник’);
2:writeln(’вторник’);
3:writeln(’среда’);
4:writeln(’четверг’);
5:writeln(’пятница’);
6:writeln(’суббота’);
7:writeln(’воскресенье’);
end
end.
Выберите один или несколько ответов:
a. 7:writeln(’воскресенье’);
b. readln(d);
c. 4:writeln(’четверг’);
d. w:=d div 7;
d. w:=d div 7;
Объяснение:
w:=d div 7; строка не верна так как она делит введенное число на 7 без остатка , например 1 день это понедельник то 1/7=0,14 1 div 7 = 0
а понедельник выводиться если значение =1
если день 14 div 7 = 2 должно быть воскресенье , а выводиться ’вторник’
Чтоб программа работала верно строку w:=d div 7; заменить на
while d>7 do
begin
d:=d-7;
end;
w:=d;