Приложение А.
Блок-схема главного модуля.
Рис. А1
Блок-схема процедуры вывода.
Рис. А2
Блок-схема процедуры добавления.
Блок-схема процедуры удаления.
Блок-схема процедуры поиска.
Блок-схема процедуры изменения.
Блок-схема процедуры записи в динамическую память.
Блок-схема процедуры создания файла.
Начало
Вывод меню
Ввод пункта меню
Пункт
Создание файла
Запись в динамическую память
Просмотр в динамической памяти
Изменения в динамической памяти
Добавление в динамическую память
Удаление в динамической памяти
Просмотр содержимого файла
Поиск товара по
названию
Выход
Конец
Начало
Пока не конец списка
Вывод на экран записей
Вывод сообщения о том, что на записи отсутствуют
Конец
Конец
Запись в OLD адреса предыдущего адреса
Открытие файла
Пока не конец файла
Начало
Запись в динамическую память записи по NEXT
Выделение динамической памяти
Чтение записи
NEXT = NIL
Да
Нет
Конец
Создание связи между добавленной записью и первой
Ввод полей новой записи
Выделяем динамическую память для новой записи
Начало
В начало списка
Отмечаем конец списка обратного направления
Переносим заголовок списка прямого направления на добавленный элемент
Создание связи между добавленной записью и первой
Отмечаем конец списка прямого направления
Переносим заголовок списка обратного направления на добавленный элемент
Определение значений указателей NEXT, OLD дополнительного элемента
Присвоение добавленной записи значений NEXT, OLD предыдущей
Определение указателя NEXT предыдущей записи и указателя OLD последующей
` b f ? ¬ oaeUE?¶°?!¶™??¶°|udu\Qu|J
?
uuuuuuuuuuuuuuuoueYYYYYYY
E
gda=o
H
L
N
P
?
–
”
$
&
??o?&
(
*
,
.
0
2
4
6
8
:
@
B
D
F
H
N
?
?
¬
®
Ae
AE
e
??’??
?
?
?
A
ae
o
h?Z
h
h
‘e
e
oe
o
X
Z
’
?
Ae
AE
E
O
Oe
a
ae
o
o
o
hU
. добавленной записи и записью
Да
Да
Да
Нет
Нет
Нет
Нет
Нет
Нет
Да
Да
Да
Нет
Удаляем необходимую запись
Переводим указатель OLD предыдущей записи с удаляемой на последующую
Переводим указатель NEXT предыдущей записи с удаляемой на последующую
Определённый элемент
Перенос признака конца списка прямого направления на предпоследний
элемент
Перевод указателя заголовка конца на предпоследний элемент списка
Фиксация последнего элемента текущим указателем
Перенос признака конца списка обратного направления на второй элемент
Перевод указателя заголовка на второй элемент списка
В начале списка
Фиксация первого элемента текущим указателем
Удаление первого элемента списка
Удаление последнего элемента списка
Конец
Начало
Да
Запись в файла
Да
Нет
Запись данных
Ввод кол-ва записей h
Открытие файла
Конец
I=1 , h
Начало
Вывод найденных данных
Поиск необходимой записи
Конец
OK = true
Ввод записи которую нужно найти
Создаем массив в который записываются необходимое поле записи
Начало
OK = true
OKY = true
Ввод новых данных
Запись новых данных в файл
Закрытие файла
Открытие файла
Вывод найденных данных
OK = true
OKY = true
Нет
Да
Поиск необходимой записи
Конец
OK = true
Ввод записи которую нужно найти
Создаем массив в который записываются необходимое поле записи
Начало
Да
Нет
Открытие файла
Открытие файла
Есть ли ещё записи
Да
Нет
Открытие файла
Ввод записи которую нужно удалить
Есть ли ещё записи
Да
Нет
Открытие файла
Нашли опечатку? Выделите и нажмите CTRL+Enter