| |||
Реферат: Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностьюМинистерство образования Республики Беларусь УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра "ЭП и АПУ" ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К курсовой работе по дисциплине “Вычислительная техника и программирование” Выполнил студент группы ЭП-012 Гончаров А. М. Могилев, 2003 Министерство образования Республики Беларусь УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра "ЭП и АПУ" Курсовая работа Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью Пояснительная записка БУЛ 07.00.00.000 ПЗ Руководитель ст. преподаватель ______________ Абрашкин В.П. Студент группы ЭП- 02 ______________ Гончаров А.М. Могилев, 2003 Содержание 1. Общая характеристика задачи 2. Анализ литературных источников 3. Расчётные формулы метода 1. Описание данных , используемых для решения задачи 2. Описание схемы программы 1. Описание структуры разрабатываемого пакета 2. Описание используемых типов данных 3. Проектирование интерфейса программы Введение
Стремительное развитие науки и техники, в том числе и вычислительной, требует знания её от каждого, считающего себя образованным, человека. Из-за всё возрастающей сложности многих объектов требуется улучшенная организация процесса программного моделирования и высокая степень образованности специалистов, а повышение требований к функционированию этих объектов делают нашу задачу еще более сложной. Для решения этой задачи применяется математическое моделирование, которое осуществляется опять же с помощью вычислительной техники, в частности компьютера. Нельзя не упомянуть о том, что широкое применение в современной науке и технике получили дифференциальные уравнения различной степени и вида сложности. В частности, они применяются в электротехнике, машиностроении, электронике, разработке различного рода аппаратного обеспечивания, математике, физике и других видах деятельности человека. Наша задача: создать способ быстрого, качественного, удобного и недорого решения поставленных перед нами задач. В данной курсовой работе мы применили численные методы нахождения определенного интеграла. Данной курсовой работой мы заканчиваем цикл лекций и лабораторных работ по изучению среды программирования 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) рекуррентные формулы. В зависимости от степени производной, учитываемой численным методом,
определяется степень точности метода. 1.3 Расчётные формулы метода Составная формула Буля с порядком m=4 имеет вид [pic] 2 Разработка алгоритма решения задачи 2.1 Описание данных, используемых для решения задач В данной задаче использовались следующие данные: 1) исходные(входные)данные: - начало отрезка а; - конец отрезка b; - точность. 2) выходные результаты решения: -значение интеграла. 2.2 Описание схемы программы Схема алгоритма составлена в соответствии с математическим описанием курсовой работы и отображает последовательность операций в программе. При ее изображении используются правила и требования ГОСТ 19.701.90. Произведено выделение основных этапов в виде подпрограмм, выполняющих следующие действия: а) ввод исходных данных с клавиатуры; б) выполнение расчета; в) вывод полученных результатов на экран и в файл. Все подпрограммы выполнены в виде процедур [2]. Основные процедуры и программа выполнены на листе. При этом описание функционального назначения блоков схемы алгоритма приведено в комментариях. 3 Кодирование программы 3.1 Описание структуры разрабатываемого пакета Программа курсовой работы разработана в среде визуального
программирования CBuilder 5.0 и состоит из головной программы,
блоковUnit1, Unit2, Unit3. 3.2 Описание используемых типов данных В данной задаче использовались следующие типы данных: 1) переменная: a,b,e,I ,h,s,N типа float; 2) локальные переменные для перебора элементов массивов: i,j,k типа int; 3.3 Проектирование интерфейса программы Основные процедуры, используемые при составлении алгоритма: а) f-вызывает расчётную функцию; б) Bool- расчёт определённого интеграла. 4 Тестирование программы
[pic] 4.2 Тестирование программы Для тестирования использована функция f(x)=5*x5-x3. Рисунок 1- Основное окно. [pic] Тестирование проводилось на ЭВМ со следующими характеристиками: - центральный процессор – 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. Список использованных источников
Мысовских. — Мн.: Вышэйшая школа, 1972. 2 Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран, Паскаль - Томск: МП Таско", 1992 3 Херхагер М., Партолль X. MathCAD 2000; полное руководство: Пер. с нем. - К.: Издательская группа BHV, 2000. - 416с. Приложение А (обязательное) Твёрдая копия Project1.cpp #include { 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 "Unit1.h" //-------------------------------------------------------------------------- float f(float x)
void __fastcall TForm1::N1Click(TObject *Sender) void __fastcall TForm1::N2Click(TObject *Sender) Unit2.cpp //-------------------------------------------------------------------------- #include #include "Unit2.h" //-------------------------------------------------------------------------- : TForm(Owner)
void __fastcall TForm2::Button2Click(TObject *Sender) { 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::FormCreate(TObject *Sender) void __fastcall TForm2::GroupBox1Click(TObject *Sender) Unit3.cpp //-------------------------------------------------------------------------- #include #include "Unit3.h" //-------------------------------------------------------------------------- : TForm(Owner) //-------------------------------------------------------------------------- void __fastcall TForm3::BitBtn1Click(TObject *Sender) void __fastcall TForm3::FormCreate(TObject *Sender) } void __fastcall TForm3::Button1Click(TObject *Sender)
void __fastcall TForm3::Label1Click(TObject *Sender) } Приложение Б Результаты тестирования программы.
Приложение В. Тестирование данных в математическом пакете. Приложение Г Гипертекстовый вариант документа 1 Постановка задачи 1 Постановка задачи 1.1 Общая характеристика задачи Численное интегрирование используется для приближенного поиска значения определенного интеграла непрерывной функции f(x) на заданном интервале [a,b] согласно выражению , где 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] Лист Изм. |
|