Демоверсия егэ по информатике 2020. Задание 21

Задание 21. Программирование подпрограмм, графики функций: Демоверсия егэ по информатике 2020: объяснение и решение


*** КАНАЛ ЮТЬЮБ ***
 
ЕГЭ по информатике -> ЕГЭ 2020 -> ЕГЭ 2020
 

Разбор 21 задания. Демоверсия егэ по информатике 2020, ФИПИ:

Напишите в ответе число, которое будет выведено в результате выполнения следующего алгоритма. Для Вашего удобства алгоритм представлен на нескольких языках программирования:

Паскаль:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function F(x: longint): longint;
begin
  F := 2 * (x * x - 100) * (x * x - 100) + 5;   
end;
begin
  a := -20; 
  b := 20;   
  M := a; 
  R := F(a);   
  for t := a to b do
  begin
    if (F(t) < R) then begin
      M := t;       
      R := F(t)
    end
  end;   
  write(M + 27)
end.
Бейсик:

DIM A, B, T, M, R AS LONG 
A = -20: B = 20 
M = A: R = F(A) 
FOR T = A TO B   
  IF F(T) < R THEN     
    M = T     
    R = F(T)   
  END IF 
NEXT T 
PRINT M + 27 
 
FUNCTION F(x)   
  F = 2 * (x * x - 100) * (x * x - 100) + 5 
END FUNCTION
Python:

def F(x):   
   return 2 * (x * x - 100) * (x * x - 100) + 5 
a = -20; b = 20 
M = a; R = F(a) 
for t in range(a, b + 1):   
   if (F(t) < R):     
      M = t; R = F(t) 
print(M + 27)
С++:

#include <iostream> 
using namespace std; 
 
long F(long x) {   
   return 2 * (x * x - 100) * (x * x - 100) + 5; 
} 
int main() {   
long a, b, t, M, R;   
a = -20; b = 20;   
M = a; R = F(a);   
  for (t = a; t <= b; t++) {     
     if (F(t) < R) {       
          M = t; R = F(t);     
     }   
   }   
cout << M + 27 << endl;   
return 0; 
}

✍ Решение:
 

    Рассмотрим алгоритм:

  • В цикле программы ищется минимальное значение, возвращаемое функцией F(t), вызываемой с параметрами от -20 до 20.
  • После завершения работы цикла минимальное значение функции помещается в переменную R, а параметр, при котором функция возвратила минимальное значение, помещается в переменную M.
  • В конце программы выводится результат M + 27.
  • В теле функции:
  • 2 * (x*x-100) * (x*x-100) + 5
    Т.е. в скобках получаем: 
    (x2 - 100)2
    
  • X вершины для такого уравнения находится по формуле:
  • (x2 — a)2;
    x1,2 верш=±√a
  • Таким образом, функция имеет два минимума — в точках -10 и 10 (оси ox).
  • Так как в условии программы стоит F(t) < R, то условие будет истинным при F(-10).
  • Таким образом, параметр при минимальном значении функции: M = -10.
  • Результат:
  • M + 27 = 17 

Результат: 17