Разработка программных модулей. Язык C++
Практика 27
Модульный принцип проектирования
В папке своей группы создайтей папку 27, по номеру практического занятия.
Для каждой программы, состоящей из нескольких файлов,
создавайте отдельную папку проекта, например test27_1,
test27_2 и т.д., где "27" - номер практического
занятия, 1, 2 и т.д. - номер задания.
Каждую программу, состоящую из одного файла, сохранять
в отдельном файле для каждого упражнения,
например test27_1.cpp, test27_2.cpp и т.д., где "27" - номер практического
занятия, 1, 2 и т.д. - номер задания.
Задача 1. По примеру 17.1 Форма QTableView.
Задача 2. По примеру 17.2 QML.
3. Выполните рефакторинг (реинжиниринг) приложения.
4. Начертите диаграмму классов по примеру 15.2 с отображением
отношений агрегирования и композиции.
5. Приведите отношения между глобальными переменными и классом MainWindow
в соответствие с принципом инкапсуляции, добавьте методы сеттеры и геттеры.
Задача 6. Подготовка к квалификационному экзамену по профессиональному модулю.
Дополнительные задания
Декомпозиция приложения на модули.
Подключение библиотеки.
Оформление заголовочного файла.
Файл реализации методов класса библиотеки.
1. По примеру из лекции создайте приложение проекта pixmap01.
Напишите программу на языке C++ с применением библиотеки Qt.
В окне с помощью QGraphicsScene строится график функции.
Область окна с графиком сохраняется в графическом файле
в формате PNG, в котором фон изображения задан прозрачным.
Создайте HTML-файл, в котором разместите созданное изображени,
проверьте, сохранилось ли свойство прозрачности фона графика функции.
2. В проекте mouse03 создайте область увеличенного фрагмента
изображения, которая состоит из матрицы квадратов размерности NxM.
Квадраты матрицы заливаются цветом точек в прямоугольной области
NxM пикселей вокруг пикселя, выбранного мышью на загруженном
из файла изображения.
3. На основе проекта modal02 создайте следующее приложение.
В окне находятся 2 кнопки, при нажатии на первую кнопку
создается окно, в которую загружается 1-е изображение из файла,
а при нажатии на вторую кнопку создается окно с другим изображением.
4. В проект Chess Board добавьте следующую возможность.
При нажатии на кнопку Рокировка выполняется анимация
соответствующиго хода.
Источники
Основные
- Юркин А. Г.
Задачник по программированию. — СПб.: Питер, 2002. — 192 с.
- Поляков К. Ю., Шестаков А. П., Еремин Е. А. Объектноориентированное
программирование // Информатика. — 2011. — N13. — С. 22-45.
- Qt Downloads
qt-win-opensource-4.1.1-mingw.exe
- Qt Downloads
qt-opensource-windows-x86-mingw482-4.8.7.exe
-
arduino.cc: Download the Arduino IDE
Arduino 1.8.5 Windows ZIP file for non admin install
-
forum.amperka.ru: Arduino Mega 2560 + CH340 Установка Драйвера Windows 7 x64.
-
wch.cn: CH341SER.ZIP
Дополнительные
- doc.crossplatform.ru/qt:
Каркас графического представления: QGraphicsScene, QGraphicsItem, QGraphicsView.
- evileg.com:
Qt/C++ - Урок 023. Перетаскивание QGraphicsItem на QGraphicsScene мышью.
- evileg.com:
Qt/C++ - Урок 018. QGraphicsItem - наследование и СЛОТы.
- intuit.ru:
Лекция 11: Знакомство с Qt. Подготовка к работе.
- itnotesblog.ru:
Drag&Drop в Qt: Перемещаем изображения и текст.
- itnotesblog.ru:
OpenCV: Установка и использование под Windows.
- itnotesblog.ru:
Паттерн MVC на примере Cапера.
- itnotesblog.ru:
Паттерн Состояние на C++.
- cppstudio.com:
Первая программа на Qt.