Какое число будет напечатано в результате работы следующей программы? Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM A, B, T, M, R AS INTEGER A = -9: B = 9 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+R
FUNCTION F(x) IF X>0 THEN F = (x*x-10)*(x*x-10) + 9 ELSE F = (x*x-6)*(x*x-6) + 6 END IF END FUNCTION
| def F(x): if x>0: return (x*x-10)*(x*x-10) + 9 else: return (x*x-6)*(x*x-6) + 6 a=-9; b=9 M=a; R=F(a) for t in range(a,b+1): if F(t) <= R: M=t; R=F(t) print(M+R)
|
| Паскаль | Алгоритмический язык |
var a, b, t, M, R :integer; function F(x:integer):integer; begin if x>0 then F := (x*x-10)*(x*x-10) + 9 else F := (x*x-6)*(x*x-6) + 6 end; begin a := -9; b := 9; 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+R) end.
| алг нач цел a, b, t, M, R a := -9; b := 9 M := a; R := F(a) нц для t от a до b если F(t) <= R то M := t; R := F(t) все кц вывод M+R кон алг цел F(цел x) нач если x>0 то знач := (x*x-10)*(x*x-10) + 9 иначе знач := (x*x-6)*(x*x-6) + 6 все кон
|
| С++ | |
#include <iostream> using namespace std; int F(int x) { if (x>0) return (x*x-10)*(x*x-10) + 9; else return (x*x-6)*(x*x-6) + 6; }
int main() { int a, b, t, M, R; a = -9; b = 9; M = a; R = F(a); for (t=a; t<=b; ++t) { if (F(t) <= R) { M = t; R = F(t); } } cout << M+R; return 0; }
| |
1. Алгоритм предназначен для поиска наименьшего значения функции F(t) на отрезке от a до b, суммирования наименьшего значения с t, при котором значение F(t) будет наименьшим и вывода этой суммы на экран.
2. и
Первая функция принимает минимальное значение в точках, где выражение
Ответ: 13.

