Расчёт числа π в Python: как отработать циклы и точность для ЕГЭ
18
Циклы и точность в ЕГЭ по информатике: как работать с float и epsilon

** изображение создано или обработано с помощью ИИ.
Вы готовитесь к ЕГЭ по информатике. Один из типов задач, который встречается в теме алгоритмизации, — вычисление приближенных значений констант, например числа π. Внешне это напоминает задачу из математики, но проверяют здесь не знание свойств π или истории его открытия.
Суть экзаменационного задания в другом: нужно спроектировать вычислительный процесс, корректно выбрать тип данных для переменных и настроить условие выхода из цикла. Результат должен быть получен с заявленной точностью.
Часто возникает вопрос: можно ли взять π = 3,14? Отвечаем: это допустимо только в тех задачах, где точность заведомо не критична. Однако в заданиях ЕГЭ обычно закладывается требование к числу верных знаков, и тогда 3,14 — недостаточно точное приближение.
Напомним: π — иррациональное число. Его десятичное представление бесконечно и не периодично. Любой компьютер работает с приближением. Например, значение 3.141592653589793 в языке Python — это не математическое π, а округленное число формата float с ограниченной разрядностью.
Для успешного решения на экзамене важно не запоминать множество знаков π, а понимать, как накапливается погрешность при многократных арифметических действиях. Также стоит видеть разницу между математической формулой и её программной реализацией. Изящная формула может давать медленный код, накапливать ошибку или вести себя непредсказуемо при определенных входных данных.
Задачи на вычисление π полезны для подготовки: они компактно объединяют отработку циклов, знакопеременных сумм, условий остановки итераций и проверки результата на соответствие заданной точности. Это своего рода диагностический тренажер базовых навыков алгоритмизации.
Прозрачность вашего решения для проверяющего обеспечивается четкой фиксацией:
- выбранного метода приближения (например, ряд Лейбница или другой);
- типа данных и обоснования его достаточной разрядности;
- условия завершения цикла (сравнение разности соседних приближений с заданным ε).
Безопасность вашего результата — в контроле погрешности: убедитесь, что после остановки цикла последующие итерации не изменят ответ в пределах требуемой точности.
Фиксируйте промежуточные вычисления в черновике — это элемент отчетности, который поможет проверить себя и, при необходимости, объяснить ход мыслей апелляционной комиссии.
Что именно проверяет такая задача

** изображение создано или обработано с помощью ИИ.
В экзаменационных задачах по программированию проверяется не знание числа π, а умение построить работающий алгоритм. Само π оказывается удобным учебным примером, потому что его нельзя записать конечной десятичной дробью — это автоматически вынуждает обсуждать приближённые вычисления и неизбежную погрешность.
Вам понадобится уверенно работать с вещественными числами, организовывать цикл с заранее неизвестным числом шагов, накапливать сумму в переменной, сравнивать текущую погрешность с заданным порогом ε и аккуратно выводить результат. На бумаге всё выглядит просто, но в коде поджидают типичные ловушки.
Если забыть увеличить счётчик, цикл станет бесконечным — программа зависнет, и проверяющий не получит ответа. Если перепутать знак очередного слагаемого, сумма начнёт расходиться в сторону от истинного значения π. А если сравнивать два вещественных числа на точное равенство, условие остановится в случайный момент или не сработает вовсе.
Чтобы избежать этого, держите в голове три вопроса:
- Первый: что именно мы вычисляем? Приближение самого π через сумму ряда или используем готовую константу для других расчётов — это принципиально разные сценарии, и их нельзя путать.
- Второй: когда нужно остановить цикл? Правильный ответ — когда модуль очередного приращения суммы становится меньше заданного ε. Сравнивать float на равенство нельзя ни в коем случае.
- Третий: как проверить, что результат похож на правду? Он должен лежать между 3.1 и 3.2 хотя бы при грубых приближениях и не уезжать в сторону при повышении точности.
В ЕГЭ от вас не требуется писать высокоэффективную математическую библиотеку или рекордно быстрое приближение π. Нужен понятный, работающий алгоритм с явным условием выхода из цикла.
Если в условии сказано вычислить приближённое значение π, выбирайте простую знакочередующуюся формулу, даже если она сходится медленно, и обязательно укажите её в комментарии — это часть отчётности перед проверяющим, которая показывает, что вы действуете осознанно.
Если в условии сказано использовать π для расчётов (например, площади круга), берите готовую константу math.pi в Python, но только если это прямо разрешено. Самодельное приближение здесь будет лишним источником погрешности.
Главное различие, которое влияет на баллы: расчёт π — вы строите приближение с нуля и контролируете каждый шаг; использование π — вы берёте готовое значение как инструмент.
Смешение этих двух сценариев — частая причина, почему внешне правильный код получает ноль по критерию соответствия условию. Прозрачность решения, осмысленные комментарии и точное следование тому, что спросили, важнее математической изящества.
Формула Лейбница: медленно, зато прозрачно

** изображение создано или обработано с помощью ИИ.
Ряд Лейбница — частый учебный пример для ЕГЭ: π/4 = 1 − 1/3 + 1/5 − 1/7 + … Он медленный, но нагляден для отработки циклов.
Ключевой момент, где теряют баллы: вы суммируете не π, а π/4. После цикла сумму обязательно умножают на 4. Забыли — получили ≈0,785 и недоумение перед экраном.
Знак удобно менять через отдельную переменную sign: начали с 1, после каждого шага умножили на −1. Это надёжнее, чем городить условия.
Если в задаче есть точность ε, остановка цикла происходит, когда очередное слагаемое (по модулю) стало меньше ε. Для ряда Лейбница этого достаточно — проверяющий именно такое сравнение и ждёт.
Добавьте в код комментарий про умножение на 4. Это элемент отчётности, который снимет вопросы при проверке. Производительность ряда не оценивается, важна только правильная логика.
Python-код: коротко, но без магии

** изображение создано или обработано с помощью ИИ.
Первый пример — цикл с фиксированным числом шагов. Переменная n задаёт количество слагаемых, s накапливает сумму, sign переключает знак. После цикла результат умножается на 4. В Python отступы имеют значение — это не формальность, а часть синтаксиса. Ошибка здесь чаще всего возникает из-за невнимательности, а не из-за непонимания математики.
Второй пример — остановка по малому слагаемому. Цикл while проверяет модуль term. Пока очередной вклад больше заданного eps, программа продолжает. Число итераций заранее не известно, алгоритм сам решает, когда остановиться.
Важная техническая деталь: term нужно определить до цикла с каким-то начальным значением (например, 1.0). Без этого Python выдаст ошибку о неопределённой переменной. На экзамене такая мелочь может стоить времени на отладку.
Проверять результат полезно через сравнение с math.pi, но только не на точное равенство. Вещественные числа в двоичной системе не позволяют этого делать надёжно.
Вместо этого вычислите модуль разности и сравните его с допустимой погрешностью. Этот приём стоит использовать при отладке, если экзаменационная среда позволяет запускать код с дополнительными проверками.
В боевом решении для ЕГЭ лишние импорты и сравнения лучше убрать или закомментировать. Чистый код, который решает ровно то, что требует условие, самая надёжная стратегия.
Метод Монте-Карло: красиво, но с характером

** изображение создано или обработано с помощью ИИ.
В квадрате со стороной 1 лежит четверть круга радиусом 1. Площадь квадрата — единица, площадь четверти круга — π/4. Если случайно кидать точки внутрь квадрата, доля тех, что попали под дугу (условие x² + y² ≤ 1), будет приблизительно равна π/4. Умножив на 4, получаем оценку π.
Алгоритм: генерируете пары случайных чисел от 0 до 1, проверяете условие, считаете попадания, делите на общее число точек, умножаете на 4.
Главная особенность метода — недетерминированность. При каждом запуске результат немного отличается из-за случайности. Для экзамена это минус, если условие требует стабильного, воспроизводимого ответа. Проверяющий не сможет повторить ваш результат в точности, а значит, формальные критерии рискуют не сработать.
Кроме того, метод требует много итераций для приемлемой точности. Миллион точек — и ноутбук задумчиво шумит, а вы получаете лишь несколько верных знаков. На экзамене по информатике это не запрещено, но не оптимально.
Поэтому метод Монте-Карло лучше использовать как учебную демонстрацию или дополнительный способ самопроверки. Для основного решения, если условие явно не требует случайного моделирования, выбирайте детерминированный алгоритм — например, тот же ряд Лейбница с остановкой по малому слагаемому. Или готовую константу math.pi, если задание разрешает.
Самый ценный урок здесь не про π, а про чтение условия. Красивый метод не всегда подходит для конкретной задачи. Игнорирование этого правила — одна из частых причин потери баллов.
Ошибки, которые крадут баллы

** изображение создано или обработано с помощью ИИ.
Самое обидное в таких потерях — их предсказуемость.
Первая типовая ошибка связана с границами цикла. Если вы используете range(n), индексы i идут от 0 до n−1, и знаменатель должен быть 2*i + 1. Если вы начнёте i с единицы, формула сломается — и программа выдаст неверное приближение без видимых ошибок в синтаксисе.
Вторая ошибка — целочисленное мышление. В Python деление через / всегда даёт вещественное число, и это удобно. Но если вы пишете на C++ или Pascal, деление целых чисел может отбросить дробную часть, и вы этого не заметите. На экзамене важно помнить о типе данных там, где это имеет значение.
Третья ошибка касается цикла с неизвестным числом шагов. Условие остановки должно гарантировать, что переменные внутри цикла меняются. Иначе программа зависает. На ЕГЭ, где время ограничено, зависший код — это потерянные минуты и нервы.
Четвёртая ошибка — избыточное округление внутри цикла. Каждое округление вносит дополнительную погрешность, которая накапливается. Округлять имеет смысл только конечный результат и только если это прямо требуется в условии.
Пятая ошибка — доверие к любому напечатанному числу. Программа может быть синтаксически верной, но давать 3.14 вместо 3.1416 из-за ошибки в знаменателе или знаке. Простая проверка: сравните первые несколько цифр вашего результата с известным приближением π = 3.141592653589793. Это быстро отсекает грубые промахи.
Перед тем как сдать решение, стоит пробежаться по контрольным точкам:
- Формула в коде должна соответствовать выбранному методу без пропусков.
- Счётчик цикла или индекс должны меняться на каждом шаге.
- Знак (если используется знакочередующийся ряд) обязан переключаться строго один раз за итерацию.
- Условие остановки должно проверять модуль разности или модуль очередного слагаемого, но никогда точное равенство.
- И вывод должен быть в том формате, который указан в задании.
Эти правила не делают код красивее, но делают его безопаснее. А на экзамене устойчивость к собственным ошибкам ценнее виртуозности.
Хотите перестать бояться циклов с неизвестным числом шагов и погрешностей float? В «ЕГЭLAND» мы отрабатываем алгоритмическую гигиену: учим писать устойчивые циклы, сравнивать вещественные числа через ε и избегать ловушек в заданиях 17, 25 и 27. Заходи на курс подготовки к ЕГЭ по информатике.
Как тренироваться, чтобы был эффект

** изображение создано или обработано с помощью ИИ.
Начинайте с ручного счёта на трёх или четырёх шагах, затем пишите код и проверяйте на малых значениях. Не ставьте сразу огромное число итераций — если формула ошибочна, это лишь удлинит ожидание неверного ответа.
Ведите простой блокнот ошибок: что перепутали, почему, как проверить. Это станет вашей личной картой уязвимых мест.
Полезно написать один алгоритм двумя способами (for и while) — так глубже понимаешь цикл. Для знака можно использовать (-1)**i, но отдельная переменная sign читается легче.
Перед экзаменом соберите шаблоны-каркасы: сумма ряда, поиск минимума, перебор делителей. Расчёт π ложится в первый из них.
Не делайте из числа монстра. Это не секретный босс, а рядовая проверка циклов, типов данных и погрешности. Увидели условие — действуйте по порядку: формула, переменные, условие останова, проверка первых цифр.
Если паника — напомните себе: миллиард знаков не нужен, нужен аккуратный алгоритм.
Хочешь начать готовиться, но остались вопросы?
Заполни форму, и мы подробно объясним, как устроена подготовка к ЕГЭ и ОГЭ в ЕГЭLAND
