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