Решение: Значение функции в цикле
Определите число, которое будет напечатано в результате выполнения следующего алгоритма.
1def F(x): 2 return abs(abs(x - 5) + abs(x + 5) - 20) + 4 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 шагаПри $-5 \leq x \leq 5$ имеем $|x-5|+|x+5|=10$, поэтому $F(x)=14$.
При $x \geq 5$ функция имеет вид $F(x)=|2x-20|+4$, а при $x \leq -5$ — $F(x)=|{-2x-20}|+4$.
Минимальное значение функции на отрезке от $-20$ до $20$ достигается при $x=10$: $F(10)=4$. В цикле это значение записывается в $R$, а $M$ становится равным $10$.
После завершения цикла программа печатает сумму $M+R$.
Где здесь ошибаются
Забывают, что при условии $F(t) \leq R$ значение $M$ обновляется также при равенстве.
Принимают значение $F(-5)=14$ за минимум, не рассматривая значения вне отрезка $[-5;5]$.