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