Как решать с двумя функциями? 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.

Asa77 Asa77    2   24.06.2020 23:22    0

Ответы
LizaSchoolTwo LizaSchoolTwo  15.10.2020 14:50

В программе есть 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 и там производятся вычисления.

Итак

Цикл 1

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 прибавляется единица, так как a = 0, то a = 1 (a = a + 1 = 0 + 1 = 1)

a = 1

Цикл 2

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 прибавляется единица, так как a = 0, то a = 1 (a = a + 1 = 0 + 1 = 1)

a = 2

И так проделывать пока t не станет равной 20 (в каждом следующем цикле к t прибавлять 1 и в функции G высчитывать по формуле и сравнивать с функцией F)

В итоге a = 14

ответ: a = 14

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика