|
Пояснительная к курсовой работе. Пояснительная_записка_2бАСУ2. Курсовая работа по дисциплине Программирование
Выбор среды разработки «C++ Builder» от RAD Studio был обусловлен стабильной работой приложения и множеством функций, хорошо подходящих под мою цель разработки ПО для данной курсовой работы, а также обширный набор компонентов, который делает работу с программой очень удобной.
Форматы данных Входные данные Обоснование выбора двоичного файла Двоичный файл обладает рядом преимуществ:
Более эффективное использование ресурсов компьютера, по сравнению с текстовым файлом, так как информация напрямую передается из оперативной памяти в двоичный файл Закрытый от конечного пользователя формат Уменьшено количество проверок при чтении из бинарного файла Структурированный набор байтов двоичного файла удобен в использовании программистом
Структура двоичного файла n – количество значений – 4 байта значения исходных данных * n – 4 байта * n
Выходные данные имеют ту же структуру, что и входные.
Cтруктура программы
Модуль Создаёт форму TForm1, предназначен для работы с исходными данными и аппроксимирования данных.
Вспомогательные типы данных float elem_type
| Предназначена для удобства изменения типа данных
| DynamicArray D_Arr
| Предназначена для удобства написания кода программы
| DynamicArray> D_Matr;
| Предназначена для удобства написания кода программы
| Константы Модуль не содержит констант
Компоненты VCL TForm1 Имена
| Класс
| Назначения
| MainMenu
| TManMenu
| Меню вверху окна
| | TMenuitem
| Меню Данные
| | TMenuitem
| Открыть файл
| | TMenuitem
| Сохранить данные
| | TMenuitem
| Сохранить как
| | TMenuitem
| Выход
| | TMenuitem
| Меню Строки и столбцы
| | TMenuitem
| Очистить таблицу
| | TMenuitem
| Очистить столбец
| | TMenuitem
| Очистить строку
| | TMenuitem
| Режим редактирования
| | TMenuitem
| Меню Обработка данных
| | TMenuitem
| Аппроксимация данных
| | TMenuitem
| Экстраполяция данных
| GroupBox1
| TGroupBox
| Группировка компонентов
| GroupBox2
| TGroupBox
| Группировка компонентов
| GroupBox3
| TGroupBox
| Группировка компонентов
| Button_Save
| TButton
| Сохранить данные
| Button_Open
| TButton
| Загрузить данные
| Button_Insert
| TButton
| Вставить столбец
| Button_Add
| TButton
| Добавить столбец
| Button_Delete
| TButton
| Удалить столбец
| CheckBox_M
| TCheckBox
| Отображение первого графика
| CheckBox_L
| TCheckBox
| Отображение второго графика
| CheckBox_P
| TCheckBox
| Отображение третьего графика
| Chart1
| TChart
| Панель с графиками
| StringGrid
| TStringGrid
| Таблица данных
| OD
| TOpenDialog
| Диалог загрузки
| SD
| TSaveDialog
| Диалог сохранения
|
Функции Заголовок
| Назначение
| Параметры
| Возвращаемое значение
| void MNK(D_Arr &ArrX, D_Arr &ArrY, elem_type &a, elem_type &b)
| Метод наименьших квадратов
| D_Arr &ArrX – динамический массив X, D_Arr-вх &ArrY – динамический массив Y-вх.
elem_type &a – коэффициент а вых. elem_type &b – коэффициент b- вых.
| Не возвращает значения
| void Filling_ArrLin(TStringGrid* StringGrid, D_Arr ArrX,D_Arr &ArrLin, elem_type &a, elem_type &b)
| Заполнение массива значениями аппр. функции
| TStringGrid* StringGrid – таблица данных – вых.
D_Arr ArrX – значения X – вх
D_Arr &ArrLin – массив аппр. ф. – вх.
elem_type &a – коэффициент а вх.
&b – коэффициент b - вх.
| Не возвращает значения
| void Filling_ArrPar(TStringGrid* StringGrid, D_Arr ArrX,D_Arr &ArrPar, elem_type &a, elem_type &b,elem_type &c)
| Заполнение массива значениями аппр. функции
| D_Arr ArrX – значения X – вх
D_Arr &ArrPar – массив аппр. ф. – вх.
elem_type &a – коэффициент а вх.
&b – коэффициент b - вх.
elem_type &b,elem_type &c – коэффициент с – вх.
| Не возвращает значения
| D_Matr Par(D_Arr &ArrX, D_Arr & ArrY, D_Matr &Matr, elem_type &a_par, elem_type &b_par, elem_type &c_par)
| Метод наименьших квадратов для квадратичной функции
| D_Arr &ArrX – массив X – вх,
D_Arr & ArrY-
массив Y– вх,
D_Matr &Matr – СЛУ – вых.
elem_type &a_par -коэффициент а –вх.
&b_par -коэффициент b –вх.
&c_par -коэффициент c –вх.
| Возвращает указатель на двумерный массив в котором содержится СЛУ
| bool ChechGrid(TStringGrid *StringGrid,TMainMenu* MainMenu, TButton *Button_Obr,TButton *Save, TMenuItem* Save_as,TMenuItem* C1, TButton *Prognoz, TStatusBar *SB, bool avObr)
| Проверяет исходные данные на корректность
| TStringGrid* StringGrid – таблица данных – вх.,
*StringGrid,TMainMenu* MainMenu – меню- вх\вых., TButton *Button_Obr,TButton – кнопка “апрроксимация”,
TMenuItem* Save_as,TMenuItem* - кнопка “Сохранить как” – вх\вых.
TButton *Prognoz, -
Кнопка “Экстраполяция” – вх\вых, TStatusBar *SB – статус бар- вых.
| Возвращает значение true или false
| bool Save_to_file(TStringGrid* StringGrid, String name)
|
| TStringGrid* StringGrid – таблица данных – вх.,
String name – имя файла – вх.
| Возвращает значение true или false
|
Переменные Глобальные
Имя
| Тип данных
| Назначение
| MatrG
| D_Matr
| Двуммерный массив для СЛУ
| ArrX
| D_Arr
| Массив для значений X
| ArrY
| D_Arr
| Массив для значений Y
| ArrLin
| D_Arr
| Массив для значений аппр. ф.
| ArrPar
| D_Arr
| Массив для значений аппр. ф.
| a_l
| elem_type
| Коэффициент а
| b_l
| elem_type
| Коэффициент b
| a_par
| elem_type
| Коэффициент a для кв.ф.
| b_par
| elem_type
| Коэффициент b для кв.ф.
| c_par
| elem_type
| Коэффициент c для кв.ф.
| FCurCellText
| String
| Значение ячейки при входе в режим редактирования
| Локальные
Имя
| Тип данных
| Назначение
| Функция/метод
| xy, am_x, am_y, pow_am_x, pow_x
| elem_type
| Значения необходимые для нахождения коэффициентов аппр.ф.
| MNK
| x_p4, x_p3, x_p2, x, x_p2y, xy, y
| elem_type
| Значения необходимые для нахождения коэффициентов кв. аппр.ф.
|
| a, b
| int
| Индексы некорректных элементов таблицы
| ChechGrid
| count
| int
| Счётчик некорректных значений в таблице
| ChechGrid
| f
| elem_type
| Переменная для проверки конвертируемости
| Save_to_file
|
Обработчики событий Имя
| Условие вызова
| Назначение
| Button_OpenClick
| Нажатие на кнопку “Загрузить…”
| Загрузка данных из файла
| StringGridDrawCell
| Перерисовка таблицы
| Раскрашивание некорректных и пустых ячеек в таблице
| StringGridDblClick
| Двойной щелчок по ячейке таблицы
| Вход в режим редактирования
| StringGridKeyPress
| Нажатие на клавишу
| Контроль ввода
| N3Click
| Нажатие на кнопку “Загрузить…” в меню
| Загрузка данных из файла
| StringGridSetEditText
| Изменение значения в ячейках таблицы
| Выход из режима редактирования, если строка не хранит исходные данные
| Button_InsertClick
| Нажатие на кнопку “Вставить”
| Вставка пустого столбца
| Button_DeleteClick
| Нажатие на кнопку “Удалить”
| Удаление столбца
| Button_AddClick
| Нажатие на кнопку “Добавить”
| Добавляет пустой столбец в конец таблицы
| Button_ObrClick
| Нажатие на кнопку “Аппроксимация”
| Аппроксимация исходных данных, вывод результирующих данных в таблицу и визуализация аппроксимирующих функций
| N5Click
| Нажатие на кнопку “Очистить таблицу” в меню
| Заполняет таблицу пустыми значениями
| N8Click
| Нажатие на кнопку “Режим редактирования” в меню
| Вход в режим редактирования
| StringGridSelectCell
| Смена фокуса в таблице
| Вызывает функцию CheckGrid и проверяет таблицу на корректность
| N6Click
| Нажатие на кнопку “Очистить столбец” в меню
| Заполняет столбец пустыми значениями
| N7Click
| Нажатие на кнопку “Очистить строку” в меню
| Заполняет строку пустыми значениями
| StringGridGetEditText
| Редактирование ячеек
| Проверка корректности введённого значения
| CheckBox_MClick
| Нажатие на кнопку “Изм.”
| Отвечает за отображение первого графика
| CheckBox_LClick
| Нажатие на кнопку “Лин.”
| Отвечает за отображение второго графика
| CheckBox_PClick
| Нажатие на кнопку “Пар.”
| Отвечает за отображение третьего графика
| N4Click
| Нажатие на кнопку “Сохранить как…” в меню
| Открытие диалога сохранения данных
| Button_SaveClick
| Нажатие на кнопку “Сохранить”
| Сохранения в файл или открытие диалога сохранения данных
| C1Click
| Нажатие на кнопку “Сохранить” в меню
| Открытие диалога сохранения данных
| Button_PredictClick
| Нажатие на кнопку “Экстраполяция”
| Вызывает окно с экстраполяцией данных
| FormCloseQuery
| Закрытие формы
| Предлагает сохранить исходные данные
| N13Click
| Нажатие на кнопку “Выход” в меню
| Закрытие формы
|
|
|
|