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

