Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырёх языках).
| Бейсик | Паскаль |
|---|---|
DIM A, B, T, N, P AS INTEGER A = -20: B = 20 P = 130 N = 0 FOR T = A TO B IF F(T) > P THEN N = N+1 END IF NEXT T PRINT N FUNCTION F(x) F = 16*(9+x)*(9+x)+127 END FUNCTION | var a,b,t,N,P :integer; Function F(x: integer):integer; begin F := 16*(9+x)*(9+x)+127; end; BEGIN a := -20; b := 20; P := 130; N := 0; for t := a to b do begin if (F(t) > P) then begin N := N+1; end; end; write(N); END. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int F(int x) { return 16*(9+x)*(9+x)+127; } int main() { int a, b, t, N, P; a = -20; b = 20; P = 130; N = 0; for (t=a; t<=b; t++){ if (F(t) > P) { N++; } } cout « N « endl; } | алг нач цел a, b, t, P, N a := -20; b := 20 P := 130 N := 0 нц для t от a до b если F(t) > P то N := N+1 все кц вывод N кон алг цел F(цел x) нач знач := 16*(9+x)*(9+x)+127 кон |
| Python | |
def f(x): return 16*(9+x)*(9+x)+127 a = -20 b = 20 P = 130 N = 0 for t in range(a, b+1): if (f(t) > P): N += 1 print(N)
| |
Алгоритм предназначен для нахождения количества целых точек на отрезке [−20; 20] в которых функция F(x) = 16 · (9 + x)2+127 имеет значение больше 130. Следовательно, задачу можно свести к неравенству:
Данное неравенство будет выполнятся во всех целых точках отрезка [−20; 20], кроме точки −9, в которой F(x) = 127. Всего отрезок [−20; 20] содержит 41 целую точку. Следовательно, ответ 40.
Ответ: 40.

