Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырех языках):
| Бэйсик | Паскаль |
|---|---|
DIM A, B, T, M, R AS INTEGER 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 FUNCTION F(x) F = 2*(x-5)*(x-7) END FUNCTION | var a,b,t,M,R :integer; Function F(x: integer):integer; begin F:= 2*(x-5)*(x-7); 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); END. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int F(int x) { return 2*(x-5)*(x-7); } int main() { int 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 « endl; } | алг нач цел a, b, t, R, M a:= -20; b:= 20 M:= a; R:= F(a) нц для t от a до b если F(t)< R то M:= t; R:= F(t) все кц вывод M кон алг цел F(цел x) нач знач := 2*(x-5)*(x-7) кон |
| Python | |
def f(x): return 2*(x-5)*(x-7) 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)
| |
1. Алгоритм ищет наименьшее значение функции F(t) на интервале от a до b
2. Функция — парабола, ветви которой направлены вверх, поэтому функция имеет наименьшее значение в вершине.
3. Найдем абсциссу вершины

