Решение: Результат работы цикла
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для удобства программа представлена на пяти языках программирования.
1s = 155 2n = 0 3while s - n > 0: 4 s = s - 5 5 n = n + 10 6print(s)
Решение по шагам
4 шагаВ начале работы программы $s = 155$, $n = 0$. На каждой итерации $s$ уменьшается на $5$, а $n$ увеличивается на $10$.
После $k$ итераций значения переменных равны:
$$s = 155 - 5k,\quad n = 10k$$Условие цикла принимает вид:
$$s - n = 155 - 15k > 0$$При $k = 10$ условие ещё истинно: $155 - 150 = 5$. Выполняется ещё одна итерация, после которой $s = 100$, $n = 110$, и $s - n = -10$. Цикл завершается.
Где здесь ошибаются
Проверяют условие цикла до выполнения последнего изменения переменных.
Учитывают только изменение $s$ и забывают, что $n$ увеличивается на $10$.