Дискретизация: длины и площади

Как компьютер считает площадь фигуры и длину кривой. 10 класс, углублённый уровень — занятие пятнадцатое.

Уроки 29–30 поурочного плана: «Использование дискретизации в вычислительных задачах» и практическая работа «Приближённое вычисление длин кривых и площадей фигур». Сегодня разрежем отрезок на части, кривую — на звенья, круг — на клетки и посчитаем по ним площадь под параболой, длину параболы и почти число π.

Бесконечно много точек

Площадь под графиком y = x² на [0; 2] — это бесконечно много вертикальных отрезков. Длина параболы — бесконечно много крошечных кусочков. Перебрать бесконечное компьютер не может.

Зато он быстро посчитает тысячу простых кусков: прямоугольников, отрезков, клеток — и сложит их.

Разбиение отрезка на n частей

фрагмент программы — набери его сам

Шаг h = (2 − 0) / 4 = 0.5. Части: [0; 0.5], [0.5; 1], [1; 1.5], [1.5; 2].

Программа печатает середины частей: код, код, код, код.

Площадь под графиком — прямоугольники

фрагмент программы — набери его сам

Фигуру под графиком режем на n полосок шириной h. Каждую заменяем прямоугольником высотой f(x): площадь полоски ≈ f(x) · h.

y = x² на [0; 2], n = 4, середины: (0.0625 + 0.5625 + 1.5625 + 3.0625) · 0.5 = код.

Площадь — трапеции

фрагмент программы — набери его сам

Верх полоски — не горизонталь, а хорда от f(x) до f(x + h). Площадь трапеции — полусумма оснований на высоту.

y = x² на [0; 2], n = 4: код.

Длина кривой — ломаная

фрагмент программы — набери его сам

Кривую заменяем ломаной с вершинами на графике. Звено — гипотенуза прямоугольного треугольника с катетами Δx и Δy.

y = x² на [0; 2]: одно звено — 4.472, два — 4.576, четыре — 4.627, тысяча — 4.647.

Площадь фигуры — клетки

фрагмент программы — набери его сам

Круг накрываем сеткой клеток со стороной h и считаем клетки, у которых центр в круге. Площадь ≈ число клеток × h².

Круг радиуса 1: h = 1 — 4.0 (квадрат из четырёх клеток), h = 0.5 — 3.0, h = 0.1 — 3.16, h = 0.02 — 3.144. А πR² = 3.14159…

Сколько частей нужно

фрагмент программы — набери его сам

Удваиваем n, пока шаг больше 0.1: шаги 3, 1.5, 0.75, 0.375, 0.1875, 0.09375 — стоп.

Программа печатает код.

Что делаем сегодня

  1. Тренажёр — шесть задач: точки разбиения, площадь прямоугольниками, площадь трапециями, длина ломаной, площадь по клеткам, сколько частей.
  2. Задание 1 — площадь под графиком y = x² на [a; b] средними прямоугольниками из n частей.
  3. Задание 2 — длина графика y = x² на [a; b] ломаной из n звеньев.
  4. Задание 3 — площадь круга радиуса R по клеткам со стороной 1 / n.
  5. Проверка оболочкой — код: ответ принимается, если он отличается от правильного не больше чем на 0.0016; печать — код.

Отметка: три задания — «5», два — «4», одно — «3». Все три файла — в одну новую папку.

За работу

Сначала тренажёр, потом три программы.

Домашнее задание — на странице «Домашнее задание»: шесть типов задач — площадь прямоугольниками и трапециями на бумаге, длина ломаной, клетки, данные, на которых врёт программа, вопросы про дискретизацию; Python дома не нужен. Исправленное после подсказки в отметку не идёт — вместо него новая задача, добирать можно до пятёрки. В начале следующей пары — проверочная по этим же типам.

Материалы подготовлены с использованием технологий искусственного интеллекта. Пробел раскрыть и дальше · ← → слайды