Тема 6. Алгоритмы – определение результата
6.02 Анализ простейших программ (старое)
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгоритмы – определение результата
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#5842

Определите, какое число будет напечатано в результате выполнения следующего алгоритма:

|-------------------------------------|---------------------------------------|
|Python-------------------------------|C++------------------------------------|
|def f(x) :                           |#include  <  iostream  >                |
|  return17  ∗ (14 − x) ∗ (14 − x ) + 19|usingnamespacestd;                   |
|                                     |                                       |
|a = − 20                             |intf (intx ){                           |
|b = 20                               |   return17 ∗ (14 − x) ∗ (14 − x) + 19;|
|M  = a                               |}                                      |
|R =  f(a)                            |intmain  (){                            |
|foriinrange (a,b + 1) :              |   inta, b,M, R;                        |
|                                     |                                       |
|  iff (i) < R  :                      |   a = − 20;b = 20;                    |
|     M  = i                          |   M  = a;R  = f(a);                   |
|     R = f (i)                        |   for(inti = a;i <= b;i + + )         |
|print(R )                            |     if(f(i) < R ){                     |
|                                     |       M  =  i;                         |
|                                     |                                       |
|                                     |       R  = f(i);                      |
|                                     |     }                                 |
|                                     |   cout < < R;                         |
|                                     |   return0;                            |
|                                     |                                       |
---------------------------------------}--------------------------------------|
Показать ответ и решение

Решение аналитически

Рассмотрим функцию f(x) = 17 ⋅ (14 − x) ⋅ (14 − x) + 19 = 17 ⋅ (x − 14) ⋅ (x − 14 ) + 19 = 17 ⋅ (x − 14 )2 + 19  —- графиком является парабола ветвями вверх, функция принимает только значения не меньше 19, т.к. выражение 17         2
⋅ (x − 14)   всегда неотрицательно.

Рассмотрим цикл. В переменной R  хранится какое-то значение функции, в цикле мы рассматриваем все значения функции y = f (x)  для x  ∈ [a;  b]  и находим минимальное (из условия f (i) < R,  т.е., если, перебирая значения функции, мы видим значение меньше найденного ранее, мы его сохраняем — таким образом, мы сохраняем все меньшее и меньшее значение или не меняем его — значит, ищем минимум), записывая его значение и x,  при котором это значение достигается, в переменные R  и M  соответственно. Обратим внимание, что, если минимальное значение будет достигнуто еще раз, условие в цикле не будет выполнено, т.к. знак неравенства строгий.

Ищем минимальное значение. Т.к. функция принимает только значения не меньше 19, минимальное, которое может быть, —- f(x) = 19.  Покажем, что это значения достигается при x  ∈  [a;b] :  действительно, при x =  14  функция принимает значение 19. Значит, ответ: 19.

Решение программой

def f(x):
    return 17 * (14 - x) * (14 - x) + 19

a = -20
b = 20
M = a
R = f(a)
for i in range(a, b+1):
    if f(i) < R:
        M = i
        R = f(i)
print(R)

Ответ: 19

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!