Курсовая: Разработка программы расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью - текст курсовой. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Курсовая

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

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Курсовая работа
Язык курсовой: Русский
Дата добавления:   
 
Скачать
Архив Zip, 400 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!

Узнайте стоимость написания уникальной работы

48





Министерство образования Республики Беларусь

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра "ЭП и АПУ"











ПОЯСНИТЕЛЬНАЯ ЗАПИСКА



К курсовой работе по дисциплине


“Вычислительная техника и программирование”













Выполнил студент группы ЭП-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] согласно выражению

, ( 1.1 )

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

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

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

( 1.2 )

где X0, ... , XK – узлы квадратуры;

0, ... , K – веса квадратуры.

Степень точности формулы квадратуры равна положительному целому числу n. Величина ошибки отсечения определяется в общем случае согласно выражению

E[f]=Kf(n+1)(c), ( 1.3 )

где К – определенный коэффициент,

n – степень точности.


1.2 Анализ литературных источников


В зависимости от вида выражения квадратуры для нахождения значения определенного интеграла используются следующие численные методы:

  1. правых, левых и средних прямоугольников;

  2. трапеций;

  3. формулы Симпсона и Буля;

  4. Монте-Карло;

  5. формулы Гаусса-Лежандра,

6) рекуррентные формулы.

В зависимости от степени производной, учитываемой численным методом, определяется степень точности метода.

Шаг интегрирования может быть постоянным на всём расчётном интервале аргумента X или изменяться в зависимости от величины ошибки определения функции.





1.3 Расчётные формулы метода


Составная формула Буля с порядком m=4 имеет вид

( 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 Тестирование программы в математическом пакете.



4.2 Тестирование программы

Для тестирования использована функция f(x)=5*x5-x3.

Рисунок 1- Основное окно.

Рисунок 2 – Ввод данных.












Тестирование проводилось на ЭВМ со следующими характеристиками:

- центральный процессор – Intel Pen tium 2.2 GHz;

- оперативная память – 1024Mb;

- видеоадаптер – GeForce 4 64 Mb;

- монитор – Sony Trinitron;

- операционная система – Windows XP.













































5 Разработка гипертекстового варианта документа



Рисунок 3-Гипертекстовый вариант


Для перевода текста программы в формат HTML использовалась команда приложения MicrosoftWord (пакета Office XP) “Сохранить как Web-страницу”.

Вид полученного документа, отображаемого InternetExplorer 5.0 представлен на рисунке 3.

















Заключение

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

При работе над программой пройдены все этапы создания программных продуктов. Получены навыки в математическом описании задачи, разработке алгоритма программы, составлении текста программы и проведении тестирования программы. Использована система программирования C Builder v5.0.









































Список использованных источников

1 Крылов В.И. Вычислительные методы высшей математики. Т.1./ Под ред. И.П. Мысовских. — Мн.: Вышэйшая школа, 1972.

2 Мудров А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран, Паскаль - Томск: МП Таско", 1992

3 Херхагер М., Партолль X. MathCAD 2000; полное руководство: Пер. с нем. - К.: Издательская группа BHV, 2000. - 416с.

4 Гусак А.А., Гусак ГМ. Справочник по высшей математике. - Мн.: Наука и тех­ника, 1991.






































Приложение А

(обязательное)

Твёрдая копия


Project1.cpp

//---------------------------------------------------------------------------


#include

#pragma hdrstop

USERES("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)

{

}

//---------------------------------------------------------------------------













































Приложение Б


Результаты тестирования программы.



Рисунок 4 - Результат тестирования






































Приложение В.


Тестирование данных в математическом пакете.






















Приложение Г


Гипертекстовый вариант документа



xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:w="urn:schemas-microsoft-com:office:word"

xmlns="http://www.w3.org/TR/REC-html40">





1 Постановка задачи


style="mso-spacerun: yes">     

mso-bidi-font-size:12.0pt'>

yes">                                                                                                               


font-weight:normal;mso-bidi-font-weight:bold'>1.1 Общая характеристика задачи

style='font-family:"Times New Roman";font-weight:normal;mso-bidi-font-weight:

bold'>


mso-bidi-font-size:12.0pt'> 


mso-bidi-font-size:12.0pt'>Численное интегрирование используется для

приближенного поиска значения определенного интеграла непрерывной функции

lang=EN-US style='font-size:14.0pt;mso-bidi-font-size:12.0pt;mso-ansi-language:

EN-US'>f(

lang=EN-US style='font-size:14.0pt;mso-bidi-font-size:12.0pt;mso-ansi-language:

EN-US'>x) на

заданном интервале [a,b] согласно выражению


style='font-size:14.0pt;mso-bidi-font-size:12.0pt'>

id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"

path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">

src="./1%20Постановка%20задач1.files/image002.gif" v:shapes="_x0000_i1049">

DrawAspect="Content" ObjectID="_1116513810">

,                         (

1.1 )


style='mso-tab-count:1'>         где   

lang=EN-US style='font-size:14.0pt;mso-bidi-font-size:12.0pt;mso-ansi-language:

EN-US'>Q[

lang=EN-US style='font-size:14.0pt;mso-bidi-font-size:12.0pt;mso-ansi-language:

EN-US'>f]

style='font-size:14.0pt;mso-bidi-font-size:12.0pt'> – формула численного

интегрирования;


style='mso-tab-count:2'>                  

style='font-size:14.0pt;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US'>E

style='font-size:14.0pt;mso-bidi-font-size:12.0pt'>[

lang=EN-US style='font-size:14.0pt;mso-bidi-font-size:12.0pt;mso-ansi-language:

EN-US'>f]

style='font-size:14.0pt;mso-bidi-font-size:12.0pt'> – ошибка усечения.


style='mso-tab-count:1'>         Формула численного интегрирования

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

сумма


style='mso-tab-count:1'>        

type="#_x0000_t75" style='width:347.25pt;height:45.75pt' o:ole="" fillcolor="window">

src="./1%20Постановка%20задач1.files/image004.gif" v:shapes="_x0000_i1050">

DrawAspect="Content" ObjectID="_1116513811">

( 1.2 )


 

























Приложение Д


Акт приёмки программы


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


Студент гр. ЭП-012

Гончаров А.М.


Руководитель работы

старший преподаватель кафедры «ЭП и АПУ»

Абрашкин В.П.

1Авиация и космонавтика
2Архитектура и строительство
3Астрономия
 
4Безопасность жизнедеятельности
5Биология
 
6Военная кафедра, гражданская оборона
 
7География, экономическая география
8Геология и геодезия
9Государственное регулирование и налоги
 
10Естествознание
 
11Журналистика
 
12Законодательство и право
13Адвокатура
14Административное право
15Арбитражное процессуальное право
16Банковское право
17Государство и право
18Гражданское право и процесс
19Жилищное право
20Законодательство зарубежных стран
21Земельное право
22Конституционное право
23Конституционное право зарубежных стран
24Международное право
25Муниципальное право
26Налоговое право
27Римское право
28Семейное право
29Таможенное право
30Трудовое право
31Уголовное право и процесс
32Финансовое право
33Хозяйственное право
34Экологическое право
35Юриспруденция
36Иностранные языки
37Информатика, информационные технологии
38Базы данных
39Компьютерные сети
40Программирование
41Искусство и культура
42Краеведение
43Культурология
44Музыка
45История
46Биографии
47Историческая личность
 
48Литература
 
49Маркетинг и реклама
50Математика
51Медицина и здоровье
52Менеджмент
53Антикризисное управление
54Делопроизводство и документооборот
55Логистика
 
56Педагогика
57Политология
58Правоохранительные органы
59Криминалистика и криминология
60Прочее
61Психология
62Юридическая психология
 
63Радиоэлектроника
64Религия
 
65Сельское хозяйство и землепользование
66Социология
67Страхование
 
68Технологии
69Материаловедение
70Машиностроение
71Металлургия
72Транспорт
73Туризм
 
74Физика
75Физкультура и спорт
76Философия
 
77Химия
 
78Экология, охрана природы
79Экономика и финансы
80Анализ хозяйственной деятельности
81Банковское дело и кредитование
82Биржевое дело
83Бухгалтерский учет и аудит
84История экономических учений
85Международные отношения
86Предпринимательство, бизнес, микроэкономика
87Финансы
88Ценные бумаги и фондовый рынок
89Экономика предприятия
90Экономико-математическое моделирование
91Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Регулярный секс уберегает ваш компьютер от вирусов, которые вы можете поймать на порносайтах.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru