Модельная система регулирования домашнего отопления

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 33 33 страницы
  • 9 + 9 источников
  • Добавлена 23.10.2023
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
Введение 2
1 Анализ технических требований 4
1.1 Анализ задания и выбор технологии, языка и среды разработки 4
1.2 Анализ технологий разработки модельной системы регулирования домашнего отопления 9
2 Проектирование структуры и компонентов программного продукта…………………………………………………………………………..12
2.1 Проектирование алгоритма работы приложения 12
2.2 Разработка программной структуры приложения 13
2.3 Реализация приложения 13
3 Тестирование приложения 16
Заключение 18
Список использованных источников 19
Приложение А 20
Фрагмент для ознакомления

step(outside_temperature, heating_setpoint, 50, hysteresis);vec_cur_temperatures[stepidx] = b.get_current_temperature();vec_heater_state[stepidx] = b.get_heater_state();vec_cooler_state[stepidx] = b.get_cooler_state();}int h = this->pictureBox1->Height;int w = this->pictureBox1->Width;int x0 = 50;int y0 = h - 200;float koeff_y = 10;float koeff_x = 10;Graphics^ graphics = this->pictureBox1->CreateGraphics();graphics->Clear(Color::White);StringFormat^ drawFormat = gcnewStringFormat();drawFormat->Alignment = StringAlignment::Near;System::Drawing::Font^ drawFont = gcnew System::Drawing::Font("Arial", 12);SolidBrush^ drawBrush = gcnewSolidBrush(Color::Black);graphics->DrawLine(Pens::Black, x0 - 10, y0, w - 50, y0);graphics->DrawString("время, ч", drawFont, drawBrush, w - 100, y0, drawFormat);graphics->DrawLine(Pens::Black, x0, y0 + 10, x0, 50);graphics->DrawString("температура, С", drawFont, drawBrush, x0, 50, drawFormat);graphics->DrawLine(Pens::Black, x0 - 10, y0 + 50, w - 50, y0 + 50);graphics->DrawString("включениянагревателя", drawFont, drawBrush, x0 + 5, y0 + 50 + 5, drawFormat);//graphics->DrawLine(Pens::Black, x0 - 10, y0 + 100, w - 50, y0 + 100);//рисуемлиниюцелевойтемпературыint target_offset = (int)(heating_setpoint * koeff_y);graphics->DrawLine(Pens::Green, x0, y0 - target_offset, w-50, y0 - target_offset);graphics->DrawString("целеваятемпература", drawFont, drawBrush, x0 + 5, y0 - target_offset + 5, drawFormat);target_offset = (int)((heating_setpoint + hysteresis) * koeff_y);Pen^ pen1 = gcnew Pen(Color::Green, 1);pen1->DashPattern = gcnew array(2) {5,5};graphics->DrawLine(pen1, x0, y0 - target_offset, w - 50, y0 - target_offset);//рисуемлиниюнаружнойтемпературыtarget_offset = (int)(outside_temperature * koeff_y);graphics->DrawLine(Pens::Blue, x0, y0 - target_offset, w - 50, y0 - target_offset);graphics->DrawString("наружнаятемпература", drawFont, drawBrush, x0 + 5, y0 - target_offset + 5, drawFormat);int i = 0;int px = (int)(x0 + i * koeff_x);int py = (int)(y0 - vec_cur_temperatures[i] * koeff_y);for (int i = 0; i < vec_cur_temperatures.size(); i++) {int x = (int)(x0 + i * koeff_x);int y = (int)(y0 - vec_cur_temperatures[i] * koeff_y);graphics->DrawLine(Pens::Black , px, py, x, y);px = x;py = y;if (vec_heater_state[i]) {graphics->FillRectangle(Brushes::Red, x, y0 + 45, (int)(1 * koeff_x), 5);}/*if (vec_cooler_state[i]) {graphics->FillRectangle(Brushes::Blue, x, y0 + 95, (int)(1 * koeff_x), 5);}*/}}catch (System::Exception^ ex) {MessageBox::Show("Ошибка! Проверьте правильность ввода данных.");}}};}

1 Farris D.R., Melsa J.L., Energy savings for a solar heated and cooled building through adaptive optimal control. In: Proceedings of IEEE Conference on Decision and Control; 1978 10-12 Jan.
2 Fux S.F., Ashouri A., Benz M.J., Guzzella L., EKF based self-adaptive thermal model for a passive house. Energy and Buildings 2014; 68:811–17
3 Мейерс, Скотт Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14 / Скотт Мейерс. - М.: Вильямс, 2015. - 304 c.
4 Павловская, Т. А. C/C++. Программирование на языке высокого уровня / Т.А. Павловская. - М.: Питер, 2020. - 464 c.
5 Сикорд, Роберт С. Безопасное программирование на C и C++ / Сикорд Роберт С.. - М.: Диалектика / Вильямс, 2023. - 634 c.
6 Ник, Рендольф Visual Studio 2010 для профессионалов / Рендольф Ник. - М.: Диалектика / Вильямс, 2021. - 927 c.
7 Хайнеман, Д. Алгоритмы. Справочник с примерами на С, С++, Java и Python; пер. с англ. – 2-е изд. – Москва ; Санкт-Петербург : Диалектика, 2020. – 432 с.
8 Гайдышев, И. Решение научных и инженерных задач средствами Excel, VBA и C/C++ / И. Гайдышев. - М.: БХВ-Петербург, 2022. - 386 c.
9 Visual Studio documentation URL: https://learn.microsoft.com/en-us/visualstudio/windows/?view=vs-2022