kursovik (664627), страница 2
Текст из файла (страница 2)
#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">
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
1 Постановка задачи
ДМИТРИЙ
Normal
ДМИТРИЙ
1
0
2003-06-07T13:56:00Z
2003-06-07T13:57:00Z
1
HOME
1
1
9.2812
1 Постановка задачи
style="mso-spacerun: yes">
1.1 Общая характеристика задачиstyle='font-family:"Times New Roman";font-weight:normal;mso-bidi-font-weight:
bold'>
Численное интегрирование используется для
приближенного поиска значения определенного интеграла непрерывной функции
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="https://s.studizba.com/z.php?f=/uploads/unziped/real/101415/doc/100545/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="https://s.studizba.com/z.php?f=/uploads/unziped/real/101415/doc/100545/image004.gif" v:shapes="_x0000_i1050">
DrawAspect="Content" ObjectID="_1116513811">
( 1.2 )
Приложение Д
Акт приёмки программы
Разработанная в ходе выполнения курсового проекта программа расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью работоспособна и полностью соответствует требованиям задания.
Студент гр. ЭП-012
Гончаров А.М.
Руководитель работы
старший преподаватель кафедры «ЭП и АПУ»
Абрашкин В.П.
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="https://s.studizba.com/z.php?f=/uploads/unziped/real/101415/doc/100545/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="https://s.studizba.com/z.php?f=/uploads/unziped/real/101415/doc/100545/image004.gif" v:shapes="_x0000_i1050"> DrawAspect="Content" ObjectID="_1116513811"> ( 1.2 )
Приложение Д
Акт приёмки программы
Разработанная в ходе выполнения курсового проекта программа расчета определенного интеграла по формуле Буля по схеме двойного пересчета с заданной точностью работоспособна и полностью соответствует требованиям задания.
Студент гр. ЭП-012
Гончаров А.М.
Руководитель работы
старший преподаватель кафедры «ЭП и АПУ»
Абрашкин В.П.