
- •«Линейный двунаправленный неупорядоченный список»
- •Содержание
- •Введение
- •Постановка задачи
- •Раздел 1 Теоретическая часть
- •Раздел 2 Алгоритмическая часть
- •2.1 Создание списка
- •2.2 Добавление элемента в список
- •2.3 Удаление элемента
- •2.4. Просмотр списка
- •2.5. Синтаксический анализатор
- •2.6 Загрузка списка
- •Раздел 3 Техническое задание
- •3.1. Основание для разработки
- •3.2. Функциональные требования
- •3.3. Интерфейс
- •3.4 Тестирование, режимы работы
- •Раздел 4
- •4.1 Описание программы
- •4.2 Руководство пользователя
- •Список использованной литературы:
- •Приложение а Листинг программы
- •Приложение б Вид программы
Раздел 2 Алгоритмическая часть
Построение схемы алгоритма
Данный курсовой проект предназначен для построения двунаправленного неупорядоченного списка , а также выполнения различных операций над данным списком (создание списка, просмотр содержимого списка, удаление списка, удаление элемента списка по заданному полю, добавление элемента в список, сохранение списка, загрузка списка). Также необходимо было реализовать встроенный в программу синтаксический анализатор, при помощи которого производить вывод на экран искомого множества элементов списка. В этом разделе приведены алгоритм создания списка, алгоритмы выполнения операций над списком, а также алгоритм осуществления синтаксического анализатора.
2.1 Создание списка
В данном курсовом проекте двунаправленный список создается непосредственным заполнением пользователем соответствующих полей ввода при запуске программы. При непосредственном создании списка вручную пользователь заполняет соответствующие поля ввода. Элемент может быть добавлен в начало списка (создание списка) и в конец списка
(процедура добавление элемента). При добавлении элемента в начало списка, после заполнения пользователем полей ввода выделяется память для динамической переменной, и полям этой переменной присваиваются значения, введенные пользователем. Если список пуст, то указатель указывает на этот элемент, а сам элемент, который является единственным в списке, указывает сам на себя.
2.2 Добавление элемента в список
При добавлении элемента в конец списка, после заполнения пользователем полей ввода выделяется память для динамической переменной, и полям этой переменной присваиваются значения, введенные пользователем (схема изображена на рис. 2.1).
Рис. 2.1- Добавление элемента
2.3 Удаление элемента
Удаление происходит по номеру элемента - мы вводим значение в поле, и если оно совпадает с значением в списке, то он удаляется. Также можно удалить весь список .При удалении элемента из списка необходимо различать три случая:
1) Удаление элемента из начала списка
2)Удаление элемента из середины списка
3)Удаление элемента из конца списка
2.4. Просмотр списка
Просмотр нужен для того, чтобы просмотреть данные в списке. Он осуществляется таким образом, что пока список будет не пустым, то выводятся данные в таблицу (схема изображена на рис. 2.2.) Если список пуст, то программа уведомляет об этом пользователя.
Рис. 2.2 – Просмотр списка
2.5. Синтаксический анализатор
Синтаксический анализатор предусмотрен таким образом, что поиск возможно производить по любому из 3 полей элементов списка. При вводе в поле любого значения, если данное значение равно значению, которое занесено в поле, то выводится полностью информация.
Алгоритм программной реализации синтаксического анализатора представлен следующим образом:
- Ввод или выбор значения поля, по которому будет осуществлен поиск.
- Сравнение элемента с элементом, который занесен в список .
2.6 Загрузка списка
Также в программе есть сохранение и загрузка списка ,что облегчает созданию списка. Чтобы загрузить список необходимо выбрать файл с расширением «lbd».