Программа для вычисления интегралов
Разработка программного обеспечения решения задач численного вычисления определенных интегралов. Анализ задачи, методы, инструменты: требования к аппаратным ресурсам и программным средствам. Руководство пользователя, тестирование приложения, применение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.08.2012 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
1. Анализ задачи
1.1 Исследование предметной области
2. Инструменты разработки
2.1 Требования к аппаратным ресурсам
2.2 Требования к программным средствам разработки
3. Руководство пользователя
4. Тестовые примеры
5. Тестирование приложения
6. Применение программы
Список использованных источников
Приложение А
1. Анализ задачи
1.1 Исследование предметной области
Для решения задач численного вычисления определенных интегралов используются различные методы:
- Метод левых прямоугольников;
- Метод правых прямоугольников;
- Метод средних прямоугольников;
- Метод трапеций;
- Метод Симпсона.
Рассмотрим подробнее данные методы.
1.1.1 Метод левых прямоугольников
На рисунке 1 представлена геометрическая интерпретация метода левых прямоугольников. Формула левых прямоугольников имеет вид:
Рисунок 1 - Геометрическая интерпретация метода левых прямоугольников
1.1.2 Метод правых прямоугольников
На рисунке 2 представлена геометрическая интерпретация метода правых прямоугольников. Формула правых прямоугольников имеет вид:
Рисунок 2 - Геометрическая интерпретация метода правых прямоугольников
1.1.3 Метод правых прямоугольников
На рисунке 3 представлена геометрическая интерпретация метода средних прямоугольников. Формула средних прямоугольников имеет вид:
Рисунок 3 - Геометрическая интерпретация метода средних прямоугольников
1.1.4 Метод трапеций
На рисунке 4 представлена геометрическая интерпретация метода трапеций. Формула трапеций имеет вид:
Рисунок 4 - Геометрическая интерпретация метода трапеций
2. Инструменты разработки
2.1 Требования к аппаратным ресурсам
Данное программное обеспечение было разработано на компьютере на базе процессора Intel в операционной системе Windows 7. Предполагается, что приложение сможет запуститься на любом компьютере с более-менее современной комплектацией. Тестирование приложение проходило также в ОС Windows XP, сбоев в работе обнаружено не было.
2.2 Требования к программным средствам разработки
Для просмотра либо редактирования файлов проекта необходимо иметь установленное в системе программное обеспечение RAD Studio 2012 либо Delphi 2007. Среда Delphi была выбрана в силу того, что она является известной широкому кругу программистов и идеально подходит для обучения визуальному программированию.
3. Руководство пользователя
Для начала работы разработанного мной программного обеспечения необходимо запустить файл Project1.exe. После запуска программы на дисплее появляется главная форма приложения (Рисунок 5).
Рисунок 5 - Главная форма приложения
Вверху формы расположен определенный интеграл, значение которого будет вычисляться в процессе работы программы. В правой части формы расположен график, на котором будет отображаться вся графическая информация, которая будет появляться в процессе вычислений.
В левой части формы расположен компонент TRadioGroup, переключением элементов которого можно выбирать метод вычисления значения интеграла. В левом нижнем углу находится три компонента TLabeledEdit, в которые вводятся границы вычисления интеграла и размер шага.
4. Тестовые примеры
Для тестирования приложения был выбран интеграл:
Данный интеграл является «не берущимся», поэтому вычислить его значение традиционными методами невозможно. Необходимо прибегать к одному из способов, описанных ранее.
5. Тестирование приложения
Переходим к тестированию приложения. Логика программы построена так, что при запуске приложения на графике уже представлено начальное решение интеграла методом трапеций со значениями пределов по умолчанию (Рисунок 6).
Рисунок 6 - Вычисленное значение интеграла при запуске приложения
Изменим значения пределов интегрирования и размер шага; вычислим значение интеграла для новых значений различными методами (Рисунок 7, 8, 9, 10, 11).
Рисунок 7 - Метод трапеций для новых пределов и шага
Рисунок 8 - Вычисление методом левых прямоугольников
Рисунок 9 - Вычисление методом средних прямоугольников
Рисунок 9 - Вычисление методом правых прямоугольников
Рисунок 10 - Вычисление методом Симпсона
Каждый метод вычисления имеет некоторую погрешность. Наиболее точным методом является метод Симпсона. В этом можно убедиться, поставив очень маленькое значение для шага вычисления. Тогда все методы вычисления будут давать результат, близкий по значению к результату, к которому привел метод Симпсона.
программный задача численный интеграл
6. Применение программы
Разработанное мной приложение можно использовать в качестве программного обеспечения для вычисления определенных интегралов. Тестирование приложения показало, что оно способно вычислять интегралы достаточно большой степени сложности с приемлемой точностью.
Приложение
// Модуль UnitMath.pas
unit UnitMath;
interface
uses Chart;
type
CountType = (Trap, LeftRect, MiddleRect, RightRect, Simpson);
MyFunc = function(x: real): real;
function GetResult(x: real):real;
function CountIntegral( Low, High, Step: Real;
Chart: TChart; Func: MyFunc;
CountIntegralType: CountType ): real;
function IntegerToCountType(param: integer): CountType;
implementation
function GetResult(x: real):real;
begin
Result := cos(Pi/6)*x/sqrt(x);
end;
function CountIntegral( Low, High, Step: Real;
Chart: TChart; Func: MyFunc;
CountIntegralType: CountType): real;
var x, buf: real;
begin
result := 0;
x := Low - 0.2;
while x <= High + 0.2 do
begin
Chart.Series[1].AddXY(x, Func(x));
x := x + 0.001;
end;
x:= Low;
case CountIntegralType of
Trap: begin
buf := x;
Chart.Series[0].AddXY(buf, Func(buf));
x := x + Step;
while x <= High do
begin
Chart.Series[0].AddXY(x, Func(x));
result := result + Step*(Func(buf)+Func(x))/2;
buf := x;
x := x + Step;
end;
if (x - Step) < High then
begin
x := High;
Chart.Series[0].AddXY(x, Func(x));
result := result + (x - buf)*(Func(buf)+Func(x))/2;
end;
end;
RightRect: begin
buf := x;
x := x + Step;
while x <= High do
begin
Chart.Series[0].AddXY(buf, Func(x));
Chart.Series[0].AddXY(x, Func(x));
result := result + Step*Func(x);
x := x + Step;
buf := buf + Step;
end;
if (x - Step) < High then
begin
x := High;
Chart.Series[0].AddXY(buf, Func(x));
Chart.Series[0].AddXY(x, Func(x));
result := result + (x - buf)*Func(x);
end;
end;
MiddleRect: begin
buf := x;
x := x + Step;
while x <= High do
begin
Chart.Series[0].AddXY(buf, Func(Buf + Step/2));
Chart.Series[0].AddXY(x, Func(Buf + Step/2));
result := result + Step*Func(buf + Step/2);
x := x + Step;
buf := buf + Step;
end;
if (x - Step) < High then
begin
x := High;
Chart.Series[0].AddXY(buf, Func(buf+(x - buf)/2));
Chart.Series[0].AddXY(x, Func(buf+(x - buf)/2));
result := result + (x - buf)*Func(buf + (x - buf)/2);
end;
end;
LeftRect: begin
buf := x;
x := x + Step;
while x <= High do
begin
Chart.Series[0].AddXY(buf, Func(buf));
Chart.Series[0].AddXY(x, Func(buf));
result := result + Step*Func(buf);
buf := x;
x := x + Step;
end;
if (x - Step) < High then
begin
x := High;
Chart.Series[0].AddXY(buf, Func(buf));
Chart.Series[0].AddXY(x, Func(buf));
result := result + (x - buf)*Func(x);
end;
end;
Simpson:begin
buf := x;
Chart.Series[0].AddXY(buf, Func(buf));
x := x + Step;
while x <= High do
begin
Chart.Series[0].AddXY(x, Func(x));
result := result + (Step/6)*(Func(buf)+4*Func(buf + Step/2)+Func(x));
buf := x;
x := x + Step;
end;
if (x - Step) < High then
begin
x := High;
Step := x - buf;
Chart.Series[0].AddXY(x, Func(x));
result := result + (Step/6)*(Func(buf)+4*Func(buf + Step/2)+Func(x));
end;
end;
end;
end;
function IntegerToCountType(param: integer): CountType;
begin
case param of
0: result := Trap;
1: result := LeftRect;
2: result := MiddleRect;
3: result := RightRect;
4: result := Simpson;
end;
end;
Размещено на Allbest.ru
Подобные документы
Метод последовательных приближений. Требования к аппаратным ресурсам и программным средствам разработки. Руководство пользователя, тестовые примеры. Тестирование приложения: ввод вычислений, рисование графика функции. Особенности применения программы.
курсовая работа [773,7 K], добавлен 27.08.2012Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления.
курсовая работа [483,6 K], добавлен 25.06.2014Рассмотрение методов прямоугольников и трапеций как способов вычисления определенных интегралов. Характеристика графика зависимости погрешности от числа разбиений N. Создание приложения по вычислению интеграла с помощью методов приближенного вычисления.
курсовая работа [1,6 M], добавлен 20.06.2012Средства Delphi для разработки Windows приложений. Математическая формулировка задачи, описание программы вычисления определенного интеграла по формуле левых прямоугольников. Руководство пользователя, методика испытаний продукта. Листинг программы.
курсовая работа [178,1 K], добавлен 14.11.2010Методы вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол). Примеры применения, блок-схемы методов трапеций и Симпсона. Разработка программы в объектно-ориентированной среде программирования Lazarus, конструирование интерфейса.
реферат [2,1 M], добавлен 18.04.2011Методы левых и правых прямоугольников численного интегрирования для вычисления интегралов. Геометрический смысл определённого интеграла. Программная реализация, блок-схемы алгоритмов. Результат работы тестовой программы. Решение задачи с помощью ЭВМ.
курсовая работа [180,4 K], добавлен 15.06.2013Численные методы. Создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона. Рассмотрен ход вычисления интеграла в виде кода программы.
курсовая работа [834,6 K], добавлен 14.04.2019Вычисление определенных интегралов методом Симпсона. Функциональная схема программного комплекса. Реализация функции разбора произвольно заданных математических функций. Методика сохранения графика в графический файл. Интерфейс программного комплекса.
курсовая работа [1,7 M], добавлен 15.06.2009Разработка программного приложения для вычисления интегралов с помощью метода Симпсона. Составление функциональной и структурной схемы программного продукта, математической модели и тестовых примеров. Изучение предметной области, выбора среды реализации.
курсовая работа [359,3 K], добавлен 08.06.2011Выбор и обоснование выбора среды разработки. Разработка алгоритма работы программы, проектирование системы меню. Общее описание программы: назначение и область применения, интерфейс, требования к аппаратным и программным ресурсам, тестирование и листинг.
курсовая работа [543,2 K], добавлен 20.05.2013