Решение: Значение функции в алгоритме
Определите число, которое будет напечатано в результате выполнения следующего алгоритма. Алгоритм представлен на пяти языках программирования. Функции $\mathrm{abs}$ и $\mathrm{iabs}$ возвращают абсолютное значение своего входного параметра.
1def F(x): 2 return abs(abs(x - 1) + abs(x + 4) - 11) + 3 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)
Решение по шагам
3 шагаВ цикле переменная $R$ заменяется на значение $F(t)$, если оно не больше текущего значения $R$. Поэтому в конце цикла $R$ равно минимальному значению функции на отрезке от $-20$ до $20$, а $M$ — последнему значению $t$, при котором этот минимум получен.
$$F(t)=\left||t-1|+|t+4|-11\right|+3$$Для $-4\leqslant t\leqslant 1$ сумма модулей равна $5$, поэтому $F(t)=9$. При $1\leqslant t\leqslant 4$ получаем $F(t)=|2t-8|+3=11-2t$, и минимум достигается при $t=4$.
$$F(4)=\left|3+8-11\right|+3=3$$При $t>4$ значение функции возрастает, поэтому повторного достижения минимума нет. Следовательно, после выполнения цикла $M=4$ и $R=3$.
$$M+R=4+3=7$$Где здесь ошибаются
Забывают, что условие содержит знак «меньше или равно», и неверно определяют момент обновления переменных.
Путают значение аргумента $t=4$ со значением функции $F(4)=3$.
Не учитывают, что переменная $M$ сохраняет последний аргумент, при котором достигнут минимум.