Проверить программы онлайн · файлы остаются в браузере
10 класс, углублённый уровень. Занятие пятнадцатое. Компьютер не может перебрать все точки отрезка — их бесконечно много. Поэтому отрезок режут на n частей, кривую — на звенья ломаной, фигуру — на клетки, и считают по ним: это и есть дискретизация. Чем мельче части, тем точнее ответ.
Проверка.bat из общей папки: она запускает программу на девяти наборах
данных и сверяет ответ с правильным. Интернет не нужен.
Шесть типов задач, по одной на каждый. Считать в уме или на бумаге: выпиши
столбиком, что происходит на каждом шаге цикла. Ответ — всё напечатанное через
пробел, так, как печатает Python: вещественное число с точкой (2.0, а не
2), дробная часть через точку, а не через запятую. Ошибся — ниже
появится разбор рисунком: таблица шагов и что напечатано, — и кнопка «Новые числа»:
реши такую же ещё раз.
Отрезок [a; b] делят на n равных частей. Шаг — h = (b - a) / n,
деление «/», а не «//»: целое деление потеряет остаток, и части не дойдут до b.
Часть номер i — это [a + i·h; a + (i + 1)·h], её середина —
a + i * h + h / 2. Цикл — for i in range(n): частей ровно
n, сколько бы ни округлялось вещественное h.
Фигуру под графиком режут на n полосок и каждую заменяют прямоугольником высотой f(x). Точку x можно взять на левом конце части, на правом или в середине. Настоящая площадь под y = x² на [0; 2] — 2.667; при n = 4 левые прямоугольники дают 1.75, правые 3.75, средние 2.625. При n = 1000 средние дают 2.667 — до тысячных точно.
Верх полоски — не горизонталь, а хорда от f(x) до f(x + h): площадь трапеции
(f(x) + f(x + h)) / 2 * h. Для прямой y = k·x + c трапеции точны при любом
n; для y = x² на [0; 2] при n = 4 они дают 2.75 — хорда над параболой лежит выше
графика.
Кривую заменяют ломаной с вершинами на графике. Звено — гипотенуза: катеты Δx = x₂ − x₁ и Δy = f(x₂) − f(x₁). Ломаная всегда чуть короче кривой и с ростом n приближается к ней: для y = x² на [0; 2] одно звено — 4.472, два — 4.576, четыре — 4.627, тысяча — 4.647.
Фигуру накрывают сеткой клеток со стороной h и считают клетки, у которых центр внутри фигуры. Площадь ≈ число клеток × h². Круг радиуса 1 при h = 1 выходит квадратом из четырёх клеток — площадь 4; при h = 0.5 — 3.0; при h = 0.1 — 3.16; при h = 0.02 — 3.144, почти π.
zadanie1.py, zadanie2.py,
zadanie3.py — в одну новую папку.input(). Пиши input(), а
не input("Введите a, b, n: ") — вывод читает машина.f"{s:.3f}".Программа читает в одной строке три целых числа
,
и
(−10 ≤ a < b ≤ 10,
1 ≤ n ≤ 1000). Она печатает площадь под графиком y = x² на отрезке [a; b],
посчитанную методом средних прямоугольников из n частей: высота каждого
прямоугольника — значение функции в середине части.
0 2 4
2.625
Проверяется: одна часть, [0; 2] из двух частей (левые прямоугольники здесь дают 1.000, трапеции 3.000, средние 2.500), отрезок левее нуля, n = 1000 и случайные.
Шаг , сумма
. Цикл
: середина части
,
к сумме прибавляется
. После цикла —
.
Программа читает в одной строке три целых числа
,
и
(−5 ≤ a < b ≤ 5,
1 ≤ n ≤ 1000). Она печатает длину графика y = x² на отрезке [a; b], посчитанную
ломаной из n звеньев: вершины ломаной — точки графика с x = a, a + h, …, b.
0 2 2
4.576
Проверяется: одно звено, [−1; 1] из двух звеньев (2.828), одно крутое звено, n = 1000 и случайные.
Звено номер i идёт от до
.
Его длина —
, не
забудь
в начале. Звеньев ровно n:
.
Программа читает в одной строке два целых числа:
радиус
(1 ≤ R ≤ 10) и
(1 ≤ n ≤ 20, R·n ≤ 100).
Круг x² + y² ≤ R² накрыт квадратом [−R; R] × [−R; R], разбитым на клетки со
стороной h = 1 / n. Программа считает клетки, центр которых лежит в круге,
и печатает приближённую площадь круга: число таких клеток × h².
1 2
3.000
Проверяется: R = 1 и n = 1 (четыре клетки — площадь 4.000), мелкая сетка единичного круга, R = 2 крупными клетками, R = 3 и n = 20 (почти π·9) и случайные.
Два вложенных цикла: и такой же по
. Центр клетки —
,
. Если
—
клетку считаем. Площадь —
.
print убраны.Проверка.bat.Оболочка показывает, на каких данных программа ошиблась, что она вывела и что должна была. Исправляй и проверяй снова, попыток сколько угодно. Отметка: три задания — «5», два — «4», одно — «3».
Непрерывное — отрезок, кривую, фигуру — заменяют конечным набором частей и считают по ним. Чем мельче части, тем точнее и тем дольше.
h = (b − a) / n. Часть i — [a + i·h; a + (i + 1)·h], середина — a + i·h + h / 2. Цикл for i in range(n).
Площадь под графиком ≈ сумма f(x)·h, x — левый конец, правый или середина части. У возрастающей f левые дают меньше, правые — больше.
Площадь части — (f(x) + f(x + h)) / 2 · h. Для прямой — точно.
Ломаная из n звеньев с вершинами на графике. Звено — √(Δx² + Δy²). Ломаная чуть короче кривой.
Фигуру накрывают сеткой со стороной h, считают клетки с центром внутри. Площадь ≈ число клеток · h².
Материалы подготовлены с использованием технологий искусственного интеллекта.