Задание 1. Тип заданий 21: программирование, подпрограммы.
- Задание:
Определите, какое значение будет выведено на экран после выполнения данной программы? Pascal: | var a,b,i,M,R :integer;
Function F(n: integer):integer;
begin
F := -(n-5)*(n-5);
end;
BEGIN
a := -10; b := 10;
M := a; R := F(a);
for i := a to b do begin
if (F(i) > R) then begin
M := i;
R := F(i)
end;
end;
writeln(M)
END.
|
- Решение:
Обратим внимание на функцию: -(n-5)*(n-5) — квадратичная функция, график функций — парабола, ветви направлены вниз.
Теперь разберёмся с циклом. Значение переменной i изменяется от -10 до 10. Каждый повтор цикла проверяется условие, если F(i) > R, то переменной R присваивается результат функции F(i), а переменной M — значение i. Проще говоря, после выполнения переменной R будет присвоено максимальное значение функции F(i), а переменной M — параметр этой функции. Максимальное значение параболы, ветви которые направлены вниз — её вершина. И так как переменная M принимает значение i, то нам нужно определить координату x этой вершины. Раскроем скобки: -(n-5)*(n-5) -(n2-5n-5n+25) -n2+10n-25 По формуле -b/2*a найдём вершину: -10/-2=5 Ответ: 5
|
Комментарии ()
Нет комментариев. Ваш будет первым!