Задание 1 — Численные методы вычисления определенных интегралов (2009/2010 уч. г.)

Версия для печатиВерсия для печати

Полная версия задания [PDF 92.32 KB]

Обзор задания

Необходимо разработать интерактивную программу, реализующую три численных метода вычисления определенных интегралов: метод прямоугольников, трапеций и Симпсона. Сравнить полученное значение со значением, вычисленным по формуле Ньютона–Лейбница. Методы прямоугольников и трапеций должны точно интегрировать линейную функцию, метод Симпсона — квадратичную.

Каждый из методов должен быть реализован в виде функции, принимающей следующие аргументы:

  1. указатель на функцию, которая должна быть проинтегрирована;
  2. пределы интегрирования;
  3. необходимую точность;
  4. максимальное число интервалов, на которые разрешено разбивать интервал, на котором производится интегрирование.

Если не удается выполнить интегрирование с заданной точностью, то выдать пользователю предупреждение, напечатать вычисленное значение и достигнутую точность.

Пользователь вводит с клавиатуры значения пределов интегрирования и начальное число интервалов, на которые разбивается интервал интегрирования.

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

Интерактивность подразумевает, что работа с программой осуществляется с помощью меню. Меню должно включать следующие функции:

  1. сравнение с точным значением для линейной/квадратичной функции
  2. сравнение со значением, полученным из формулы Ньютона–Лейбница
  3. вычисление интеграла, который нельзя выразить в явном виде
  4. выход

Отчет должен включать

  1. титульный лист
  2. содержание (необязательно)
  3. введение (несколько слов о том, чему посвящена работа и почему важно уметь выполнять численное интегрирование)
  4. постановку задачи
  5. описание методов решения задачи (в т.ч. блок-схему процедуры вычисления определенного интеграла)
    1. метод прямоугольников
    2. метод трапеций
    3. метод Симпсона
  6. тестирование на модельных задачах (для линейной/квадратичной функции; по формуле Ньютона–Лейбница)
  7. результаты расчетов
  8. заключение (несколько слов о том, чему была посвящена работа и основные достигнутые результаты)
  9. приложение (листинг программы – желательно моноширинным шрифтом [например, Courier])

Требования к оформлению программного кода

  1. условные и циклические конструкции должны содержать отступы;
  2. желательно, чтобы длина строки не превышала 80 символов.