Решение: Результат работы алгоритма
Определите число, которое будет напечатано в результате выполнения следующего алгоритма. Для удобства алгоритм представлен на пяти языках программирования.
Функции $\mathrm{abs}$ и $\mathrm{iabs}$ возвращают абсолютное значение своего входного параметра.
Во всех вариантах используется функция $F(x)=\left|\left|x-1\right|+\left|x+4\right|-9\right|+2$. Переменная $t$ последовательно принимает целые значения от $-20$ до $20$. Если $F(t)\leq R$, значения $M$ и $R$ заменяются на $t$ и $F(t)$ соответственно. В начале $M=-20$, $R=F(-20)$, после завершения цикла выводится $M+R$.
Решение по шагам
6 шаговРассмотрим функцию на промежутке $x\leq -4$. В этом случае $\left|x-1\right|=-x+1$, $\left|x+4\right|=-x-4$, поэтому
$$F(x)=\left|-2x-12\right|+2$$Наименьшее значение на этом промежутке достигается при $x=-6$: $F(-6)=2$.
На промежутке $-4\leq x\leq 1$ сумма под внешним модулем постоянна, поэтому $F(x)=6$.
На промежутке $x\geq 1$ получаем
$$F(x)=\left|2x-6\right|+2$$Наименьшее значение здесь достигается при $x=3$: $F(3)=2$. При прохождении цикла значение $x=3$ встречается позже, чем $x=-6$, а условие обновления допускает равенство, поэтому в конце $M=3$, $R=2$.
Вычисляем выводимое значение:
$$M+R=3+2=5$$Где здесь ошибаются
Не учитывать условие $F(t)\leq R$: при равных минимальных значениях переменная $M$ получает последнее значение аргумента.
Принять $M=-6$ вместо последнего значения $M=3$.
Забыть, что после завершения цикла выводится сумма $M+R$, а не только минимум функции.