Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках программирования).
| Бейсик | Python |
|---|---|
DIM A, B, T, M, R AS INTEGER A = 5: B = 35 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 = 3*(x-1)*(x-1)+37 END FUNCTION
| def F(x): return 3*(x-1)*(x-1)+37 a = 5 b = 35 M = a R = F(a) for t in range(a, b+1): if F(t) > R: M = t R = F(t) print (M)
|
| Алгоритмический язык | Паскаль |
алг нач цел a, b, t, M, R a := 5; b := 35 M := a; R := F(a) нц для t от a до b если F(t) > R то M := t; R := F(t) все кц вывод M кон алг цел F(цел x) нач знач := 3*(x-1)*(x-1)+37 кон | var a,b,t,M,R :integer; Function F(x:integer):integer; begin F := 3*(x-1)*(x-1)+37 end; begin a := 5; b := 35; 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 3*(x-1)*(x-1)+37; } void main() { int a, b, t, M, R; a = 5; b = 35; M = a; R = F(a); for (t = a; t <= b; t++) { if (F(t) > R) { M = t; R = F(t); } } cout « M « endl; }
| |
Алгоритм предназначен для поиска наибольшего t, при котором функция F(t) имеет наибольшее значение на отрезке от a до b. Преобразуем функцию:
Вычислим производную функции:
Нули производной: x = 1. Воспользуемся методом интервалов:
Таким образом, функция достигает наибольшего значения в точке b. Следовательно, программа выведет на экран число 35.
Ответ: 35.

