gadget59.ru · практика Численные методы · Практическая работа №1 · 11 слайдов
01

Практическая работа №1

Вычисление погрешностей результатов арифметических действий над приближёнными числами

ОП.10 Численные методы · Специальность 09.02.07 «Информационные системы и программирование»
Объём: 4 академических часа

В этой работе вы закрепите теоретические знания о погрешностях, научитесь применять правила арифметики приближённых чисел вручную и реализуете алгоритмы оценки погрешностей на языке программирования Python.

📐 Погрешности 🧮 Ручной счёт 🐍 Python 💻 Decimal 🎯 Точность
02

Цели и задачи работы

После выполнения этой практической работы вы должны:

Формат сдачи: Отчёт в формате PDF или Word, содержащий скриншоты ручных расчётов, исходный код программ на Python и скриншоты результатов их выполнения в консоли.

03

Краткий теоретический справочник

Перед началом работы освежим в памяти основные формулы и правила.

1. Формулы погрешностей

Абсолютная погрешность: Δ = |X − x|

Относительная погрешность: δ = (Δ / |x|) × 100%

где X — истинное значение, x — приближённое значение.

2. Правила арифметики приближённых чисел

Напоминание: значащие цифры — это все цифры числа, начиная с первой ненулевой цифры слева. Например, в числе 0.00450 три значащие цифры: 4, 5 и последний 0.

04

Задание №1. Ручной расчёт погрешностей

Вычислите абсолютную и относительную погрешности для заданных значений. Преподаватель выдаёт вам один из вариантов.

Вариант 1

Истинное значение: X = 3.14159

Приближённое значение: x = 3.14

Требуется:

  1. Найти Δ.
  2. Найти δ (в процентах, округлить до 3 знаков после запятой).

Вариант 2

Истинное значение: X = 2.71828

Приближённое значение: x = 2.72

Требуется:

  1. Найти Δ.
  2. Найти δ (в процентах, округлить до 3 знаков после запятой).

Подсказка для самопроверки (Вариант 1): Δ = 0.00159, δ ≈ 0.051%.

05

Задание №2. Применение правил арифметики

Выполните действия над приближёнными числами, соблюдая правила сохранения значащих цифр. Запишите промежуточный «сырой» результат и итоговый округлённый ответ.

Вариант 1

  1. 12.34 + 5.6
  2. 8.915 − 2.1
  3. 3.14 × 2.5
  4. 15.75 / 3.0

Вариант 2

  1. 15.23 + 4.1
  2. 10.005 − 3.2
  3. 2.5 × 3.14
  4. 22.4 / 4.0

Пример рассуждения для п.1 (Вариант 1): Число 12.34 имеет 2 знака после запятой, число 5.6 имеет 1 знак. Результат должен иметь 1 знак после запятой. Сырой результат: 17.94. Итоговый: 17.9.

06

Задание №3. Программирование на Python (Часть 1)

Напишите скрипт на Python, который демонстрирует проблему накопления ошибки округления при использовании стандартного типа float и решает её с помощью модуля decimal.

Требования к коду:

  1. Создайте переменную s_float = 0.0.
  2. В цикле for прибавьте к ней 0.1 ровно 10 раз.
  3. Выведите результат и сравните его с 1.0 через оператор ==.
  4. Повторите то же самое, используя Decimal('0.1') из модуля decimal.
  5. Выведите оба результата с поясняющим текстом.
from decimal import Decimal

# Часть 1: float
s_float = 0.0
for _ in range(10):
    s_float += 0.1

print(f"Float результат: {s_float}")
print(f"Float == 1.0? {s_float == 1.0}")

# Часть 2: Decimal
s_dec = Decimal('0.0')
for _ in range(10):
    s_dec += Decimal('0.1')

print(f"Decimal результат: {s_dec}")
print(f"Decimal == 1.0? {s_dec == Decimal('1.0')}")
07

Задание №4. Прикладная задача на Python

Напишите программу, которая запрашивает у пользователя длину и ширину прямоугольника (как приближённые числа), вычисляет его площадь и выводит результат с правильным количеством значащих цифр.

Алгоритм программы:

  1. Импортируйте модуль decimal.
  2. Запросите у пользователя ввод длины и ширины (строки).
  3. Преобразуйте ввод в объекты Decimal.
  4. Вычислите площадь (умножение).
  5. Определите, сколько значащих цифр было в исходных числах (можно использовать строковые методы или задать жёстко в условии задачи).
  6. Округлите результат площади до нужного количества значащих цифр с помощью метода .quantize() или round() и выведите.

Внимание: при использовании input() всегда передавайте строку напрямую в Decimal(input()). Не делайте Decimal(float(input())), иначе вы сразу внесёте ошибку двоичного представления!

08

Инструкция по выполнению и оформлению

Чтобы ваша работа была принята, следуйте этому чек-листу:

  1. Ручные расчёты (Задания 1 и 2): выполните в тетради или в текстовом редакторе. Сфотографируйте или сделайте скриншот и вставьте в отчёт.
  2. Код (Задания 3 и 4): напишите в среде разработки (VS Code, PyCharm или IDLE). Код должен содержать комментарии, объясняющие каждый шаг.
  3. Скриншоты консоли: запустите программу и сделайте скриншот окна терминала, где виден ввод данных и вывод результатов.
  4. Формат файла: соберите всё в один документ Word или PDF. Назовите файл по шаблону: Фамилия_Практика1_ЧисленныеМетоды.pdf.

Совет: используйте функцию print(f"Текст {variable:.4f}") в Python для красивого вывода чисел с заданным количеством знаков после запятой.

09

Критерии оценки

Преподаватель будет оценивать вашу работу по следующей шкале:

Оценка Критерии
«Отлично» (5) Все 4 задания выполнены без ошибок. Код работает корректно, содержит комментарии. Отчёт оформлен аккуратно, выводы сделаны.
«Хорошо» (4) Выполнены все задания, но есть 1–2 незначительные ошибки в ручных расчётах или мелкие недочёты в оформлении кода (например, отсутствуют комментарии).
«Удовлетворительно» (3) Выполнены Задания 1 и 2. В программной части (Задания 3 и 4) есть ошибки, но видна попытка реализации. Отчёт неполный.
«Неудовлетворительно» (2) Работа не выполнена, представлены только фрагменты кода без результатов, или ответы списаны без понимания материала.
10

Типичные ошибки студентов

Избегайте этих промахов, чтобы не потерять баллы:

11

Работа завершена!

Вы научились не только считать погрешности вручную,
но и заставлять компьютер делать это правильно.

Сохраните отчёт и отправьте его преподавателю через электронную образовательную среду или на указанный email.

📐 Погрешности 🐍 Python 💻 Decimal 🎯 Точность

Следующий этап: Лекция №2 «Локализация корней и численные методы решения уравнений».