Дан фрагмент программного кода на языке Паскаль:
Var s : Real;
Begin s = 10;
while s>o do s:= s/2;
write(s);
End.
Что напечатает программа на экране ? 1) 0
2) Ничего. Выполнение завершится сообщением об ошибке оничего.
3) Ничего. Программа зациклится.
4) 10
Answers & Comments
Ответ: 1) 0
Объяснение:
Программа с циклом, как только переменная s станет равна 0 (а она станет, т.к. кратна 2), цикл завершается и выводится 0
Попытка запуска программы завершится ошибкой. Т.к s это не константа, а следовательно присваивание ей значения выполнено неверно.
Если считать, что ошибка в присваивании является опечаткой, то выведется число 0.
Проследить ход выполнения программы можно путем вывода промежуточных результатов s. Для этого в цикл необходимо добавить вывод на экран (см. 3 скриншот). Например:
var
s: Real;
begin
s := 10;
while s > 0 do
begin
s := s / 2;
write(s, #10);
end;
write(s:0:5);
end.