Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках).
| Бейсик | Паскаль |
|---|---|
DIM А, В, Т, М, R AS INTEGER А = -13: В = 13 М = A: R=F(А) FOR Т = А ТО В IF F(Т) < R THEN М = Т R = F (Т) END IF NEXT Т PRINT M+18 FUNCTION F(x) F = (x*x-4)*(x*x-4)+11 END FUNCTION | var a,b,t,M,R :integer; Function F(x:integer):integer; begin F := (x*x-4)*(x*x-4)+11 end; begin a := -13; b := 13; M := a; R := F(a); for t := a to b do begin if (F(t) < R) then begin M := t; R := F(t) end end; write(M+18) end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int F(int x) { return (x*x-4)*(x*x-4) +11; } int main() { int a, b, t, M, R; a = -13; b = 13; M = a; R = F (a); for (t = a; t <= b; t++) { if (F(t) < R) { M = t; R = F(t); } } cout << M+18 << endl; } | алг нач цел a, b, t, М, R а := -13; b := 13 М := a; R := F(а) нц для t от а до b если F(t) < R то М := t; R := F(t) все кц вывод М+18 кон алг цел F(цел х) нач знач := (х*х-4)* (х*х-4)+11 кон |
| Python | |
def f(x): return (x*x-4)*(x*x-4)+11 a = -13 b = 13 M = a R = f(a) for t in range(a, b+1): if (f(t) < R): M = t R = f(t); print(M+18)
| |
Алгоритм предназначен для поиска наименьшего t, при котором функция F(t) имеет наименьшее значение на отрезке от a до b. Преобразуем функцию:
Вычислим производную функции:
Нули производной: x = 0, x = 2, x = −2. Воспользуемся методом интервалов:
Поскольку алгоритм осуществляет поиск наименьшего t, при котором функция F(t) имеет наименьшее значение, переменной M будет присвоено значение −2. Выполнив последнее действие «write(M+18)», программа выведет на экран число 16.
Ответ: 16.

