Как решать с двумя функциями? var n, a, t:longint;
function F(x: longint): longint;
begin
F:= 2*(x-7)*(x-7)+7*x+7;
end;
function G(x: longint): longint;
begin
G:= 3*x*x - 107;
end;
begin
n:=20; a:=0;
for t:= 1 to 20 do begin
if (F(n) >= G(t)) then
a:=a+1;
end;
writeln(a);
end.
В программе есть 3 переменные n=20, a=0 и t (участвует в цикле от 1 до 20).
Запускается цикл (for ..) и в нем будет выполнятся это действие:
if (F(n) >= G(t)) then
a:=a+1;
В функцию F передается постоянно только одна переменная (n = 20)
Можно сразу посчитать чему будет равно значение в этой функции:
F:= 2*(x-7)*(x-7)+7*x+7 = F:= 2*(20-7)*(20-7)+7*20+7 = 485
F(n) = 485 постоянно
Дальше запускаем цикл for (t = от 1 до 20) и каждое значение t передается в функцию G и там производятся вычисления.
Итак
Цикл 1t = 1
G(t) = G(1) = 3*x*x - 107 = 3*1*1 - 107 = -104
Проверка (if):
(F(n) = 485) >= (G(t) = -104)
так как 485 > -104, то к a прибавляется единица, так как a = 0, то a = 1 (a = a + 1 = 0 + 1 = 1)
a = 1
Цикл 2t = 2
G(t) = G(1) = 3*x*x - 107 = 3*2*2 - 107 = -95
Проверка (if):
(F(n) = 485) >= (G(t) = --95)
так как 485 > -95, то к a прибавляется единица, так как a = 0, то a = 1 (a = a + 1 = 0 + 1 = 1)
a = 2
И так проделывать пока t не станет равной 20 (в каждом следующем цикле к t прибавлять 1 и в функции G высчитывать по формуле и сравнивать с функцией F)
В итоге a = 14
ответ: a = 14