
- •«Московский технический университет связи и информатики»
- •По дисциплине «Технология программирования»
- •1 Постановка задачи
- •2 Логическая структура
- •2.1 Класс Base_Car
- •2.3 Класс Shlackbaum_mozg
- •3 Схемы алгоритмов
- •3.1 Алгоритмы методов класса Base-Car
- •4 Текст программы
- •5 Результаты тестирования программы
- •6 Вывод
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Курсовая работа
на тему
«Парковка с шлагбаумом»
По дисциплине «Технология программирования»
Выполнил: студент гр.
Принял: доцент каф. Информатика Волков А.И.
ст.препод. каф. Информатика Загвоздкина А.В.
Москва,
СОДЕРЖАНИЕ
Y
1 Постановка задачи 3
2 Логическая структура 5
2.1 Класс Base_Car 5
3 Схемы алгоритмов 8
3.1 Алгоритмы методов класса Base-Car 8
4 Текст программы 17
} 21
5 Результаты тестирования программы 33
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 37
1 Постановка задачи
Задание 1. Разработать приложение для моделирования объектов в заданной предметной области. В этом приложении:
1. Создать класс, содержащий данные о некотором объекте (базовом) из заданной предметной области. Эти данные должны быть спрятаны от непосредственного доступа (инкапсулированы). Членами класса должны быть не менее 4-х свойств, 2-х методов, 1-го конструктора и 2-х событий. Дополнительно создать классы, описывающие вспомогательные объекты, необходимые для моделирования.
2. В главной программе создать экземпляры созданных классов и продемонстрировать возможности изменения свойств объектов, использования их методов и обработки реализованных событий (разработав соответствующие методы обработки событий, объявленных в классах). При реализации событий необходимо обратить особое внимание на организацию событийного взаимодействия объектов.
Задание 2. Доработать предыдущее приложение, в котором:
1. Создать еще один класс путем наследования имеющегося класса. В новом классе переопределить хотя бы один из методов базового класса.
2. В главной программе создать экземпляры базового и дочернего классов (а также вспомогательных классов) и продемонстрировать их возможности по изменению свойств, использованию методов и обработки событий. Организовать взаимодействие созданных объектов между собой или с другими вспомогательными объектами с использованием пользовательских событий.
Индивидуальное задание.
Необходимо разработать приложение на языке C++/CLI с использованием принципов объектно-ориентированного программирования (ООП), которое визуализирует модель Солнечной системы. Приложение должно содержать следующие классы:
1. Класс Base_Car (машины) - основной:
- Этот класс будет представлять машины (разные типы).
- Он должен иметь свойства и методы для хранения и управления характеристиками, количеством денег у водителя.
2. Класс Shlackbaum (шлагбаум) – основной:
- Этот класс и его подклассы будет представлять разные шлакбаумы
- Он должен иметь свойства и методы для анализа характеристик машин а также методы и свойства для разных открытий переезда
Приложение должно показывать возможность проверки разных автомобилей на условия проезда. Парковки их и самостоятельного отьезда через противоположный выезд.
Приложение должно быть разработано с использованием объектно-ориентированного подхода, обеспечивая инкапсуляцию, наследование и полиморфизм классов. Код должен быть структурирован и легко расширяемым для добавления новых функциональных возможностей в будущем.
Таблица 1 – Элементы формы
Кнопка прохождения (button2) |
BackColor = System::Drawing::Color::CadetBlue; Location = System::Drawing::Point(31, 376); Margin = System::Windows::Forms::Padding(2); Name = L"button2"; Size = System::Drawing::Size(105, 43); TabIndex = 1; Text = L"Запустить"; UseVisualStyleBackColor = false; Click += gcnew System::EventHandler(this, &Main::button2_Click); |
Комбо ящик для выбора типа техники |
FormattingEnabled = true; Items->AddRange(gcnew cli::array< System::Object^ >(2) { L"Машина", L"Служебный грузовик" }); Location = System::Drawing::Point(60, 110); Name = L"comboBox1"; Size = System::Drawing::Size(105, 21); TabIndex = 17; SelectedIndexChanged += gcnew System::EventHandler(this, &Main::comboBox1_SelectedIndexChanged); |
Ползунки регулировки характеристик машины (moneybar,weightbar,heighbr) |
Location = System::Drawing::Point(28, 248); Size = System::Drawing::Size(86, 21); TabIndex = 13; |
Таймеры( их 13 с различными интервалами) |
- |
Изображения (pictureBox1,… -picturebox21) |
Location = System::Drawing::Point(360, 136); Margin=System::Windows::Forms::Padding(2); Name = L"pictureBox13"; Size = System::Drawing::Size(105, 70); TabIndex = 33; TabStop = false; Visible = false; |