Файл: Курсовая работа по дисциплине Программирование.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 17.03.2024

Просмотров: 65

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


    1. 1   2   3   4   5   6   7   8   9

Модуль


Содержит в себе функцию метода Гаусса.
      1. Вспомогательные типы данных


        float elem_type

        Предназначена для удобства изменения типа данных

        DynamicArray D_Arr

        Предназначена для удобства написания кода программы

        DynamicArray> D_Matr;

        Предназначена для удобства написания кода программы
      2. Константы


Модуль не содержит констант
      1. Функции


Заголовок

Назначение

Параметры

Возвращаемое значение

bool Gauss(D_Matr &mas, elem_type &a_par, elem_type &b_par, elem_type &c_par)

Решает систему линейных уравнений методом гаусса и находит коэффициенты a, b, c.

D_Matr &mas – Двумерный массив, содержит систему СЛУ – вх. elem_type &a – коэффициент а вых.

&b – коэффициент b - вых.

elem_type &b,elem_type &c – коэффициент с – вых.


Возвращает значение true или false










      1. Переменные


Глобальные

В данном модуле отсутствуют глобальные переменные.

Локальные

Имя

Тип данных

Назначение

Нахождение

n

int

Количество строк в двумерном массиве

Gauss

m

int

Количество столбцов в двумерном массиве

Gauss

k

int

Индекс диагонального элемента матрицы

Gauss

str

elem_type*

Одномерный массив предназначенный для копирования строки массива

Gauss

index

int

Индекс максимального элемента в столбце




max

elem_type

Максимальный элемент в столбце




x

elem_type*

Массив в котором содержатся решения уравнений






      1. Обработчик событий


Модуль не содержит обработчиков событий.
    1. Модуль


Cоздаёт форму TForm 2, предназначен для экстраполяции нужного значения.
      1. Переменные


Глобальные

Имя

Тип данных

Назначение

a_l, b_l, a_par, b_par, c_par


extern elem_type

Хранят коэффициенты аппроксимирующей функции для экстраполяции значения

lin

float

Значение аппроксимирующей функции

x

float

Экстраполируемое значение

par

float

Значение аппроксимирующей функции

Локальные

Не содержит локальных данных
      1. Компоненты VCL TForm2


Имя

Класс

Назначение

Label_X

TLabel

Вывод “X”

Label_Lin

TLabel

Вывод “Лин.”

Label_Par

TLabel

Вывод “Пар.”

CSpinEdit_X

TCSpinEdit

Ввод экстраполируемого значения

Edit_Lin

TEdit

Вывод результирующего значения

Edit_Par

TEdit

Вывод результирующего значения


      1. Обработчики событий


Имя

Условие вызова

Назначение

CSpinEdit_XKeyPress

При нажатии на клавишу

Контроль ввода и экстраполяция значения при вводе в поле

CSpinEdit_XChange

При нажатии на стрелки

Изменения значения и экстраполяция значения при

Edit_LinKeyPress

При нажатии на клавишу

Ограничивает ввод, даёт возможность только скопировать

Edit_ParKeyPress

При нажатии на клавишу

Ограничивает ввод, даёт возможность только скопировать



  1. 1   2   3   4   5   6   7   8   9

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

7.1 Блок схема алгоритма метода void __fastcall Button_OpenClick(TObject *Sender);



7.2 Блок схема алгоритма void __fastcall Button_ObrClick(TObject *Sender);



7.3 Блок схема алгоритма void __fastcall Button_PredictClick(TObject *Sender);



7.4 Блок схема алгоритма void __fastcall Button_SaveClick(TObject *Sender);





7.5 Блок схема алгоритма функции bool Gauss(D_Matr &mas, elem_type &a_par, elem_type &b_par, elem_type &c_par)



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

8.1 Заголовочный файл “mFunit.h”


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

#ifndef mFunitH

#define mFunitH

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

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "cspin.h"

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

class TForm1 : public TForm

{

__published: // IDE-managed Components

TChart *Chart1;

TStringGrid *StringGrid;

TStatusBar *SB;

TGroupBox *GroupBox1;

TButton *Button_Open;

TButton *Button_Save;

TGroupBox *GroupBox2;

TButton *Button_Add;

TButton *Button_Insert;

TButton *Button_Delete;

TGroupBox *GroupBox3;

TButton *Button_Obr;

TButton *Button_Predict;

TOpenDialog *OD;

TMainMenu *MainMenu;

TMenuItem *Lf1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *C1;

TMenuItem *N4;

TLineSeries *Series1;

TCheckBox *CheckBox_M;

TCheckBox *CheckBox_L;

TCheckBox *CheckBox_P;

TMenuItem *N5;

TMenuItem *N6;

TMenuItem *N7;

TMenuItem *N8;

TLineSeries *Series2;

TLineSeries *Series3;

TMenuItem *N9;

TMenuItem *N10;

TMenuItem *N11;

TSaveDialog *SD;

TLabel *Label1;

TMenuItem *N12;

TMenuItem *N13;

void __fastcall Button_OpenClick(TObject *Sender);

void __fastcall StringGridDrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,

TGridDrawState State);

void __fastcall StringGridDblClick(TObject *Sender);

void __fastcall StringGridKeyPress(TObject *Sender, System::WideChar &Key);

void __fastcall N3Click(TObject *Sender);

void __fastcall StringGridSetEditText(TObject *Sender, int ACol, int ARow, const UnicodeString Value);

void __fastcall Button_InsertClick(TObject *Sender);

void __fastcall Button_DeleteClick(TObject *Sender);

void __fastcall Button_AddClick(TObject *Sender);

void __fastcall Button_ObrClick(TObject *Sender);

void __fastcall N5Click(TObject *Sender);

void __fastcall N8Click(TObject *Sender);

void __fastcall StringGridSelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect);

void __fastcall N6Click(TObject *Sender);

void __fastcall N7Click(TObject *Sender);

void __fastcall StringGridGetEditText(TObject *Sender, int ACol, int ARow, UnicodeString &Value);

void __fastcall CheckBox_MClick(TObject *Sender);

void __fastcall CheckBox_LClick(TObject *Sender);

void __fastcall CheckBox_PClick(TObject *Sender);

void __fastcall N4Click(TObject *Sender);

void __fastcall Button_SaveClick(TObject *Sender);

void __fastcall C1Click(TObject *Sender);

void __fastcall N9Click(TObject *Sender);

void __fastcall SDSelectionChange(TObject *Sender);

void __fastcall Button_PredictClick(TObject *Sender);

void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);

void __fastcall N13Click(TObject *Sender);

private: // User declarations

typedef float elem_type;

typedef DynamicArray D_Arr;

typedef DynamicArray> D_Matr;

bool isSave,avObr,color,esc,enableObr_button,ch1,ch2,ch3, changes_text;

TStringList *Text = new TStringList;

String FCurCellText;

int q;

public: // User declarations

__fastcall TForm1(TComponent* Owner);

};

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

extern PACKAGE TForm1 *Form1;

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

#endif
1   2   3   4   5   6   7   8   9