n: =1; // изначально обнуляем значение площади интеграла
Repeat // начало цикла
S1: =S; // предыдущее значение площади изначально равно значению площади с количеством разбиений равным 1
n: =2*n; // увеличиваем количество разбиений в два раза
h: = (b-a) /n; // формула вычисления шага
S: =f (a) +f (b); // значение функции в нижнем пределе + значение функции в верхнем пределе определенного интеграла
x: =a; // значению xприсвоим значение нижнего предела
fori: =0 tondo // для i-того элемента, изменяющегося от 1 до n-1
begin
x: =a+i*h; // х увеличиваем
if x=a then s: =s+f (x) else
if x=b then s: =s+f (x) else
ifimod2 = 0 thens: =s+2*f (x) elses: =s+4*f (x); // если число четное, то вычисляется по формуле s: =s+2*f (x), а если нечетное, то по s: =s+4*f (x)
end;
S: =S*h/3; // вычислим площадь по формуле
Untilabs (S-S1) <=E; // если разность значения площади и предыдущего значения площади меньше или равна заданной точности Е, то
Form4. Edit1. Text: =FloatToStr (S); // выводим значение на экран
Form4. Caption: ='Вычисление методом парабол';
Form4. Button2. visible: =False;
Form4. Chart1. Visible: =False;
Form4. ShowModal;
end;
Для открытия программы необходимо запустить project1. exe. После запуска откроется окно программы (рис.4). Предварительно создаем текстовый файл integral. txt в том же каталоге, где расположена программа (рис.9) в этом файле должны сохраниться результаты сравнения.
Запускаем программу. С помощью компонента MainMenuвыберем вкладки "Ввод", "Решение", "Исследование" и "Заставка".
Выбираем вкладку "Ввод - Параметры" открывается Form2 и вводим параметры (рис.10):
Рисунок 9 – Меню
Рисунок 10 - Параметры
Нажимаем на кнопку "OK" и возвращаемся к основной форме. Выбираем методы решения:
Рисунок 12 - Вычисление методов трапеций
Аналогично выглядит форма, когда вычисляем площадь по методу Симпсона (парабол). Далее выбираем вкладку "Исследование на погрешность" открывается Form5, нажимаем на кнопку "График", затем на кнопку "Сохранить"
Рисунок 14 - Исследование на погрешность
Из графика видно, что метод Симпсона (парабол) намного точнее, почти совпадает с точным значением, вычисленным в пакете Maxima.
Затем на кнопку "Сохранить". Откроем каталог, где расположена программа и откроем текстовый файл integral. Txt
Рисунок 15 - Сохранение результатов сравнения
Нажмем на кнопку "OK" и вернемся в основной форме, чтобы завершить исследование вычислительных методов для нахождения интеграла.
В процессе разработки курсовой работы были проработаны следующие методы вычисления определенных интегралов - метод трапеций и метод Симпсона (парабол). Был визуализирован ход вычисления интеграла в виде графика. На графике была представлена зависимость разбиений от заданной точности.
В процессе выполнения курсовой работы были закреплены практические навыки по разработке пользовательских приложений при помощи объектно-ориентированного языка программирования Lazarusи современных компьютерных технологий обработки информации, а также навыки в составлении текстовой документации.
1. Намиот Д.Е. Основные особенности языка программирования Delphi7. - М.: ‘Память ’, 1999.
2. Пильщиков В.Н. Программирование на языке Delphi7. - М.: Диалог--Мифи, 1999.
3. Михеева Е.В. Информационные технологии в профессиональной деятельности: Учебное пособие для сред. проф. образования. - 2-е издание, стер. - М.: Издательский центр "Академия", 2005. - 384 с.
4. Румянцева Е.Л., Слюсарь В.В. Информационные технологии: учеб. пособие / Под. ред. проф. Л.Г. Гагариной. - М.: ИД "ФОРУМ": ИНФРА - М, 2007. - 256 с.: ил.
5. Ильин В.А., Поздняк Э.Г. - Основы математического анализа. Часть 1 - М.: Физматлит, 2008 - 648 с.