Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые / КВ_1.pdf
Скачиваний:
30
Добавлен:
10.06.2024
Размер:
355.44 Кб
Скачать

3 ОПИСАНИЕ АЛГОРИТМОВ

Согласно этапам разработки, после определения необходимого инструментария в разделе «Метод», составляются подробные описания алгоритмов для методов классов и функций.

3.1 Алгоритм конструктора класса cl_base

Функционал: Вызывается при создании объекта, инициализирует значения приватных полей.

Параметры: Node*ptr_parent,string_name. Алгоритм конструктора представлен в таблице 2.

Таблица 2 – Алгоритм конструктора класса cl_base

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предикат

 

 

Действия

 

 

 

 

 

 

 

 

 

 

 

 

перехода

 

1

 

Присвоение

через

указатель

на

объект

для

2

 

 

 

переменно parent внутри класса значение

 

 

 

 

переменной _parent

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

Приcвоение

через

указатель

на

объект

для

3

 

 

 

переменной name внутри класса второй

 

 

 

 

переменной _name

 

 

 

 

 

 

 

 

 

 

 

 

3

parent существует

запись данного

объекта в

конец вектор

 

 

 

 

children,принадлежащего объекту parent

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2 Алгоритм деструктора класса cl_base

Функционал: Вызывается при уничтожения объекта и очищается память. Параметры: нет.

Алгоритм деструктора представлен в таблице 3. 13

Таблица 3 – Алгоритм деструктора класса cl_base

 

 

 

 

 

 

 

 

 

Предикат

Действия

 

 

 

 

 

 

перехода

 

1

 

Инициализация целочисленной переменной

i

2

 

 

 

значение 0

 

 

 

 

 

 

 

2

i < размера вектора children

Освобождение памяти выделенной для объекта

3

 

 

 

children[i] с помощью оператора функции delete

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

инкремент i

 

2

 

 

 

 

 

 

3.3 Алгоритм метода setName класса cl_base

Функционал: Метод используется для установки имении объекта. Параметры: name.

Возвращаемое значение: bool.

Алгоритм метода представлен в таблице 4.

Таблица 4 – Алгоритм метода setName класса cl_base

 

 

 

 

 

 

 

 

 

 

Предикат

 

Действия

 

 

 

 

 

 

 

 

 

перехода

 

1

Определить

что

в вектор

Присвоение

значения параметра

name значению

2

 

 

children который относится к

поля name текущего объекта

 

 

 

 

родительскому

 

 

 

 

 

 

 

объекту,отсутствуют

 

 

 

 

 

 

объекты

с

указанным

 

 

 

 

 

 

именем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возврат false

 

 

 

 

2

 

 

 

Возврат true

 

 

 

3.4 Алгоритм метода get_name класса cl_base

Функционал: Возвращает значение строчного поля name.

14

Параметры: нет. Возвращаемое значение: string.

Алгоритм метода представлен в таблице 5.

Таблица 5 – Алгоритм метода get_name класса cl_base

 

 

 

 

 

 

 

Предикат

Действия

 

 

 

 

перехода

 

1

 

Возврат значения поля name

 

3.5 Алгоритм метода get_parent класса cl_base

Функционал: Возвращает адрес поля parent. Параметры: нет.

Возвращаемое значение: cl_base*. Алгоритм метода представлен в таблице 6.

Таблица 6 – Алгоритм метода get_parent класса cl_base

 

 

 

 

 

 

 

Предикат

Действия

 

 

 

 

перехода

 

1

 

Возврат адреса поля parent текущего объекта

 

3.6 Алгоритм метода get_child_by_name класса cl_base

Функционал: Возвращает указатель на объект с заданным в параметрах именем.

Параметры: string name. Возвращаемое значение: cl_base*.

Алгоритм метода представлен в таблице 7.

Таблица 7 – Алгоритм метода get_child_by_name класса cl_base

 

 

 

 

 

 

 

Предикат

Действия

 

 

 

 

перехода

 

1

 

Инициализация переменной i значение 0

2

 

 

 

 

 

15

Предикат

 

Действия

 

 

 

 

 

перехода

2

i < длины вектора children

 

3

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

3

Значение

поля

name

Возврат значения объекта children[i]

 

 

текущего

 

элемента

 

 

 

контейнера

vecOfChildrens

 

 

 

равно значению параметра

 

 

 

name

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

4

 

 

 

Инкримент i

2

 

 

 

 

 

 

5

 

 

 

Возврат nullptr

 

3.7 Алгоритм метода print_names класса cl_base

Функционал: Выводит наименования объектов в дереве иерархии слева направо и сверху вниз.

Параметры: нет.

Возвращаемое значение: Отсутствует. Алгоритм метода представлен в таблице 8.

Таблица 8 – Алгоритм метода print_names класса cl_base

 

 

 

 

 

 

 

 

 

 

Предикат

 

Действия

 

 

 

 

 

 

перехода

 

1

данный

объект

имеет

Вывод перехода на новую строку и мении объект

2

 

 

дочерние объекты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

Инициализация переменной i значением 0

3

 

 

 

 

 

3

i < размера вектора children

Вывод двух пробелов и мени объекта children[i]

4

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

4

 

 

 

инскремент i

3

 

 

 

 

 

 

 

5

 

 

 

Вызов метода print_names для последнего объекта

 

16

Соседние файлы в папке Курсовые