Контрольные тренировочные задания
(решения)
Часть 1
Задание 21
Решение примера 2
Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках программирования).
Ответ: ___________________________.
Решение.
Рассмотрим наше задание на примере языка программирования Паскаль.
var a, b, N, t: integer;
Function F(x: integer):integer;
begin
F := (x — 16)*(x + 25)
end;
begin
a := -100; b := 100;
N := 0;
for t := a to b do begin
if (F(t) <= 0) then
N := N + 1
end;
write(N)
end.
Function F(x: integer):integer — означает:
х — целое число,
результат функции F(t) — целое число.
Данная программа выводит на экран число N, его значение будет зависеть от функции F(t).
Если результат функции F(t) ≤ 0, то N увеличивается на единицу.
Функция F вычисляется по формуле (x — 16)*(x + 25) или x2+9*x-400.
Пусть x2+9*x-400=0, тогда х1 = -25, х2 = 16
Графиком функции x2+9*x-400 является парабола, ветви которой направлены вверх.
Следовательно, при x∈[-25,16] функция ≤ 0
Цикл for запускается для переменной t от -100 до 100, значит, всего 16+1+25=42 раза будет выполняться условие F(t) ≤ 0.
Ответ: 42
Возврат на страницу Решение примеров части 1 задание 21