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

