Решение: Значение функции в цикле
Определите число, которое будет напечатано в результате выполнения следующего алгоритма. Для удобства алгоритм представлен на пяти языках программирования. Функции $\mathrm{abs}$ и $\mathrm{iabs}$ возвращают абсолютное значение своего входного параметра.
1def F(x): 2 return abs(abs(x - 6) + abs(x + 6) - 16) + 2 3 4a = -20 5b = 20 6M = a 7R = F(a) 8for t in range(a, b + 1): 9 if F(t) <= R: 10 M = t 11 R = F(t) 12print(M + R)
Решение по шагам
5 шаговРассмотрим функцию $F(t)=\left|\,|t-6|+|t+6|-16\,\right|+2$.
При $|t|\leq 6$ сумма $|t-6|+|t+6|$ равна $12$, поэтому $F(t)=|-4|+2=6$.
При $|t|>6$ сумма равна $2|t|$. Минимальное значение функции достигается, когда $2|t|-16=0$, то есть при $|t|=8$. Поэтому $F(-8)=F(8)=2$.
Цикл перебирает значения от $-20$ до $20$, а условие содержит знак «меньше или равно». Поэтому после обработки $t=-8$ значение $R$ становится равным $2$, а при $t=8$ значение $M$ обновляется до $8$.
В конце алгоритм печатает сумму $M+R$.
$$M+R=8+2=10$$Где здесь ошибаются
Не учитывать знак «меньше или равно» и оставить M равным -8.
Забыть, что цикл перебирает все целые значения от -20 до 20.
Принять первое достижение минимума за окончательное значение M.