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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Могилев, 2003


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

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра "ЭП и АПУ"

 

 

Курсовая работа

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

Пояснительная записка

 

БУЛ 07.00.00.000 ПЗ

 

 

                                                                       Руководитель ст. преподаватель

 

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

 

                                                               Студент группы ЭП-02

 

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

 

Могилев, 2003


                                       Содержание

Введение

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

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

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

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

2 Разработка алгоритма задачи

2.1 Описание данных, используемых для решения задачи

2.2 Описание схемы программы

3 Кодирование программы

3.1 Описание структуры разрабатываемого пакета

3.2 Описание используемых типов данных

3.3 Проектирование интерфейса программы

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

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

Заключение

Список используемых источников

Приложение А. Твёрдая копия

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

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

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

Приложение Д. Акт приёмки программы


Введение

 

Данный курс «Вычислительной техники и программирования» мы заканчиваем курсовым проектом, в котором нам следует разработать программу согласно полученному заданию.

Стремительное развитие науки и техники, в том числе и вычислительной, требует знания её от каждого, считающего себя образованным, человека. Из-за всё возрастающей сложности многих объектов требуется улучшенная организация процесса программного моделирования и высокая степень образованности специалистов, а повышение требований к функционированию этих объектов делают нашу задачу еще более сложной. Для решения этой задачи применяется математическое моделирование, которое осуществляется опять же с помощью вычислительной техники, в частности компьютера.

Нельзя не упомянуть о том, что широкое применение в современной науке и технике получили дифференциальные уравнения различной степени и вида сложности. В частности, они применяются в электротехнике, машиностроении, электронике, разработке различного рода аппаратного обеспечивания, математике, физике и других видах деятельности человека.

Наша задача: создать способ быстрого, качественного, удобного и недорого решения поставленных перед нами задач.

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

Данной курсовой работой мы заканчиваем цикл лекций и лабораторных работ по изучению среды программирования C Builder v5.0, программы выполнения расчетов MathCad, работы в многофункциональном текстовом редакторе Word XP, программы выполнения чертежей AutoCad и использованию функциональных возможностей операционной системы Windows XP. Все эти знания я постарался использовать в своем курсовом проекте.  

 

 

 


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

                                                                                                               

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

 

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

,                    (1.1)

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

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

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

    (1.2)

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

                                                                       w0,..., wK – веса квадратуры.

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

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

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

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

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

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

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

 

 

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

 

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

                        (1)

 

2 Разработка алгоритма решения задачи

 

 2.1 Описание данных, используемых для решения задач

                                                                                                            

       В данной задаче использовались следующие данные:

     1) исходные(входные)данные:

    - начало отрезка а;

     - конец отрезка b;

    - точность.

    2) выходные результаты решения:

    -значение интеграла.

 

2.2 Описание схемы программы

Схема алгоритма составлена в соответствии с математическим описанием курсовой работы и отображает последовательность операций в программе. При ее изображении ис­пользуются правила и требования ГОСТ 19.701.90.

Произведено выделение основных этапов в виде подпрограмм, выполняющих сле­дующие действия:

           

а) ввод исходных данных с клавиатуры;

б) выполнение расчета;

в) вывод полученных результатов на экран и в файл.

Все подпрограммы выполнены в виде процедур [2]. Основные процедуры и про­грамма выполнены на листе. При этом описание функционального назначения блоков схемы алгоритма приведено в комментариях.

 

 

Кодирование программы

 

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

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 <vcl.h>

#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 <vcl.h>

#include<io.h>

#include<math.h>

#pragma hdrstop

 

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include <fcntl.h>

 

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

#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 <vcl.h>

#include<iostream.h>

#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 <vcl.h>

#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)

{

       

}

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

 

 

Приложение Б

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

 

Приложение Г

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

 

<html xmlns:v="urn:schemas-microsoft-com:vml"

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

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

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

 

<head>

<meta http-equiv=Content-Type content="text/html; charset=windows-1251">

<meta name=ProgId content=Word.Document>

<meta name=Generator content="Microsoft Word 9">

<meta name=Originator content="Microsoft Word 9">

<link rel=File-List href="./1%20Постановка%20задач1.files/filelist.xml">

<link rel=Edit-Time-Data href="./1%20Постановка%20задач1.files/editdata.mso">

<link rel=OLE-Object-Data href="./1%20Постановка%20задач1.files/oledata.mso">

<!--[if!mso]>

<style>

v\:* {behavior:url(#default#VML);}

o\:* {behavior:url(#default#VML);}

w\:* {behavior:url(#default#VML);}

.shape {behavior:url(#default#VML);}

</style>

<![endif]-->

<title>1 Постановка задачи</title>

<!--[if gte mso 9]><xml>

 <o:DocumentProperties>

<o:Author>ДМИТРИЙ</o:Author>

<o:Template>Normal</o:Template>

<o:LastAuthor>ДМИТРИЙ</o:LastAuthor>

<o:Revision>1</o:Revision>

<o:TotalTime>0</o:TotalTime>

<o:Created>2003-06-07T13:56:00Z</o:Created>

<o:LastSaved>2003-06-07T13:57:00Z</o:LastSaved>

<o:Pages>1</o:Pages>

<o:Company>HOME</o:Company>

<o:Lines>1</o:Lines>

<o:Paragraphs>1</o:Paragraphs>

<o:Version>9.2812</o:Version>

 </o:DocumentProperties>

</xml><![endif]-->

<style>

<!--

 /* Style Definitions */

p.MsoNormal, li.MsoNormal, div.MsoNormal

       {mso-style-parent:"";

       margin:0cm;

       margin-bottom:.0001pt;

       mso-pagination:widow-orphan;

       font-size:12.0pt;

       font-family:"Times New Roman";

       mso-fareast-font-family:"Times New Roman";}

h2

       {mso-style-next:Обычный;

       margin-top:0cm;

       margin-right:0cm;

       margin-bottom:0cm;

       margin-left:35.9pt;

       margin-bottom:.0001pt;

       mso-pagination:widow-orphan;

       page-break-after:avoid;

       mso-outline-level:2;

       background:white;

       font-size:14.0pt;

       mso-bidi-font-size:12.0pt;

       font-family:"Courier New";

       color:black;

       letter-spacing:-.6pt;

       mso-bidi-font-weight:normal;}

h6

       {mso-style-next:Обычный;

       margin:0cm;

       margin-bottom:.0001pt;

       text-align:center;

       mso-pagination:widow-orphan;

       page-break-after:avoid;

       mso-outline-level:6;

       tab-stops:61.7pt;

       font-size:14.0pt;

       mso-bidi-font-size:12.0pt;

       font-family:"Times New Roman";}

@page Section1

       {size:595.3pt 841.9pt;

       margin:2.0cm 42.5pt 2.0cm 3.0cm;

       mso-header-margin:35.4pt;

       mso-footer-margin:35.4pt;

       mso-paper-source:0;}

div.Section1

       {page:Section1;}

-->

</style>

<!--[if gte mso 9]><xml>

 <o:shapedefaults v:ext="edit" spidmax="1134"/>

</xml><![endif]--><!--[if gte mso 9]><xml>

 <o:shapelayout v:ext="edit">

<o:idmap v:ext="edit" data="1"/>

 </o:shapelayout></xml><![endif]-->

</head>

 

<body lang=RU >

 

<div class=Section1>

 

<h6 ><a name="_Toc11439953">1 Постановка задачи</a></h6>

 

<p class=MsoNormal><b><span ><span

style="mso-spacerun: yes"> </span></span></b><span ><span style="mso-spacerun:

yes"> </span><o:p></o:p></span></p>

 

<h2><a name="_Toc11439954"><span >1.1 Общая характеристика задачи</span></a><span

><o:p></o:p></span></h2>

 

<p class=MsoNormal ><span ><![if!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>

 

<p class=MsoNormal ><span >Численное интегрирование используется для

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

lang=EN-US >f</span><span >(</span><span

lang=EN-US >x</span><span >) на

заданном интервале [a,b] согласно выражению<o:p></o:p></span></p>

 

<p class=MsoNormal ><span

><sub><!--[if gte vml 1]><v:shapetype

 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">

 <v:stroke joinstyle="miter"/>

 <v:formulas>

<v:f eqn="if lineDrawn pixelLineWidth 0"/>

<v:f eqn="sum @0 1 0"/>

<v:f eqn="sum 0 0 @1"/>

<v:f eqn="prod @2 1 2"/>

<v:f eqn="prod @3 21600 pixelWidth"/>

<v:f eqn="prod @3 21600 pixelHeight"/>

<v:f eqn="sum @0 0 1"/>

<v:f eqn="prod @6 1 2"/>

<v:f eqn="prod @7 21600 pixelWidth"/>

<v:f eqn="sum @8 21600 0"/>

<v:f eqn="prod @7 21600 pixelHeight"/>

<v:f eqn="sum @10 21600 0"/>

 </v:formulas>

 <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

 <o:lock v:ext="edit" aspectratio="t"/>

</v:shapetype><v:shape id="_x0000_i1049" type="#_x0000_t75" o:ole="" fillcolor="window">

 <v:imagedata src="./1%20Постановка%20задач1.files/image001.png" o:title=""/>

</v:shape><![endif]--><![if!vml]><img height=61

src="./1%20Постановка%20задач1.files/image002.gif" v:shapes="_x0000_i1049"><![endif]></sub><!--[if gte mso 9]><xml>

 <o:OLEObject Type="Embed" ProgID="Equation.3" ShapeID="_x0000_i1049"

DrawAspect="Content" ObjectID="_1116513810">

 </o:OLEObject>

</xml><![endif]-->,<span > </span>(

1.1)<o:p></o:p></span></p>

 

<p class=MsoNormal><span ><span

> </span>где <span > </span></span><i><span

lang=EN-US >Q</span></i><i><span >[</span></i><i><span

lang=EN-US >f</span></i><i><span >]</span></i><span

> – формула численного

интегрирования;<o:p></o:p></span></p>

 

<p class=MsoNormal><span ><span

> </span></span><i><span lang=EN-US

>E</span></i><i><span

>[</span></i><i><span

lang=EN-US >f</span></i><i><span >]</span></i><span

> – ошибка усечения.<o:p></o:p></span></p>

 

<p class=MsoNormal><span ><span

> </span>Формула численного интегрирования

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

сумма<o:p></o:p></span></p>

 

<p class=MsoNormal><span ><span

> </span><sub><!--[if gte vml 1]><v:shape id="_x0000_i1050"

 type="#_x0000_t75" o:ole="" fillcolor="window">

 <v:imagedata src="./1%20Постановка%20задач1.files/image003.png" o:title=""/>

</v:shape><![endif]--><![if!vml]><img height=61

src="./1%20Постановка%20задач1.files/image004.gif" v:shapes="_x0000_i1050"><![endif]></sub><!--[if gte mso 9]><xml>

 <o:OLEObject Type="Embed" ProgID="Equation.3" ShapeID="_x0000_i1050"

DrawAspect="Content" ObjectID="_1116513811">

 </o:OLEObject>

</xml><![endif]--><span > </span>(1.2)<o:p></o:p></span></p>

 

<p class=MsoNormal><![if!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>

 

</div>

 

</body>

 

</html>

 

 


 

 

Приложение Д

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

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

 

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

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

 

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

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

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

Могилев, 2003


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

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра "ЭП и АПУ"

 

 

Курсовая работа

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

Пояснительная записка

 

БУЛ 07.00.00.000 ПЗ

 

 

                                                                       Руководитель ст. преподаватель

 

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

 

                                                               Студент группы ЭП-02

 

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

 

Могилев, 2003


                                       Содержание

Введение

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

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

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

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

2 Разработка алгоритма задачи

2.1 Описание данных, используемых для решения задачи

2.2 Описание схемы программы

3 Кодирование программы

3.1 Описание структуры разрабатываемого пакета

3.2 Описание используемых типов данных

3.3 Проектирование интерфейса программы

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

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

Заключение

Список используемых источников

Приложение А. Твёрдая копия

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

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

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

Приложение Д. Акт приёмки программы


Введение

 

Данный курс «Вычислительной техники и программирования» мы заканчиваем курсовым проектом, в котором нам следует разработать программу согласно полученному заданию.

Стремительное развитие науки и техники, в том числе и вычислительной, требует знания её от каждого, считающего себя образованным, человека. Из-за всё возрастающей сложности многих объектов требуется улучшенная организация процесса программного моделирования и высокая степень образованности специалистов, а повышение требований к функционированию этих объектов делают нашу задачу еще более сложной. Для решения этой задачи применяется математическое моделирование, которое осуществляется опять же с помощью вычислительной техники, в частности компьютера.

Нельзя не упомянуть о том, что широкое применение в современной науке и технике получили дифференциальные уравнения различной степени и вида сложности. В частности, они применяются в электротехнике, машиностроении, электронике, разработке различного рода аппаратного обеспечивания, математике, физике и других видах деятельности человека.

Наша задача: создать способ быстрого, качественного, удобного и недорого решения поставленных перед нами задач.

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

Данной курсовой работой мы заканчиваем цикл лекций и лабораторных работ по изучению среды программирования C Builder v5.0, программы выполнения расчетов MathCad, работы в многофункциональном текстовом редакторе Word XP, программы выполнения чертежей AutoCad и использованию функциональных возможностей операционной системы Windows XP. Все эти знания я постарался использовать в своем курсовом проекте.  

 

 

 


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

                                                                                                               

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

 

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

,                    (1.1)

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

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

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

    (1.2)

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

                                                                       w0,..., wK – веса квадратуры.

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

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

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

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

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

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

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

2) трапеций;

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

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

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

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

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

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

 

 

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

 

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

                        (1)

 

2 Разработка алгоритма решения задачи

 

 2.1 Описание данных, используемых для решения задач

                                                                                                            

       В данной задаче использовались следующие данные:

     1) исходные(входные)данные:

    - начало отрезка а;

     - конец отрезка b;

    - точность.

    2) выходные результаты решения:

    -значение интеграла.

 

2.2 Описание схемы программы

Схема алгоритма составлена в соответствии с математическим описанием курсовой работы и отображает последовательность операций в программе. При ее изображении ис­пользуются правила и требования ГОСТ 19.701.90.

Произведено выделение основных этапов в виде подпрограмм, выполняющих сле­дующие действия:

           

а) ввод исходных данных с клавиатуры;

б) выполнение расчета;

в) вывод полученных результатов на экран и в файл.

Все подпрограммы выполнены в виде процедур [2]. Основные процедуры и про­грамма выполнены на листе. При этом описание функционального назначения блоков схемы алгоритма приведено в комментариях.

 

 

Кодирование программы

 



Поделиться:


Последнее изменение этой страницы: 2020-03-26; просмотров: 77; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.202.54 (0.391 с.)