Расчет корней уравнения по методу Лобачевского

Автор: Пользователь скрыл имя, 26 Марта 2011 в 18:13, курсовая работа

Краткое описание

Написать программу, выполняющую следующие действия:
• Нахождение корней алгебраического уравнения методом Лобачевского - Греффе: для случая действительных корней;
• если таких корней нет, выдать на дисплей соответствующее сообщение.

Оглавление

1. Введение………………………………………………………………………….3
2. Назначение и область применения……………………………………………..4
3. Технические характеристики…………………………………………………...4
4. Разработка программы…………………………………………………………..5
5. Текст программы………………………………………………………………...9
6. Описание программы…………………………………………………………..13
7. Тестирование программы……………………………………………………...14
8. Список литературы……………………………………………………………..16

Файлы: 1 файл

Квадрирование.doc

— 2.85 Мб (Скачать)

Оглавление 

  1. Введение………………………………………………………………………….3
  2. Назначение и область применения……………………………………………..4
  3. Технические характеристики…………………………………………………...4
  4. Разработка программы…………………………………………………………..5
  5. Текст программы………………………………………………………………...9
  6. Описание программы…………………………………………………………..13
  7. Тестирование программы……………………………………………………...14
  8. Список литературы……………………………………………………………..16

 

2. Назначение и область применения. 

Приложение разработано  для учебных целей. 

3.Технические характеристики.

      Написать  программу, выполняющую следующие действия:

• Нахождение корней алгебраического уравнения методом Лобачевского - Греффе: для случая действительных корней;

• если таких корней нет, выдать на дисплей соответствующее сообщение. 

Описание  алгоритма. 

 
 

 
 
 

 

 
 
 
 
 
 

 

 

 

Организация входных и выходных данных. 

  1. Ввод при помощи мыши и клавиатуры;
  2. Вывод результатов расчета на дисплей.
 

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

Программа разработана  в програмной среде C++Builder 2009 .

Запуск программы возможен в среде ОС семейства Windows

 

4. Разработка программы. 

  1. Основное окно программы 

 
 

 
 
 

 

 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Номер

Компонент

Название  и назначение

Событие

1 TForm Расчёт  корней алгебраического  уравнения по методу Лобачевского Основное окно программы  
2 TStringGrid Таблица ввода коэффициентов  уравнения

ввод  коэффициентов уравнения

StringGridSetEditText
3 TButton Кнопка  «Расчёт корней алгебраического уравнения по методу Лобачевского»

 Вычисление корней уравнения

Button2Click
4 TEdit Округлить до

Поле  ввода округления результата

    Edit3Change
5 TEdit Наибольшая  степень уравнения

Определение количества полей ввода коэффициентов  в TStringGrid

     Edit2Change
6 TMemo Поле  вывода результатов

Вывод корней уравнения

 
 
 

 

 

Спецификация  программы. 

Обозначение

Наименование

Примечание

sdiapp.bdsproj Файл опций проекта Связывает все  файлы приложения
sdiapp.cbproj Файл проекта Реализация  программы
sdiapp.cbproj.local Файл ресурсов Двоичный файл
sdiapp.cpp Файл проекта Объектный код проекта
SDIAPP.ICO Файл проекта Файл иконки
SDIMAIN.h Файл модуля 1 проекта Заголовочный  файл
SDIMAIN.CPP Файл модуля 1 проекта Реализация  программы
SDIMAIN.dfm Файл формы модуля 1 проекта Графическая часть  модулей
ABOUT.H Файл модуля 2 проекта Заголовочный  файл
ABOUT.DFM Файл формы модуля 2 проекта Объектный код модуля
ABOUT.CPP Файл модуля 2 проекта По умолчанию
sdiapp.exe Исполняемый скомпилированый  файл Файл запуска  приложения
Function.h Файл модуля  проекта Реализация  программы

 

5. Текст программы. 

SDIMAIN.cpp

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

#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(TComponent *AOwner)

      : TForm(AOwner)

{

}

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

void __fastcall TSDIAppForm::FileNew1Execute(TObject *Sender)

{

  // Do nothing       

}

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

void __fastcall TSDIAppForm::FileOpen1Execute(TObject *Sender)

{

  OpenDialog->Execute();       

}

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

void __fastcall TSDIAppForm::FileSave1Execute(TObject *Sender)

{

  SaveDialog->Execute();       

}

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

void __fastcall TSDIAppForm::FileExit1Execute(TObject *Sender)

{

  Close();       

}

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

void __fastcall TSDIAppForm::HelpAbout1Execute(TObject *Sender)

{

  AboutBox->ShowModal();       

}

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

void __fastcall TSDIAppForm::Button1Click(TObject *Sender)

{

if (N !=0) { 

int iter=1; 

      while (Lobochevsky_Root(N,iter,Memo1,StringGrid1)){

      iter++;

      }

  if (Сheck_Marks(N, epsilon, StringGrid1,Memo1)) Print_Result(N, round,Memo1);

  else { Memo1->Clear(); Memo1->Lines->Add("Корней нет");}

}

}

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

void __fastcall TSDIAppForm::Edit3Change(TObject *Sender)

{

try{

      if (Edit3->Text != "") epsilon = StrToFloat(Edit3->Text);

        else epsilon = 0;

}

catch (...){

ShowMessage("Не  верный ввод");

epsilon = 0;

Edit3->SetFocus();

}

}

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

void __fastcall TSDIAppForm::CheckBox1Click(TObject *Sender)

{

if (Edit4->Visible){

       Edit4->Visible = false;

       round = -15;

      }

      else Edit4->Visible = true; 

}

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

void __fastcall TSDIAppForm::Edit4Change(TObject *Sender)

{

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(TObject *Sender)

{

if (Edit3->Visible) {

      Edit3->Visible = false;

      epsilon = 0;

      }

      else Edit3->Visible = true;

}

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

Информация о работе Расчет корней уравнения по методу Лобачевского