Ещё рандомные правки

This commit is contained in:
2024-11-12 13:56:13 +03:00
parent 56c0e35987
commit 0daa8eb426

View File

@@ -242,7 +242,7 @@ stringstyle =\bfseries} % шрифт для строк
\small{наименование АС} \\ \small{наименование АС} \\
\vspace{0.5cm} \vspace{0.5cm}
\normalsize{ \normalsize{
Операции над красно-черными деревьями}\\ Процесс управления данными в красно-чёрном дереве}\\
\vspace{-15pt} \vspace{-15pt}
\hdashrule[-2mm]{\textwidth}{0.5pt}{} \hdashrule[-2mm]{\textwidth}{0.5pt}{}
\small{наименование объекта автоматизации} \\ \small{наименование объекта автоматизации} \\
@@ -316,7 +316,7 @@ stringstyle =\bfseries} % шрифт для строк
\subsection{Порядок оформления и предъявления заказчику результатов работ по созданию системы} \subsection{Порядок оформления и предъявления заказчику результатов работ по созданию системы}
При предъявлении результатов работ Заказчику передаётся ПК базовой комплектации, с установленной лицензионной ОС <<Windows 10>> и находящийся на гарантийном обслуживании. При предъявлении результатов работ Заказчику передаётся ПК базовой комплектации, с установленной лицензионной ОС <<Windows 10>> и находящийся на гарантийном обслуживании, загрузочный модуль приложения, руководство оператора, исходный код приложения.
\subsection{Перечень нормативно-технических документов, методических материалов, использованных при разработке ТЗ} \subsection{Перечень нормативно-технических документов, методических материалов, использованных при разработке ТЗ}
@@ -486,7 +486,7 @@ stringstyle =\bfseries} % шрифт для строк
Требования не предъявляются. Требования не предъявляются.
\subsection{Требования к функциям (задачам), выполняемым системой} \subsection{Требования к функциям (задачам), выполняемым системой}
Системы управления данными <<Словарь-КЧД>> должна выполнять следущие задачи: Система управления данными <<Словарь-КЧД>> должна выполнять следущие задачи:
\begin{itemize} \begin{itemize}
\item[$-$] Создание и поддержание структуры КЧД; \item[$-$] Создание и поддержание структуры КЧД;
@@ -503,22 +503,22 @@ stringstyle =\bfseries} % шрифт для строк
\item[$-$] Вывод структуры КЧД в текстовом виде на экран. \item[$-$] Вывод структуры КЧД в текстовом виде на экран.
\end{itemize} \end{itemize}
% Для выполнения поставленных задач должны быть реализованы следующие функции: Для выполнения поставленных задач должны быть реализованы следующие функции:
% \begin{itemize} \begin{itemize}
% \item[$-$] Создание и поддержание структуры КЧД; \item Функция для создания структуры КЧД.
\item Функция для инициализации структуры КЧД с заданными параметрами.
% \item[$-$] Добавление записей в КЧД; \item Функция для добавления новой записи в структуру КЧД.
\item Функция для балансировки КЧД после добавления записи.
% \item[$-$] Удаление записей из КЧД; \item Функция для удаления записи из структуры КЧД.
\item Функция для балансировки КЧД после удаления записи.
% \item[$-$] Поиск и просмотр записей в КЧД; \item Функция для поиска записи в КЧД.
\item Функция для отображения записей структуры КЧД в текстовом виде.
% \item[$-$] Сохранение данных и структуры КЧД на диск; \item Функция для сохранения структуры и данных КЧД на диск.
\item Функция для загрузки структуры и данных КЧД с диска.
% \item[$-$] Чтение данных и структуры КЧД с диска; \item Функция для вывода структуры КЧД на экран в текстовом формате.
\item Функция для проверки целостности структуры КЧД при загрузке.
% \item[$-$] Вывод структуры КЧД в текстовом виде в консоль. \item Функция для контроля и обработки входных данных от пользовтеля.
% \end{itemize} \end{itemize}
\subsection{Требования к видам обеспечения} \subsection{Требования к видам обеспечения}
@@ -536,7 +536,65 @@ stringstyle =\bfseries} % шрифт для строк
\subsubsection{Требования к информационному обеспечению системы} \subsubsection{Требования к информационному обеспечению системы}
Красно-черное дерево основано на структуре связного списка, который представляет собой сеть узлов, каждый из которых содержит данные, указатель на следующий узел и дополнительный бит, представляющий цвет. Память для хранения данных выделяется динамически и очищается при их удалении. Структура данных:
\begin{itemize}
\item Класс \textbf{RBTree} (наследуется от \texttt{BinarySearchTree}):
\begin{itemize}
\item Методы:
\begin{itemize}
\item \texttt{void insert(std::string key, std::string value)}: Метод для вставки узла с заданными ключом и значением в дерево, с последующей балансировкой.
\item \texttt{void remove(std::string key)}: Метод для удаления узла с заданным ключом из дерева, с последующей балансировкой.
\end{itemize}
\end{itemize}
\item Класс \textbf{BinarySearchTree}:
\begin{itemize}
\item Атрибуты:
\begin{itemize}
\item \texttt{Node* root}: Указатель на корневой узел дерева.
\end{itemize}
\item Методы:
\begin{itemize}
\item \texttt{Node* search(Node* node, std::string key)}: Метод для поиска узла с заданным ключом, начиная с узла \texttt{node}.
\item \texttt{Node* getMin(Node* node)}: Метод для получения узла с минимальным ключом, начиная с узла \texttt{node}.
\item \texttt{Node* getMax(Node* node)}: Метод для получения узла с максимальным ключом, начиная с узла \texttt{node}.
\item \texttt{void removeTree()}: Метод для удаления всего дерева.
\item \texttt{void printTree()}: Метод для вывода дерева.
\item \texttt{Node* insert(std::string key, std::string value)}: Метод для вставки нового узла с заданными ключом и значением.
\item \texttt{Node* remove(std::string key, Node* \&saveChildPtr)}: Метод для удаления узла с заданным ключом, сохраняя указатель на узел потомка.
\end{itemize}
\end{itemize}
\item Класс \textbf{Node}:
\begin{itemize}
\item Атрибуты:
\begin{itemize}
\item \texttt{std::string key}: Ключ узла.
\item \texttt{std::string value}: Значение узла.
\item \texttt{bool color}: Цвет узла (красный или черный).
\item \texttt{Node* left}: Указатель на левый дочерний узел.
\item \texttt{Node* right}: Указатель на правый дочерний узел.
\item \texttt{Node* parent}: Указатель на родительский узел.
\end{itemize}
\item Методы:
\begin{itemize}
\item \texttt{void createLeafs()}: Метод для создания дочерних узлов-листьев.
\item \texttt{Node* grandparent() const}: Метод для получения указателя на дедушку узла.
\item \texttt{Node* uncle() const}: Метод для получения указателя на дядю узла.
\item \texttt{Node* brother() const}: Метод для получения указателя на брата узла.
\item \texttt{std::string toString() const}: Метод для преобразования узла в строку, включающую ключ, значение и цвет.
\item \texttt{bool isLeaf()}: Метод для проверки, является ли узел листом.
\end{itemize}
\end{itemize}
\item Типы данных:
\begin{itemize}
\item \texttt{std::string}: Строковый тип данных, используемый для хранения ключей и значений узлов.
\item \texttt{bool}: Логический тип данных, применяемый для указания цвета узла в красно-черном дереве (красный или черный).
\item \texttt{int}: Целочисленный тип данных для хранения значений, таких как счетчики или индексы.
\end{itemize}
\end{itemize}
\subsubsection{Требования к лингвистическому обеспечению системы} \subsubsection{Требования к лингвистическому обеспечению системы}
@@ -619,7 +677,7 @@ stringstyle =\bfseries} % шрифт для строк
\subsection{Общие требования к приемке работ по стадиям} \subsection{Общие требования к приемке работ по стадиям}
Должен быть предоставлен ПК базовой комплектации на гарантийном обслуживании с лицензионной ОС <<Windows 10>>. На стадии тестирования должен быть предоставлен набор тестов и программа испытаний. На конечном этапе приёмки работы, должны быть предоставлены: исходный код программного модуля, исполняемый файл для <<Windows 10>>. Должен быть предоставлен ПК базовой комплектации на гарантийном обслуживании с лицензионной ОС <<Windows 10>>. На стадии тестирования должен быть предоставлен набор тестов и программа испытаний. На этапе приёмки работы, должны быть предоставлены: исходный код программного модуля, исполняемый файл для <<Windows 10>>.
\subsection{Статус приемочной комиссии} \subsection{Статус приемочной комиссии}
@@ -636,7 +694,9 @@ stringstyle =\bfseries} % шрифт для строк
\newpage \newpage
\section{ТРЕБОВАНИЯ К ДОКУМЕНТИРОВАНИЮ} \section{ТРЕБОВАНИЯ К ДОКУМЕНТИРОВАНИЮ}
Заказчику вместе с приложением должна быть предоставлена инструкция по использованию приложения. Руководство оператора, предъявляемое Заказчику вместе с приложением должна быть
написана в соответсвии с ГОСТ 19.50579 «Единая система программной документации.
Руководство оператора. Требования к содержанию и оформлению».
\newpage \newpage
\section{ИСТОЧНИКИ РАЗРАБОТКИ} \section{ИСТОЧНИКИ РАЗРАБОТКИ}