Шешімі: Работа цикла while
Запишите число, которое будет напечатано в результате выполнения следующей программы. Программа представлена на пяти языках программирования.
1s = 331 2n = 0 3while s > 0: 4 s = s - 20 5 n = n + 2 6print(n)
Шешім по шагам
3 қадамИзначально $s = 331$, $n = 0$. За одну итерацию цикла значение $s$ уменьшается на 20.
$$s_k = 331 - 20k$$Цикл продолжается, пока $s > 0$. Наименьшее число итераций, при котором $s \leq 0$, равно 17: после 16 итераций $s = 11$, после 17-й — $s = -9$.
$$331 - 20 \cdot 17 = -9$$На каждой итерации $n$ увеличивается на 2, поэтому после 17 итераций программа напечатает:
$$n = 0 + 17 \cdot 2 = 34$$Где здесь ошибаются
Остановить цикл после 16 итераций, хотя после них значение $s$ всё ещё положительно.
Забыть, что на каждой итерации к $n$ прибавляется 2.