Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа №4 / term3.vmath.work4f / frmmain
.h#ifndef frmmainH
#define frmmainH
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "RzEdit.hpp"
#include "RzSpnEdt.hpp"
#include <Mask.hpp>
#include "RzCmboBx.hpp"
#include "RzPanel.hpp"
#include <ExtCtrls.hpp>
#include "RzButton.hpp"
#include <Grids.hpp>
typedef float __fastcall (__closure *FunctionValue)(float &x);
typedef void __fastcall (__closure *ItitializeParams)();
class IntegrableFunction {
public:
FunctionValue m_Function;
ItitializeParams m_Initialize;
__fastcall IntegrableFunction(FunctionValue value, ItitializeParams init);
void __fastcall Initialize() { if (m_Initialize) m_Initialize(); }
};
typedef float __fastcall (__closure *IntegralValue)(float h);
class IntegrationMethod {
public:
IntegralValue m_Integral;
int m_K; int m_Mdiv;
__fastcall IntegrationMethod(IntegralValue integral, int k, int mdiv);
};
class TMainForm : public TForm {
__published:
TRzGroupBox *InputGroupBox;
TRzComboBox *FunctionList;
TLabel *FunctionLabel;
TRzSpinEdit *AParamEdit;
TLabel *ParamsLabel;
TLabel *AParamLabel;
TLabel *BParamLabel;
TRzSpinEdit *BParamEdit;
TLabel *Label5;
TRzSpinEdit *CParamEdit;
TLabel *DParamLabel;
TRzSpinEdit *DParamEdit;
TRzComboBox *MethodList;
TLabel *MethodLabel;
TRzGroupBox *OutputGroupBox;
TLabel *IntervalLabel;
TRzSpinEdit *XMinEdit;
TRzSpinEdit *XMaxEdit;
TRzSpinEdit *NMaxEdit;
TLabel *Label9;
TLabel *XMaxLabel;
TLabel *XMinLabel;
TLabel *JExactLabel;
TRzSpinEdit *JExactEdit;
TRzButton *EvaluateExactButton;
TLabel *ValuesLabel;
TRzButton *IntegrateFunctionButton;
TStringGrid *OutputGrid;
TLabel *EpsLabel;
TRzSpinEdit *EpsEdit;
TLabel *ErrorLabel;
TLabel *DerivativeLabel;
TLabel *DerEpsLabel;
TRzSpinEdit *DerEpsEdit;
TLabel *AuthorLabel;
void __fastcall NMaxEditButtonClick(TObject *Sender,
TSpinButtonType Button);
void __fastcall NMaxEditExit(TObject *Sender);
void __fastcall XMinEditChange(TObject *Sender);
void __fastcall XMaxEditChange(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FunctionListChange(TObject *Sender);
void __fastcall EvaluateExactButtonClick(TObject *Sender);
void __fastcall EpsEditChange(TObject *Sender);
void __fastcall IntegrateFunctionButtonClick(TObject *Sender);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall FormKeyUp(TObject *Sender, WORD &Key,
TShiftState Shift);
private:
float m_A, m_B, m_C, m_D;
float m_XMin, m_XMax;
float m_JExact;
long m_NMax;
float m_Eps;
float m_DerEps;
int m_K;
int m_Mdiv;
FunctionValue m_Function;
IntegralValue m_Integral;
void __fastcall PrepareData();
void __fastcall ValidateData();
float __fastcall PowerFunction(float &x);
void __fastcall PowerInitialize();
float __fastcall SinAddCosFunction(float &x);
void __fastcall SinAddCosInitialize();
float __fastcall SinMulCosFunction(float &x);
void __fastcall SinMulCosInitialize();
float __fastcall PowKorFunction(float &x);
void __fastcall PowKorInitialize();
float __fastcall IntegralLeftRect(float h);
float __fastcall IntegralRightRect(float h);
float __fastcall IntegralCenterRect(float h);
float __fastcall IntegralTrapezium(float h);
float __fastcall IntegralParabola(float h);
float __fastcall Derivative(int n, float x);
public:
__fastcall TMainForm(TComponent* Owner);
};
extern PACKAGE TMainForm *MainForm;
#endif