Автор: Пользователь скрыл имя, 26 Марта 2011 в 18:13, курсовая работа
Написать  программу, выполняющую следующие действия:
• Нахождение корней алгебраического уравнения методом Лобачевского - Греффе: для случая действительных корней;
• если таких корней нет, выдать на дисплей соответствующее сообщение.
1. Введение………………………………………………………………………….3
   2. Назначение и область применения……………………………………………..4
   3. Технические характеристики…………………………………………………...4
   4. Разработка программы…………………………………………………………..5
   5. Текст программы………………………………………………………………...9
   6. Описание программы…………………………………………………………..13
   7. Тестирование программы……………………………………………………...14
   8. Список литературы……………………………………………………………..16
void __fastcall TSDIAppForm::MaskEdit1Change(
{
try{
if (MaskEdit1->Text != "") N = StrToInt(MaskEdit1->Text);
else N = 0;
//*A = N;
//*X = N;
N++;
if (N < 16){
StringGrid1->ColCount=N;
for (int i = 0; i < N; i++) {
      StringGrid1->Cells[i][0]
}
}
}
catch (...){
ShowMessage("Не верный ввод");
N = 0;
MaskEdit1->SetFocus();
}
}
//----------------------------
 
Function.h 
//----------------------------
#include <vcl.h>
#pragma hdrstop 
#include "SDIMain.h"
#include "About.h"
#include <math.h>
#include <math.hpp>
//#include <conio.h>
#define M 15
//double *A = new double;
//double *X = new double;
double A[M], X[M];
#include "Function.h"
int N = 0; //количество аргументов
double epsilon = 0; //приближение
int round = -15;
//----------------------------
#pragma resource "*.dfm"
TSDIAppForm *SDIAppForm;
//----------------------------
__fastcall TSDIAppForm::TSDIAppForm(
: TForm(AOwner)
{
}
//----------------------------
void __fastcall TSDIAppForm::FileNew1Execute(
{
// Do nothing
}
//----------------------------
void __fastcall TSDIAppForm::FileOpen1Execute(
{
OpenDialog->Execute();
}
//----------------------------
void __fastcall TSDIAppForm::FileSave1Execute(
{
SaveDialog->Execute();
}
//----------------------------
 
void __fastcall TSDIAppForm::FileExit1Execute(
{
Close();
}
//----------------------------
void __fastcall TSDIAppForm::
{
AboutBox->ShowModal();
}
//----------------------------
void __fastcall TSDIAppForm::Button1Click(
{
if (N !=0) { 
 int iter=1; 
      while 
(Lobochevsky_Root(N,iter,
iter++;
}
if (Сheck_Marks(N, epsilon, StringGrid1,Memo1)) Print_Result(N, round,Memo1);
  else { Memo1->Clear(); 
Memo1->Lines->Add("Корней нет"
}
}
//----------------------------
void __fastcall TSDIAppForm::Edit3Change(
{
try{
if (Edit3->Text != "") epsilon = StrToFloat(Edit3->Text);
else epsilon = 0;
}
catch (...){
ShowMessage("Не верный ввод");
epsilon = 0;
Edit3->SetFocus();
}
}
//----------------------------
void __fastcall TSDIAppForm::CheckBox1Click(
{
if (Edit4->Visible){
Edit4->Visible = false;
round = -15;
}
      else 
Edit4->Visible = true; 
}
//----------------------------
void __fastcall TSDIAppForm::Edit4Change(
{
try{
if (Edit4->Text != ""){
round = StrToFloat(Edit4->Text);
round = -round;
Print_Result(N, round,Memo1);
}
else round = 15;
}
catch (...){
ShowMessage("Не верный ввод");
round = 15;
Edit4->SetFocus();
}
}
//----------------------------
void __fastcall TSDIAppForm::CheckBox2Click(
{
if (Edit3->Visible) {
Edit3->Visible = false;
epsilon = 0;
}
else Edit3->Visible = true;
}
//----------------------------
void __fastcall TSDIAppForm::MaskEdit1Change(
{
try{
if (MaskEdit1->Text != "") N = StrToInt(MaskEdit1->Text);
else N = 0;
//*A = N;
//*X = N;
N++;
if (N < 16){
StringGrid1->ColCount=N;
for (int i = 0; i < N; i++) {
      StringGrid1->Cells[i][0]
}
}
}
catch (...){
ShowMessage("Не верный ввод");
N = 0;
MaskEdit1->SetFocus();
}
}
//----------------------------
 
 
 
6.Описание 
программы. 
Общие сведения:
1. Написана программа, выполняющая следующие действия:
• Находит корни алгебраического уравнения методом Лобачевского-Греффе: для случая действительных корней
• если 
таких корней нет, выдаётся на дисплей 
соответствующее сообщение. 
Функциональное назначение:
Приложение разработано 
для учебных целей. 
Описание логической структуры:
На вход процедуры 
расчета корней уравнения по методу 
Лобачевского подаются данные из формы 
ввода в виде таблицы. Процедура производит 
квадрирование с количеством итераций 
пока не происходит переполнения стека 
слишком большим числом. Затем происходит  
растет корней с количеством итераций 
меньших на шаг. Далее идет проверка знаков 
методом подстановки получившихся корней 
уравнения в исходное и сравнение результата 
с приближением (по умолчанию это ноль). 
При  не возможности достигнуть заданного 
приближения выдается сообщение о не возможности 
найти корни уравнения. 
 
Используемые технические средства:
Программа разработана в программной среде C++Builder 2009 ;
Запуск программы 
возможен в среде ОС семейства 
Windows.  
 
Вызов и загрузка:
Программа запускается 
выполнением файла 
 
Входные данные:
Ввод данных при 
помощи мыши и клавиатуры; 
 
Выходные данные:
Вывод результатов расчета на дисплей.
 
7.Тестирование 
программы. 
1. Пример расчета 
уравнения в среде  
  MathCad 14. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2. Пример расчета уравнения в среде в данном проекте.
 
 
 
 
 
8.Список 
литературы. 
Информация о работе Расчет корней уравнения по методу Лобачевского