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

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

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

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

Добавлен: 17.03.2024

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

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

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

М ОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ (МАДИ)


Кафедра «Автоматизированные системы управления»


Курсовая работа по дисциплине
«Программирование»

Вариант №29

Тема:

«Разработка программного приложения для аппроксимации данных по заданным формулам и построения графиков для полученных зависимостей»

Выполнил: Орлов Г.И.

Группа: 2БАСУ2

Проверил: доцент каф. АСУ

Баринов К.А.


Москва 2022 г.

Оглавление


1.Задание 5

2.Назначение программы 5

3.Руководство пользователя 5

3.1.Исходные данные 6

Загрузка данных из файла 6

Заполнение таблицы вручную 7

13.2. Статус-бар 8

3.3Ввод данных 8

13.4.Действия над столбцами таблицы 9

3.5.Аппроксимация 10

.2. Результирующие данные 11

3.6. Графики 12

3.7. Сохранение исходных данных 13

3.8. Экстраполяция 15

9. Главное меню 16

4.Выбор среды разработки 18

5.Форматы данных 18

.2.Входные данные 18

1.Обоснование выбора двоичного файла 18

2. Структура двоичного файла 19

.2.Выходные данные 19

6.Cтруктура программы 19

.1. Модуль 19

6.1.1 Вспомогательные типы данных 19

6.1.2Константы 19

Компоненты VCL TForm1 19

6.1.3Функции 20

6.1.4Переменные 22

6.1.5Обработчики событий 23

6.2. Модуль 25

6.2.1.Вспомогательные типы данных 25

6.2.2.Константы 25

6.2.3.Функции 25

6.2.4Переменные 26

6.2.5Обработчик событий 27

6.3. Модуль 27

6.3.1Переменные 27

6.3.2Компоненты VCL TForm2 27

6.3.3 Обработчики событий 28

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

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

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

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

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

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

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

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

8.2 Файл реализации “mFunit.cpp” 37

8.3 Заголовочный файл “Gauss.h” 55

8.4 Файл реализации “Gauss.cpp” 55

8.5 Заголовочный файл “extrapolation.h” 57

8.6 Файл реализации “extrapolation.сpp” 58






  1. Задание


Результаты измерений некоторой величины заданы в виде таблицы. Данных может быть не более 200.


X

1

2

3

4

5

6

7

8

9

10

Y

5.1

6.8

18.7

11.4

12.5

15

18

21

25

28

Задания:

  1. Используя метод наименьших квадратов, определить коэффициенты а и b для линейной зависимости: Y=aX+b.

  2. Аналогичным образом определить коэффициенты а, b и c для параболической зависимости: Y=aX2+bX+c. Для решения системы линейных уравнений воспользоваться методом Гаусса.

  3. Подготовить и вывести таблицу результатов в виде:

    Х

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    Y измер.

    5.1

    6.8

    18.7

    11.4

    12.5

    15

    18

    21

    25

    28

    Y линейн.





















    Y параб.





















  4. Вывести результаты в виде графика (на одном графике 3 кривые).



  1.   1   2   3   4   5   6   7   8   9

Назначение программы


Данная программа предназначена для загрузки, редактирования и аппроксимации исходных данных и визуализации аппроксимирующих функций. Также программа способна экстраполировать значения на основе имеющихся данных.
  1. Руководство пользователя


Чтобы открыть приложение, необходимо запустить исполняемый файл MNK.exe.

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



Рисунок 1. Вид приложения при запуске
    1. Исходные данные


Для работы данных необходимо сначала заполнить таблицу исходными данными, которые программа будет аппроксимировать, сделать это можно двумя способами:
  • Загрузка данных из файла


Для загрузки исходных данных из файла блоке “Данные” необходимо нажать на кнопку “Загрузить…”, появится диалог в котором пользователь может выбрать файл или ввести имя файла, из которого будут загружаться данные, самостоятельно (Рисунок 2).



Рисунок 2. Диалог открытия файла

После этих действий пользователю необходимо нажать кнопку “Открыть” тогда файлы будут загружены в таблицу и готовы к обработке или пользователь может передумать и нажать кнопку “Отмена”, тогда последует выход из диалогового окна.

При попытке открыть файл с некорректными данными программа выдаст сообщение об этом (Рисунок 3):



Рисунок 3. Некорректные данные в файле
  • Заполнение таблицы вручную


Пользователь может самостоятельно ввести исходные данные в таблицу, руководство по вводу данных будет изложено позже.
    1. Статус-бар


В нижней части главного окна расположен статус бар, в который на протяжении работы приложения будет выводиться состояние исходных данных в таблице. Например, при запуске приложения статус-бар уведомит о том, что необходимо ввести исходные данные (Рисунок 4):




Рисунок 4. Сообщение статус-бара
    1. Ввод данных


Чтобы внести данные в таблицу или изменить их, необходимо сделать двойной клик левой клавишей мыши по ячейке таблицы, тогда в ячейке появится курсор и значение ячейки можно редактировать, программа позволит вводить вам только те символы, которые соответствуют формату целых чисел или чисел с плавающей запятой, при попытке ввести символ отличимый от этого формата, в статус бар будет выведена информация о том, что этот символ недопустим (Рисунок 5):



Рисунок 5. Недопустимый символ

Если же пользователь введёт комбинацию символов, по-отдельности которые являются допустимыми, но целиком значение не является целым числом или числом с плавающей запятой, ячейка таблицы будет подсвечена красным цветом (Рисунок 6), а в статус-бар будет выведена информация о том, что в этой ячейке находится некорректное значение (Рисунок 7):



Рисунок 6. Отображение некорректного значения в таблице



Рисунок 7. Отображение ячейки с некорректным значением в статус-баре

Для выполнения аппроксимации исходных данных необходимо, чтобы все значения в таблице являлись корректными, и чтобы в таблице не оставалось пустых ячеек, пустые ячейки подсвечиваются жёлтым цветом (Рисунок 8) и в статус бар так же выводится информация о недопустимости значений в этих ячейках (Рисунок 9):



Рисунок 8. Отображение пустых ячеек в таблице



Рисунок 9. Отображение пустой ячейки в статус-баре