1) Определите, какое число будет напечатано в результате выполнения следующего алгоритма: var a, b, t, N :integer; Function F(x: integer):integer; begin F := 16*(6-x)*(6-x)-450; end; BEGIN a := -20; b := 20; N := 0; for t ...
1) Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
var a, b, t, N :integer;
Function F(x: integer):integer;
begin
F := 16*(6-x)*(6-x)-450;
end;
BEGIN
a := -20; b := 20;
N := 0;
for t := -20 to 20 do begin
if (F(t) >= 0) then begin
N := N+1;
end;
end;
write(N);
Нужен не просто ответ, а объяснить как нашли!
Очень прошу, срочно нужно скоро ЕГЭ сдавать(
Ответ(ы) на вопрос:
Гость
Перепишем программу в виде, удобном для анализа алгоритма.
var
a,b,t,N:integer;
function F(x:integer):integer;
begin
F:=16*(6-x)*(6-x)-450;
end;
begin
a:=-20; b:=20;
N:=0;
for t:=-20 to 20 do
if (F(t)>=0) then N:=N+1;
Write(N)
end.
Переменные a и b получают начальные значения, но дальше не используются, поэтому их рассматривать не нужно.
Все переменные в программе объявлены целочисленными, поэтому анализируем алгоритм также в целых числах.
Переменная t последовательно принимает значения от -20 до 20, следовательно, можно записать, что t ∈ [-20;20]
Для каждого t вычисляется значение некоторой функции F(t) и подсчитывается N - количество случаев, когда значение F(t) неотрицательно. Найденное N затем выводится. Ставится задача определить значение N.
Проанализируем функцию F(t). После простого преобразования получаем
F(t)=16(6-t)²-450
Теперь надо найти решение неравенства F(t)≥0.
[latex]\displaystyle 16(6-t)^2-450\geqslant 0; \ (6-t)^2\geqslant \frac{450}{16} ; \ |6-t|\geqslant \sqrt{ \frac{450}{16} } [/latex]
Поскольку решение выполнятся в целых числах, то значение в правой части неравенства достаточно записать с точностью один знак после запятой.
[latex]\displaystyle |6-t|\geqslant \sqrt{ \frac{450}{16}}; \ |6-t|\geqslant 5.3 \\ \begin {cases} 6-t\geqslant 5.3 \\ t-6 \ \textgreater \ 5.3 \end {cases} \to \quad \begin {cases} t\leqslant 0.7 \\ t>11.3 \end {cases}[/latex]
На интервале [-20;20] первому условию удовлетворит 21 точка, второму условию удовлетворят 9 точек. Всего получится 21+9=30 точек.
Ответ: Будет выведено число 30
Не нашли ответ?
Похожие вопросы