Программа для вычисления интегралов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    998,37 Кб
  • Опубликовано:
    2012-08-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программа для вычисления интегралов

Содержание


1. Анализ задачи

1.1 Исследование предметной области

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.4   Метод трапеций

На рисунке 4 представлена геометрическая интерпретация метода трапеций. Формула трапеций имеет вид:


Рисунок 4 - Геометрическая интерпретация метода трапеций

2. Инструменты разработки

2.1 Требования к аппаратным ресурсам

Данное программное обеспечение было разработано на компьютере на базе процессора Intel в операционной системе Windows 7. Предполагается, что приложение сможет запуститься на любом компьютере с более-менее современной комплектацией. Тестирование приложение проходило также в ОС Windows XP, сбоев в работе обнаружено не было.

.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.pasUnitMath;

Chart;

= (Trap, LeftRect, MiddleRect, RightRect, Simpson);

= function(x: real): real;

GetResult(x: real):real;CountIntegral( Low, High, Step: Real;: TChart; Func: MyFunc;: CountType ): real;IntegerToCountType(param: integer): CountType;

GetResult(x: real):real;:= cos(Pi/6)*x/sqrt(x);;

CountIntegral( Low, High, Step: Real;: TChart; Func: MyFunc;: CountType): real;x, buf: real;:= 0;

:= Low - 0.2;x <= High + 0.2 do.Series[1].AddXY(x, Func(x));:= x + 0.001;;

:= Low;CountIntegralType of: begin:= x;.Series[0].AddXY(buf, Func(buf));:= x + Step;

x <= High do.Series[0].AddXY(x, Func(x));:= result + Step*(Func(buf)+Func(x))/2;:= x;:= x + Step;;

(x - Step) < High then:= High;.Series[0].AddXY(x, Func(x));:= result + (x - buf)*(Func(buf)+Func(x))/2;;;: begin:= x;:= x + Step;x <= High do.Series[0].AddXY(buf, Func(x));.Series[0].AddXY(x, Func(x));:= result + Step*Func(x);:= x + Step;:= buf + Step;;

(x - Step) < High then:= High;.Series[0].AddXY(buf, Func(x));.Series[0].AddXY(x, Func(x));:= result + (x - buf)*Func(x);;;

: begin:= x;:= x + Step;

x <= High do.Series[0].AddXY(buf, Func(Buf + Step/2));.Series[0].AddXY(x, Func(Buf + Step/2));:= result + Step*Func(buf + Step/2);:= x + Step;:= buf + Step;;

(x - Step) < High then:= High;.Series[0].AddXY(buf, Func(buf+(x - buf)/2));.Series[0].AddXY(x, Func(buf+(x - buf)/2));:= result + (x - buf)*Func(buf + (x - buf)/2);;;: begin:= x;:= x + Step;x <= High do.Series[0].AddXY(buf, Func(buf));.Series[0].AddXY(x, Func(buf));:= result + Step*Func(buf);:= x;:= x + Step;;

(x - Step) < High then:= High;.Series[0].AddXY(buf, Func(buf));.Series[0].AddXY(x, Func(buf));:= result + (x - buf)*Func(x);;;

:begin:= x;.Series[0].AddXY(buf, Func(buf));:= x + Step;

x <= High do.Series[0].AddXY(x, Func(x));:= result + (Step/6)*(Func(buf)+4*Func(buf + Step/2)+Func(x));:= x;:= x + Step;;

(x - Step) < High then:= High;:= x - buf;.Series[0].AddXY(x, Func(x));:= result + (Step/6)*(Func(buf)+4*Func(buf + Step/2)+Func(x));;;;

;

IntegerToCountType(param: integer): CountType;param of

: result := Trap;

: result := LeftRect;

: result := MiddleRect;

: result := RightRect;

: result := Simpson;;;

Похожие работы на - Программа для вычисления интегралов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!