Задание 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

Поделиться:
 
Комментарии (0)

Нет комментариев. Ваш будет первым!

Перевести число из в Результат: 510 = 1012