Войти Создать аккаунт

Алгоритмы и структуры данных · 13 из 17

Где кривая пересекает ноль

Кружку нужен корень уравнения, которое не решается формулой. Аркадий Семёнович показывает старый способ: известно, что на левом краю отрезка функция ниже нуля, а на правом выше, — значит, ноль где-то между. Делим отрезок пополам и оставляем ту половину, где знак по-прежнему меняется. Каждый шаг вдвое сужает поиск.

Что сделать

Найдите, где кривая пересекает ноль, — старым способом деления отрезка пополам.

Что приходит

  • f — функция одного числа; на концах отрезка — разного знака

  • a и b — концы отрезка, a < b

  • tochnost — до какой длины сузить отрезок

Что вернуть

Середину последнего отрезка, когда он стал не длиннее tochnost: каждый раз остаётся половина, где знак f меняется; f(m) == 0 — сразу m.

Допишите функцию koren в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой

Пример

f(x) = x · x − 2 на отрезке от 0 до 2. Середина 1: f(1) = −1, знак меняется справа — остаётся [1, 2]. Середина 1,5: f = 0,25 — остаётся [1, 1,5]. И так, пока отрезок не станет короче 0,001: ответ около 1.414.

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.