Напишите в ответе число, которое будет выведено в результате выполнения следующего алгоритма. Для Вашего удобства алгоритм представлен на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM A, B, T, M, R AS LONG A = -20: B = 20 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 + 27
FUNCTION F(x) F = 2 * (x * x - 100) * (x * x - 100) + 5 END FUNCTION
| def F(x): return 2 * (x * x - 100) * (x * x - 100) + 5 a = -20; b = 20 M = a; R = F(a) for t in range(a, b + 1): if (F(t) < R): M = t; R = F(t) print(M + 27)
|
| Паскаль | Алгоритмический язык |
var a, b, t, M, R: longint; function F(x: longint): longint; begin F := 2 * (x * x - 100) * (x * x - 100) + 5; end; begin a := -20; b := 20; 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 + 27) end.
| алг нач цел a, b, t, M, R a := -20; b := 20 M := a; R := F(a) нц для t от a до b если F(t) < R то M := t; R := F(t) все кц вывод M + 27 кон алг цел F(цел x) нач знач := 2 * (x * x - 100) * (x * x - 100) + 5 кон |
| Си++ | |
#include <iostream> using namespace std;
long F(long x) { return 2 * (x * x - 100) * (x * x - 100) + 5; } int main() { long a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t = a; t <= b; t++) { if (F(t) < R) { M = t; R = F(t); } } cout << M + 27 << endl; return 0; }
| |
1. Алгоритм предназначен для поиска наименьшего значения функции F(t) на отрезке от a до b, суммирования абсциссы, соответствующей минимальному значению, с числом 27 и вывода этой суммы на экран.
2. Заметим, что график функции имеет два минимума на отрезке [−20; 20] и эти минимумы достигается в точках −10 и 10. Условие в цикле for строгое, поэтому будет выведено значение, соответствующее первому минимуму, то есть −10 + 27 = 17.
Ответ: 17.

