Контрольная работа. Функциональное и логическое программирование

### Контрольная работа

## Методические указания и задание на выполнение контрольной работы

Скачать руководство по настройке ПО в формате PDF

### Динамические базы данных в языке SWI-PROLOG

####

Выбор варианта осуществляется по последней цифре пароля.

Присылаемый на проверку архив должен содержать 3 файла:

- файл отчета, содержащий титульный лист, условие задачи, исходный текст программы и результаты работы программы (можно в виде скриншотов);
- файл с исходным текстом программы на языке SWI-PROLOG;
- файл базы данных, с которым работает программа (не менее 10 строк).

Задание на контрольную работу

Напишите на языке SWI-PROLOG программу для работы с базой данных по заданию. Начальная база данных должна храниться в файле. В программе должно присутствовать меню из 5 пунктов, реализующих следующие возможности:

1. просмотр содержимого динамической базы данных (при запуске программы динамическая база данных должна заполняться из файла базы данных только один раз и только в этом пункте);

2. добавления записи в динамическую базу данных (за один вход в этот пункт должна быть возможность добавления нескольких записей);

3. удаления записи из динамической базы данных (за один вход в этот пункт должна быть возможность удаления нескольких записей);

4. выполнения запроса к динамической базе данных по заданию;

5. выход из программы с сохранением содержимого динамической базы данных в исходный файл базы данных (сохранение должно быть только один раз и только в этом пункте).

Варианты заданий

0. Создайте базу данных об игрушках: название, стоимость. Получите названия всех наиболее дорогих игрушек (цены которых отличаются от самой дорогой не более, чем на 100 рублей).

1. Создайте базу данных городского транспорта: название транспорта, номер маршрута, список остановок. Определите, на каких маршрутах можно добраться от одной остановки до другой без пересадок. Названия остановок вводятся с клавиатуры.

2. Создайте базу данных об итогах сессии по 4 дисциплинам студентов определенной группы. Сформируйте список студентов на отчисление, имеющих не менее двух двоек.

3. Создайте базу данных с расписанием движения самолетов: номер рейса, пункт прибытия, стоимость билета. Определите все рейсы до города, название которого вводится с клавиатуры, с минимальной стоимостью билета.

4. Создайте базу данных с книжным каталогом: Ф.И.О. автора, название книги, издательство, год издания. Найдите все книги, изданные в издательстве, название которого вводится с клавиатуры, позже года, который также вводится с клавиатуры.

5. Создайте базу данных о товарах: наименование товара, фасовка, стоимость. Найдите все товары с минимальной стоимостью.

6. Создайте базу данных о сотрудниках: Ф.И.О., должность, оклад. Сформируйте список сотрудников с окладом выше среднего по предприятию (средний оклад выведите на экран).

7. Создайте базу данных об итогах сессии по 5 дисциплинам студентов определенной группы. Сформируйте список студентов, не имеющих двоек и сдавших экзамены на 4 и 5 не менее чем по трем предметам.

8. Создайте базу данных об игрушках: название, стоимость, возрастные границы. Получите названия всех самых дешевых игрушек, подходящих ребенку 3 лет.

9. Создайте базу данных о металлах: наименование, удельная проводимость. Определите все металлы с максимальной проводимостью.