- •Содержание
- •Введение
- •1 Описание поставленной задачи
- •1.1 Краткая характеристика численного метода
- •1.2 Анализ литературы и программ, патентный список
- •1.3 Формирование требований к программе
- •2 Проектирование схем алгоритмов
- •2.1 Разработка алгоритма головной программы
- •2.2 Проектирование алгоритма ввода исходных данных
- •2.3 Проектирование алгоритма вывода результатов
- •2.4 Проектирование алгоритма численного метода
- •3 Кодирование программы в среде программирования
- •3.1 Разработка структуры программы
- •3.2 Разработка интерфейса пользователя
- •3.2.1 Разработка интерфейса главной формы
- •3.3 Программирование ввода-вывода данных
- •4 Тестирование работоспособности программы
- •4.1 Описание аппаратной конфигурации для тестирования
- •4.2 Тестирование разработанной программы
- •4.3 Решение задачи в математической системе Mathcad
- •4.4 Решение задачи в математической системе matlab
- •4.5 Анализ результатов тестирования
- •5 Разработка гипертекстового варианта документа работы
- •Заключение
- •Список использованных источников
- •Приложение а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Продолжение приложения а
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
Список использованных источников
1 Крылов В.И. Вычислительные методы высшей математики. Т. 1./ Под ред. И.П. Мысовских. - Мн.: Выш. шк., 1972.
2 Изучение численных методов интегрирования дифференциальных уравнений. Методические указания к лабораторной работе №19 по дисциплине “ Информатика ”. Для студентов очной формы обучения специальностей 53-1 01 05“Автоматизированные электроприводы”. В.Н. Абабурко, А.П. Корнеев, О.В. Концевенко, 2009. Белорусско-Российский университет.
3 Херхагер М., Партолль
X. MathCAD 2000; полное руководство: Пер. с нем.
- К.: Издательская группа
22
Приложение а
(Обязательное)
Тексты спроектированной программы
Nistrem_3.cpp:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
USEFORM("FormMain\FormMainUnit.cpp", FormMain);
USEFORM("FormHelp\FormHelpUnit.cpp", FormHelp);
USEFORM("FormData\FormDataUnit.cpp", FormData);
USEFORM("FormResult\FormResultUnit.cpp", FormResult);
USEFORM("FormGraph\FormGraphUnit.cpp", FormGraph);
USEFORM("FormHelp2Unit.cpp", FormHelp2);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TFormMain), &FormMain);
Application->CreateForm(__classid(TFormHelp), &FormHelp);
Application->CreateForm(__classid(TFormData), &FormData);
Application->CreateForm(__classid(TFormResult), &FormResult);
Application->CreateForm(__classid(TFormGraph), &FormGraph);
Application->CreateForm(__classid(TFormHelp2), &FormHelp2);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
//---------------------------------------------------------------------------
FormMainUnit:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "FormMainUnit.h"
#include "Vars.h"
#include "FormHelpUnit.h"
#include "function.h"
#include "FormDataUnit.h"
#include "FormResultUnit.h"
#include "FormGraphUnit.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormMain *FormMain;
//---------------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
Продолжение приложения а
: TForm(Owner){}
//---------------------------------------------------------------------------
void __fastcall TFormMain::DisplayHint(TObject *Sender){
FormMain->StatusBar->SimpleText = GetLongHint(Application->Hint);
void __fastcall TFormMain::FormCreate(TObject *Sender){
Application->OnHint = DisplayHint;
Task_DrawGraph->Enabled = false;
Task_ShowResult->Enabled = false;
for (int i=0; i<100; i++)
X[i]=Y[i]=0;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::File_ExitClick(TObject *Sender){
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Help_HelpClick(TObject *Sender){
FormHelp->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::N2Click(TObject *Sender){
FormData->ShowModal();
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::FormShow(TObject *Sender){
File_SaveDataToFile->Enabled = (Num!=0);
Task_Decide->Enabled = (Num!=0);
ProgressBar->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::File_SaveDataToFileClick(TObject *Sender){
FormData->ButtonSaveClick(Sender);
FormShow(Sender);
//---------------------------------------------------------------------------
void __fastcall TFormMain::File_LoadDataFromFileClick(TObject *Sender){
FormData->ButtonLoadClick(Sender);
FormData->ButtonApplyClick(Sender);
FormShow(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Task_DecideClick(TObject *Sender){
int i;
ProgressBar->Visible = true;
ProgressBar->Max = Num-4;
ProgressBar->Position = 0;
//----????
X[1] = X[0] + H;
Y[1] = Y[0] + H*f(X[0],Y[0]);
X[2] = X[1] + H;
Y[2] = Y[1] + H*f(X[1],Y[1]);
for (i=0; i<Num-3; i++){
X[i+3] = X[i+2] + H; Y[i+3] = Y[i+1] + H*(7*f(X[i+2],Y[i+2])-2*f(X[i+1],Y[i+1])+f(X[i],Y[i]))/3;
ProgressBar->Position = i;
}