- •Федеральное государственное бюджетное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-Бруевича"
- •По лабораторной работе №5
- •Постановка задачи
- •Перечень предикатов (функций)
- •1. Предикаты ввода-вывода и управления
- •2. Предикаты работы с записями базы данных
- •Блок-схемы
- •Проверка функционала программы
- •Код программы
Федеральное государственное бюджетное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-Бруевича"
Отчёт
По лабораторной работе №5
“Разработка базы данных по рулевым редукторам”
Дисциплина: «Разработка приложений искусственного интеллекта в киберфизических системах»
Выполнил:
Студент 3 курса группы ИКПИ – 32
Иванов Олег Владимирович
___________________
(подпись)
Проверил:
Ерофеев С.А.
___________________
(подпись)
г. Санкт-Петербург, 2025 г.
Постановка задачи
Целью работы является разработка программы для создания, хранения и управления базой данных по рулевым редукторам и их компонентам автомобиля УАЗ Патриот с возможностью выполнения основных операций: добавление, удаление, редактирование, просмотр базы данных и экспорт данных.
Для достижения этой цели необходимо выполнить следующие задачи:
Определить домены и предикаты для хранения информации о рулевых редукторах и их параметрах;
Реализовать загрузку и сохранение базы данных из файла;
Организовать взаимодействие пользователя с базой данных через меню;
Реализовать операции добавления, удаления и редактирования элементов базы;
Обеспечить возможность подсчёта количества элементов и экспорта данных в CSV-файл;
Протестировать программу на различных наборах данных, включая пустую базу и предварительно заполненную.
Входные данные:
Входными данными являются:
Файл базы данных (по умолчанию datauaz.txt), содержащий записи рулевых редукторов в формате:
steering_gear("Name", "Article", "Vehicle", "Description", Price, Quantity)
Пользовательский ввод для взаимодействия с меню программы: выбор опций, ввод значений для добавления или редактирования элементов, ввод имени файла для сохранения или загрузки базы.
Выходные данные:
Программа формирует следующие результаты:
Отображение базы данных в консоли:
полный вывод всех элементов базы;
пошаговый вывод с ожиданием ввода пользователя;
Информация о конкретном рулевом редукторе;
Подсчёт количества элементов в базе;
Файл базы данных после сохранения;
CSV-файл с экспортированными данными;
Сообщения о выполненных действиях (добавление, удаление, редактирование, ошибки).
Суть алгоритма заключается в следующем:
Программа организована как интерактивная система управления базой данных, состоящая из следующих модулей:
Модуль загрузки и сохранения базы данных
Проверяет существование файла базы данных и загружает записи;
Обеспечивает сохранение текущего состояния базы в файл и экспорт в CSV;
Позволяет изменять имя текущего файла базы данных.
Модуль управления записями базы данных
Добавление нового рулевого редуктора с проверкой корректности введённых данных;
Удаление записи по имени;
Редактирование существующей записи с отображением текущих значений;
Подсчёт количества элементов в базе с использованием временной структуры для сохранения целостности данных.
Модуль пользовательского меню
Отображает список возможных действий;
Обеспечивает обработку выбора пользователя и вызов соответствующих функций;
Поддерживает рекурсивное возвращение в меню после выполнения действия.
Вспомогательные модули
Проверка корректности ввода положительных чисел;
Временное хранение данных для операций с базой;
Вывод информации в консоль и управление ожиданием ввода пользователя.
Программа гарантирует целостность данных, корректную обработку ошибок и интерактивное взаимодействие с пользователем.
