- •Федеральное государственное бюджетное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-Бруевича"
- •По лабораторной работе №5
- •Постановка задачи
- •Перечень предикатов (функций)
- •1. Предикаты ввода-вывода и управления
- •2. Предикаты работы с записями базы данных
- •Блок-схемы
- •Проверка функционала программы
- •Код программы
Перечень предикатов (функций)
Для реализации программы базы данных по рулевым редукторам и их компонентам для автомобиля УАЗ Патриот были определены следующие предикаты, разделённые по функциональным группам:
1. Предикаты ввода-вывода и управления
load_database_from_file — загружает базу данных из текущего файла;
load_database_from_file(Filename) — загружает базу данных из указанного файла;
save_database_to_file — сохраняет базу данных в текущий файл;
save_database_to_file(Filename) — сохраняет базу данных в указанный файл;
save_database_to_csv — сохраняет базу данных в CSV-файл;
save_database_to_csv(Filename) — сохраняет базу данных в CSV-файл с заданным именем;
show_current_filename — выводит текущее имя файла базы данных;
set_current_filename(Filename) — устанавливает текущее имя файла;
change_filename — изменяет имя текущего файла базы данных;
reload_database — перезагружает базу данных из файла;
ensure_database_loaded — проверяет наличие загруженной базы и при необходимости загружает её.
2. Предикаты работы с записями базы данных
print_all_gears — выводит все записи базы данных;
print_all_gears_stepwise — выводит записи базы данных по одному с ожиданием ввода;
print_gear(Gear) — выводит информацию об одном рулевом редукторе;
count_items — подсчитывает количество записей в базе;
count_items_helper(Acc, Count) — вспомогательный рекурсивный предикат для подсчёта записей;
copy_to_temp — копирует все записи базы в временную структуру;
restore_from_temp — восстанавливает базу из временной структуры;
clear_temp — очищает временную базу.
3. Предикаты добавления, удаления и редактирования записей
add_gear — добавляет новую запись в базу данных;
delete_gear — удаляет запись по имени;
delete_gear_by_name(Name) — удаляет запись с заданным именем;
edit_gear — редактирует существующую запись по имени;
edit_gear_by_name(Name) — редактирует конкретную запись с указанным именем;
read_positive_integer(Prompt, Value) — считывает положительное целое число с проверкой.
4. Предикаты работы с меню
menu — отображает меню программы и ожидает выбор пользователя;
action(Option) — выполняет действие, соответствующее выбранному пункту меню.
5. Вспомогательные предикаты
member(Element, List) — проверяет принадлежность списку;
wait_for_enter — ожидание нажатия клавиши Enter для продолжения;
6. Домены и базы данных
steering_gear(Name, Article, Vehicle, Description, Price, Quantity) — база данных рулевых редукторов;
temp_gear(Name, Article, Vehicle, Description, Price, Quantity) — временная база для операций редактирования и подсчёта;
current_filename(string) — текущее имя файла базы данных.
Блок-схемы
