Информатика, вопрос задал annateplasina4 , 6 лет назад

Дан фрагмент программного кода на языке Паскаль:
Var s : Real;
Begin s = 10;
while s>o do s:= s/2;
write(s);
End.
Что напечатает программа на экране ? 1) 0
2) Ничего. Выполнение завершится сообщением об ошибке оничего.
3) Ничего. Программа зациклится.
4) 10​

Ответы на вопрос

Ответил WhalesNik
1

Ответ: 1) 0

Объяснение:

Программа с циклом, как только переменная s станет равна 0 (а она станет, т.к. кратна 2), цикл завершается и выводится 0


angryfukse: Выведется сообщение об ошибке, т.к присваивание выполнено неверно.
Ответил angryfukse
1

Попытка запуска программы завершится ошибкой. Т.к 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.

Приложения:
Новые вопросы