Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью icon

Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью



НазваниеРазработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью
Дата конвертации10.08.2012
Размер77.97 Kb.
ТипРеферат
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью


Министерство образования Республики Беларусь УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра "ЭП и АПУ" ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К курсовой работе по дисциплине “Вычислительная техника и программирование” Выполнил студент группы ЭП-012 Гончаров А. М. Могилев, 2003 Министерство образования Республики Беларусь УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра "ЭП и АПУ" Курсовая работа Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью Пояснительная записка БУЛ 07.00.00.000 ПЗ Руководитель ст. преподаватель ______________ Абрашкин В.П. Студент группы ЭП- 02 ______________ Гончаров А.М. Могилев, 2003 СодержаниеВведение1 Постановка задачи 1. Общая характеристика задачи 2. Анализ литературных источников 3. Расчётные формулы метода1. Разработка алгоритма задачи 1. Описание данных , используемых для решения задачи 2. Описание схемы программы2. Кодирование программы 1. Описание структуры разрабатываемого пакета 2. Описание используемых типов данных 3. Проектирование интерфейса программы3. Тестирование программы4. Разработка гипертекстового варианта документаЗаключениеСписок используемых источниковПриложение А. Твёрдая копияПриложение Б. Результаты тестирования программыПриложение В. Тестирование данных в математическом пакетеПриложение Г. Гипертекстовый вариант документаПриложение Д. Акт приёмки программы Введение Данный курс «Вычислительной техники и программирования» мы заканчиваемкурсовым проектом, в котором нам следует разработать программу согласнополученному заданию. Стремительное развитие науки и техники, в том числе и вычислительной,требует знания её от каждого, считающего себя образованным, человека. Из-завсё возрастающей сложности многих объектов требуется улучшеннаяорганизация процесса программного моделирования и высокая степеньобразованности специалистов, а повышение требований к функционированию этихобъектов делают нашу задачу еще более сложной. Для решения этой задачиприменяется математическое моделирование, которое осуществляется опять же спомощью вычислительной техники, в частности компьютера. Нельзя не упомянуть о том, что широкое применение в современной науке итехнике получили дифференциальные уравнения различной степени и видасложности. В частности, они применяются в электротехнике, машиностроении,электронике, разработке различного рода аппаратного обеспечивания,математике, физике и других видах деятельности человека. Наша задача: создать способ быстрого, качественного, удобного инедорого решения поставленных перед нами задач. В данной курсовой работе мы применили численные методы нахожденияопределенного интеграла. Данной курсовой работой мы заканчиваем цикл лекций и лабораторныхработ по изучению среды программирования C Builder v5.
0, программывыполнения расчетов MathCad, работы в многофункциональном текстовомредакторе Word XP, программы выполнения чертежей AutoCad и использованиюфункциональных возможностей операционной системы Windows XP. Все эти знанияя постарался использовать в своем курсовом проекте. 1 Постановка задачи 1.1 Общая характеристика задачи Численное интегрирование используется для приближенного поисказначения определенного интеграла непрерывной функции f(x) на заданноминтервале [a,b] согласно выражению [pic], ( 1.1 ) где Q[f] – формула численного интегрирования; E[f] – ошибка усечения. Формула численного интегрирования называется формулой квадратуры. Вобщем виде она может быть представлена как сумма [pic] ( 1.2 ) где X0, ... , XK – узлы квадратуры; (0, ... , (K – веса квадратуры. Степень точности формулы квадратуры равна положительному целому числуn. Величина ошибки отсечения определяется в общем случае согласно выражению E[f]=K(f(n+1)(c), ( 1.3 ) где К – определенный коэффициент, n – степень точности. 1.2 Анализ литературных источников В зависимости от вида выражения квадратуры для нахождения значенияопределенного интеграла используются следующие численные методы: 1) правых, левых и средних прямоугольников; 2) трапеций; 3) формулы Симпсона и Буля; 4) Монте-Карло; 5) формулы Гаусса-Лежандра, 6) рекуррентные формулы. В зависимости от степени производной, учитываемой численным методом,определяется степень точности метода.Шаг интегрирования может быть постоянным на всём расчётном интервалеаргумента X или изменяться в зависимости от величины ошибки определенияфункции. 1.3 Расчётные формулы метода Составная формула Буля с порядком m=4 имеет вид [pic][pic] ( 1 ) 2 Разработка алгоритма решения задачи 2.1 Описание данных, используемых для решения задач В данной задаче использовались следующие данные: 1) исходные(входные)данные: - начало отрезка а; - конец отрезка b; - точность. 2) выходные результаты решения: -значение интеграла. 2.2 Описание схемы программы Схема алгоритма составлена в соответствии с математическим описаниемкурсовой работы и отображает последовательность операций в программе. Приее изображении используются правила и требования ГОСТ 19.701.90. Произведено выделение основных этапов в виде подпрограмм, выполняющихследующие действия: а) ввод исходных данных с клавиатуры; б) выполнение расчета; в) вывод полученных результатов на экран и в файл. Все подпрограммы выполнены в виде процедур [2]. Основные процедуры ипрограмма выполнены на листе. При этом описание функционального назначенияблоков схемы алгоритма приведено в комментариях. 3 Кодирование программы 3.1 Описание структуры разрабатываемого пакета Программа курсовой работы разработана в среде визуальногопрограммирования CBuilder 5.0 и состоит из головной программы,блоковUnit1, Unit2, Unit3.Программа выполнена на основе структурного программирования и содержитследующие процедуры и функции: а) f; б) Вооl. 3.2 Описание используемых типов данных В данной задаче использовались следующие типы данных: 1) переменная: a,b,e,I ,h,s,N типа float; 2) локальные переменные для перебора элементов массивов: i,j,k типаint; 3.3 Проектирование интерфейса программы Основные процедуры, используемые при составленииалгоритма: а) f-вызывает расчётную функцию; б) Bool- расчёт определённого интеграла. 4 Тестирование программы4.1 Тестирование программы в математическом пакете.[pic][pic] 4.2 Тестирование программы Для тестирования использована функция f(x)=5*x5-x3.[pic] Рисунок 1- Основное окно. [pic]Рисунок 2 – Ввод данных. Тестирование проводилось на ЭВМ со следующими характеристиками: - центральный процессор – Intel Pen tium 2.2 GHz; - оперативная память – 1024Mb; - видеоадаптер – GeForce 4 64 Mb; - монитор – Sony Trinitron; - операционная система – Windows XP. 5 Разработка гипертекстового варианта документа[pic]Рисунок 3-Гипертекстовый вариант Для перевода текста программы в формат HTML использовалась командаприложения MicrosoftWord (пакета Office XP) “Сохранить как Web-страницу”. Вид полученного документа, отображаемого InternetExplorer 5.0представлен на рисунке 3. Заключение В данной курсовой работе разработана программа расчета определенногоинтеграла по формуле Буля по схеме двойного пересчета с заданной точностью При работе над программой пройдены все этапы создания программныхпродуктов. Получены навыки в математическом описании задачи, разработкеалгоритма программы, составлении текста программы и проведении тестированияпрограммы. Использована система программирования C Builder v5.0. Список использованных источников1 Крылов В.И. Вычислительные методы высшей математики. Т.1./ Под ред. И.П. Мысовских. — Мн.: Вышэйшая школа, 1972.2 Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран, Паскаль - Томск: МП Таско", 19923 Херхагер М., Партолль X. MathCAD 2000; полное руководство: Пер. с нем. - К.: Издательская группа BHV, 2000. - 416с.4 Гусак А.А., Гусак ГМ. Справочник по высшей математике. - Мн.: Наука итехника, 1991. Приложение А (обязательное) Твёрдая копия Project1.cpp//---------------------------------------------------------------------------#include #pragma hdrstopUSERES("Project1.res");USEFORM("Unit1.cpp", Form1);USEFORM("Unit2.cpp", Form2);USEFORM("Unit3.cpp", Form3);//---------------------------------------------------------------------------WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) try Application->Initialize(); Application->CreateForm(__classid(TForm1), &Form1); Application->CreateForm(__classid(TForm2), &Form2); Application->CreateForm(__classid(TForm3), &Form3); Application->Run(); catch (Exception &exception) Application->ShowException(&exception); return 0;//--------------------------------------------------------------------------- Unit1.cpp//---------------------------------------------------------------------------#include #include#include#pragma hdrstop#include "Unit1.h"#include "Unit2.h"#include "Unit3.h"#include //---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;float a=0,b=10,e=0.01,I[2];float f(float x) return 5*pow(x,5)-pow(x,3); //-------------------------------------void Bool() float h,s,x[5],N=2; int i,l; do for(l=0;l<=1;l++) s=0; h=(b-a)/N; x[0]=a; x[1]=a+h/4; x[2]=a+h/2; x[3]=a+3*h/4; x[4]=a+h; for(i=1;i<=N;i++) s=(7*f(x[0])+32*f(x[1])+12*f(x[2])+32*f(x[3])+7*f(x[4]))+s; x[0]+=h; x[1]+=h; x[2]+=h; x[3]+=h; x[4]+=h; I[l]=h*s/45/2; N=N*2; while(fabs(I[0]-I[1])>e); //---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)//---------------------------------------------------------------------------void __fastcall TForm1::Exit1Click(TObject *Sender) Close();//---------------------------------------------------------------------------void __fastcall TForm1::Exit2Click(TObject *Sender) Close();//---------------------------------------------------------------------------void __fastcall TForm1::Exit1pop(TObject *Sender, TCanvas *ACanvas, TRect &ARect, bool Selected) SB1->SimpleText="Выход";//---------------------------------------------------------------------------void __fastcall TForm1::N1Click(TObject *Sender) Form2->Show(); SB1->SimpleText="Ввод данных закончен";//---------------------------------------------------------------------------void __fastcall TForm1::N2Click(TObject *Sender) Bool(); Form3->Show(); SB1->SimpleText="Произведен расчет";//--------------------------------------------------------------------------- Unit2.cpp//---------------------------------------------------------------------------#include #include#pragma hdrstop#include "Unit2.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "ibctrls"#pragma link "ibreg"#pragma link "CSPIN"#pragma resource "*.dfm"TForm2 *Form2;extern float a,b,e;//---------------------------------------------------------------------------__fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner)//------------------------------------------//---------------------------------------------------------------------------void __fastcall TForm2::Button2Click(TObject *Sender) Form2->Close();//---------------------------------------------------------------------------float __fastcall TForm2::checkf(TObject *Sender,TEdit *e1,float w) float buf; do try if(e1->Text!="") buf=StrToFloat(e1->Text);else buf=w; catch(const EConvertError &e) int j=Application->MessageBox("Неверные данные", NULL, MB_OK); buf=-1; e1->Text=FloatToStr(w); while((buf==-1)); return buf; //----------------------------------------void __fastcall TForm2::Button1Click(TObject *Sender) e=checkf(Sender,Edit4,e); a=checkf(Sender,Edit1,a); b=checkf(Sender,Edit2,b); Form2->Close();//---------------------------------------------------------------------------void __fastcall TForm2::FormCreate(TObject *Sender) Edit1->Text=FloatToStr(a); Edit2->Text=FloatToStr(b); Edit4->Text=FloatToStr(e);//---------------------------------------------------------------------------void __fastcall TForm2::GroupBox1Click(TObject *Sender)//--------------------------------------------------------------------------- Unit3.cpp//---------------------------------------------------------------------------#include #pragma hdrstop#include "Unit3.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma link "PERFGRAP"#pragma resource "*.dfm"TForm3 *Form3;extern float I[2];//---------------------------------------------------------------------------__fastcall TForm3::TForm3(TComponent* Owner) : TForm(Owner)//---------------------------------------------------------------------------void __fastcall TForm3::BitBtn1Click(TObject *Sender) Form3->Close();//---------------------------------------------------------------------------void __fastcall TForm3::FormCreate(TObject *Sender) SaveDialog1->InitialDir= GetCurrentDir(); Edit1->Text=FloatToStr(I[1]);//---------------------------------------------------------------------------void __fastcall TForm3::Button1Click(TObject *Sender) TStringList *s; s= new TStringList; SaveDialog1->Execute(); s->Add(" Значение интеграла равно"+FloatToStr(I[1])); s->SaveToFile(SaveDialog1->FileName); delete s;//---------------------------------------------------------------------------void __fastcall TForm3::Label1Click(TObject *Sender)//--------------------------------------------------------------------------- Приложение Б Результаты тестирования программы.[pic]Рисунок 4 - Результат тестирования Приложение В. Тестирование данных в математическом пакете.[pic] Приложение Г Гипертекстовый вариант документа1 Постановка задачи
1 Постановказадачи


1.1 Общая характеристиказадачи


 

Численное интегрирование используется дляприближенного поиска значения определенного интеграла непрерывной функцииf(x)назаданном интервале [a,b] согласно выражению

,(1.1 )

где Q[f] – формула численногоинтегрирования;

E[f] – ошибкаусечения.

Формула численного интегрированияназывается формулой квадратуры. В общем виде она может быть представленакаксумма

( 1.2)

 
Приложение Д Акт приёмки программыРазработанная в ходе выполнения курсового проекта программа расчетаопределенного интеграла по формуле Буля по схеме двойного пересчета сзаданной точностью работоспособна и полностью соответствует требованиямзадания. Студент гр. ЭП-012 Гончаров А.М. Руководитель работы старший преподаватель кафедры «ЭП и АПУ» Абрашкин В.П.----------------------- БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм. БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм.[pic] Листов Лист Лит. Утв. Н.контр.Н.контр. Пров.ПроверилРазраб. Дата Подп. № докум. БУЛ 07.00.00.000 ПЗ БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм. БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм. БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм. БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм.Лист[pic][pic][pic][pic][pic]Дата Подп. №докум. БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм. ЛистИзм.Изм. Лист №докум. Подп.Дата[pic][pic][pic][pic][pic]Лист БУЛ 07.00.00.000 ПЗ БУЛ 07.00.00.000 ПЗЛист[pic][pic][pic][pic][pic]Дата Подп. №докум. ЛистИзм. БУЛ 07.00.00.000 ПЗ МГТУ гр. ЭП-012 Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностьюГончаровАбрашкин[pic][pic][pic][pic] Лист Изм.




Похожие:

Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconОпределённый интеграл § Задачи, приводящие к понятию определённого интеграла
...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconЗадача о нахождении площади криволинейной трапеции
Свойства определенного интеграла (Теорема о среднем, свойства определенного интеграла, выражаемые неравенствами). Геометрический...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconКонтрольная работа
Для вычисления определённого интеграла, разбивая отрезок интегрирования на 10 равных частей, найти приближённое значение по формуле...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconВычислить значение интеграла, используя таблицы специальных функций
...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconКурсовая работа на тему "вычисление определенного интеграла методами трапеций и средних прямоугольников"
Известно, что определенный интеграл функции типа численно представляет собой площадь криволинейной трапеции ограниченной кривыми...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconКурсовая работа на тему "вычисление определенного интеграла методами трапеций и средних прямоугольников"
Известно, что определенный интеграл функции типа численно представляет собой площадь криволинейной трапеции ограниченной кривыми...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconКратные, криволинейные и поверхностные интегралы
Выполните задания 1-4 с помощью двойного интеграла, задания 5-7 с помощью тройного интеграла, задания 8-11 с помощью криволинейных...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconУрок в 11 классе тема: «Применение определенного интеграла для вычисления геометрических и физических величин»
Показать применение интеграла в решении задач на нахождение объемов тел вращения, решении физических задач
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconПрограммирование разветвляющегося вычислительного процесса
Разработать программу вычисления значений заданной кусочно-непрерывной функции для произвольных значений исходных данных. Подготовить...
Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью iconНа графике положительное направление оси Oz направлено вниз для наглядности
Задание с помощью двойного интеграла вычислить объем тела, заданного ограничивающими его поверхностями
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы