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