Автор: Пользователь скрыл имя, 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.Список
литературы.
Информация о работе Расчет корней уравнения по методу Лобачевского