Автор: Пользователь скрыл имя, 26 Марта 2011 в 18:13, курсовая работа
Написать программу, выполняющую следующие действия:
• Нахождение корней алгебраического уравнения методом Лобачевского - Греффе: для случая действительных корней;
• если таких корней нет, выдать на дисплей соответствующее сообщение.
1. Введение………………………………………………………………………….3
2. Назначение и область применения……………………………………………..4
3. Технические характеристики…………………………………………………...4
4. Разработка программы…………………………………………………………..5
5. Текст программы………………………………………………………………...9
6. Описание программы…………………………………………………………..13
7. Тестирование программы……………………………………………………...14
8. Список литературы……………………………………………………………..16
Оглавление
2.
Назначение и область
применения.
Приложение разработано
для учебных целей.
3.Технические характеристики.
Написать программу, выполняющую следующие действия:
• Нахождение корней алгебраического уравнения методом Лобачевского - Греффе: для случая действительных корней;
• если
таких корней нет, выдать на дисплей
соответствующее сообщение.
Описание
алгоритма.
Организация
входных и выходных
данных.
Выбор
состава технических
и программных средств.
Программа разработана в програмной среде C++Builder 2009 .
Запуск программы возможен в среде ОС семейства Windows
4.
Разработка программы.
Номер |
Компонент |
Название и назначение |
Событие |
1 | TForm | Расчёт корней алгебраического уравнения по методу Лобачевского Основное окно программы | |
2 | TStringGrid | Таблица
ввода коэффициентов
уравнения
ввод коэффициентов уравнения |
StringGridSetEditText |
3 | TButton | Кнопка
«Расчёт корней алгебраического
уравнения по методу
Лобачевского»
Вычисление корней уравнения |
Button2Click |
4 | TEdit | Округлить
до
Поле ввода округления результата |
|
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(
: 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;
}
//----------------------------
Информация о работе Расчет корней уравнения по методу Лобачевского