Четырнадцатое занятие углублённого курса: численное решение уравнений — смена знака, отделение корней перебором с шагом, подбор с шагом, половинное деление и число его шагов, вещественные числа и вывод с тремя знаками; практическая работа из трёх программ — уроки 27–28 плана
Корень уравнения f(x) = 0 ищут приближённо: считают f в разных точках и сужают место, где лежит корень, до нужной точности.
Непрерывная f разного знака на концах отрезка — на нём есть корень. Проверка: f(a) * f(b) < 0. Одинаковые знаки ничего не гарантируют.
Перебор с шагом: for x in range(a, b), условие f(x) * f(x + 1) < 0 — на отрезке [x; x + 1] корень. Последний x — это b − 1.
Пока b − a больше точности: c = (a + b) / 2; если f(a) * f(c) <= 0 — b = c, иначе a = c. Ответ — середина последнего отрезка, ошибка не больше половины точности.
Каждый шаг делит отрезок пополам: из длины 1 до 0.001 — 10 шагов, потому что 2¹⁰ = 1024. Перебор с шагом 0.001 — тысяча вычислений.
/ всегда даёт вещественное: 10 / 5 это 2.0. Вещественные не сравнивают через ==. Три знака после точки — f"{x:.3f}".
Четырнадцатое занятие углублённого курса: численное решение уравнений — смена знака, отделение корней перебором с шагом, подбор с шагом, половинное деление и число его шагов, вещественные числа и вывод с тремя знаками; практическая работа из трёх программ — уроки 27–28 плана
Корень уравнения f(x) = 0 ищут приближённо: считают f в разных точках и сужают место, где лежит корень, до нужной точности.
Непрерывная f разного знака на концах отрезка — на нём есть корень. Проверка: f(a) * f(b) < 0. Одинаковые знаки ничего не гарантируют.
Перебор с шагом: for x in range(a, b), условие f(x) * f(x + 1) < 0 — на отрезке [x; x + 1] корень. Последний x — это b − 1.
Пока b − a больше точности: c = (a + b) / 2; если f(a) * f(c) <= 0 — b = c, иначе a = c. Ответ — середина последнего отрезка, ошибка не больше половины точности.
Каждый шаг делит отрезок пополам: из длины 1 до 0.001 — 10 шагов, потому что 2¹⁰ = 1024. Перебор с шагом 0.001 — тысяча вычислений.
/ всегда даёт вещественное: 10 / 5 это 2.0. Вещественные не сравнивают через ==. Три знака после точки — f"{x:.3f}".