- •1 ПОСТАНОВКА ЗАДАЧИ
- •1.1 Описание входных данных
- •1.2 Описание выходных данных
- •2 МЕТОД РЕШЕНИЯ
- •3.5 Алгоритм метода setState класса cl_base
- •3 ОПИСАНИЕ АЛГОРИТМОВ
- •3.1 Алгоритм метода findObjOnBranch класса cl_base
- •3.2 Алгоритм метода findObjOnTree класса cl_base
- •3.3 Алгоритм метода printBranch класса cl_base
- •3.4 Алгоритм метода printBranchWithState класса cl_base
- •3.6 Алгоритм конструктора класса cl_2
- •3.7 Алгоритм конструктора класса cl_3
- •3.8 Алгоритм конструктора класса cl_4
- •3.9 Алгоритм конструктора класса cl_5
- •3.10 Алгоритм конструктора класса cl_6
- •3.11 Алгоритм метода exec_app класса application
- •3.12 Алгоритм метода build_tree_objects класса application
- •3.13 Алгоритм функции main
- •4 БЛОК-СХЕМЫ АЛГОРИТМОВ
- •5 КОД ПРОГРАММЫ
- •5.1 Файл application.cpp
- •5.2 Файл application.h
- •5.3 Файл cl_2.cpp
- •5.4 Файл cl_2.h
- •5.5 Файл cl_3.cpp
- •5.6 Файл cl_3.h
- •5.7 Файл cl_4.cpp
- •5.8 Файл cl_4.h
- •5.9 Файл cl_5.cpp
- •5.10 Файл cl_5.h
- •5.11 Файл cl_6.cpp
- •5.12 Файл cl_6.h
- •5.13 Файл cl_base.cpp
- •5.14 Файл cl_base.h
- •5.15 Файл main.cpp
- •6 ТЕСТИРОВАНИЕ
- •СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
2 МЕТОД РЕШЕНИЯ
Для решения задачи используется:
while - Оператор цикла с предусловием;
switch - Оператор множественного выбора;
if...else - Условный оператор.
Класс cl_base:
свойства/поля:
oполе состояния объекта:
наименование — state;
тип — int;
модификатор доступа — private;
функционал:
oметод findObjOnBranch — выполняет поиск объекта на ветке дереве иерархии от текущего по имени;
oметод findObjOnTree — выполняет поиск объекта на дереве иерархии по имени;
oметод printBranch — выполняет вывод иерархии объектов (дерева или ветки) и отметок готовности от текущего объекта;
oметод printBranchWithState — выполняет вывод иерархии объектов выполняет вывод иерархии объектов (дерева или ветки) и отметок их готовности от текущего объекта;
oметод setState — устанавливает готовность объекта.
Класс cl_2:
функционал:
o метод cl_2 — параметризированный конструктор, который в качестве параметров принимает указатель на головной объект в дереве
11
иерархии и возможное наименование текущего объекта. Класс cl_3:
функционал:
o метод cl_3 — параметризированный конструктор, который в качестве параметров принимает указатель на головной объект в дереве иерархии и возможное наименование текущего объекта.
Класс cl_4:
функционал:
o метод cl_4 — параметризированный конструктор, который в качестве параметров принимает указатель на головной объект в дереве иерархии и возможное наименование текущего объекта.
Класс cl_5:
функционал:
o метод cl_5 — параметризированный конструктор, который в качестве параметров принимает указатель на головной объект в дереве иерархии и возможное наименование текущего объекта.
Класс cl_6:
функционал:
o метод cl_6 — параметризированный конструктор, который в качестве параметров принимает указатель на головной объект в дереве иерархии и возможное наименование текущего объекта.
Таблица 1 – Иерархия наследования классов |
|
|
||||
|
№ |
Имя класса |
Классы- |
Модификатор |
Описание |
Номер |
|
|
|
наследники |
доступа при |
|
|
|
|
|
|
наследовании |
|
|
|
1 |
cl_base |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cl_2 |
public |
|
2 |
|
|
|
|
|
|
|
|
|
|
cl_3 |
public |
|
3 |
|
|
|
|
|
|
|
12
№ |
Имя класса |
Классы- |
Модификатор |
Описание |
Номер |
|
|
наследники |
доступа при |
|
|
|
|
|
наследовании |
|
|
|
|
cl_4 |
public |
|
4 |
|
|
|
|
|
|
|
|
cl_5 |
public |
|
5 |
|
|
|
|
|
|
|
|
cl_6 |
public |
|
6 |
|
|
|
|
|
|
2 |
cl_2 |
|
|
|
|
|
|
|
|
|
|
3 |
cl_3 |
|
|
|
|
|
|
|
|
|
|
4 |
cl_4 |
|
|
|
|
|
|
|
|
|
|
5 |
cl_5 |
|
|
|
|
|
|
|
|
|
|
6 |
cl_6 |
|
|
|
|
|
|
|
|
|
|
13
