БД о автомобилях. SWI Prolog
Формулировка задачи:
1. Создать базу данных о заданной предметной области в виде множества фактов языка Пролог (не менее 5 фактов). Информацию о каждом компоненте БД представить в виде структуры.
2. Разработать набор предикатов, осуществляющих взаимодействие с БД, при помощи которых можно реализовать все типы запросов, приведенные в варианте задания. Найденные решения записать в виде фактов внутренней базы данных Пролога.
3. Предусмотреть проверку факта, являющегося ответом на запрос в БД. Если такой факт существует, то выдать его в качестве ответа на запрос. Если такого факта не существует в базе данных, то запустить запрос на выполнение и записать результат в БД.
Предметная область – база данных продажи автомобилей. Каждый автомобиль может быть описана структурой: марка автомобиля, страна фирмы-изготовителя, список фирм-продавцов. Фирма-продавец может быть описана структурой: название фирмы, страна, список имеющихся моделей. Модель может быть описана структурой: наименование модели, цена, список имеющихся расцветок.
Реализовать следующие типы запросов:
1. Найти марку и модель автомобиля, у которой минимальная цена;
2. Подсчитать число расцветок автомобиля заданной модели у определенного продавца;
3. Найти все страны-изготовителя, выпускающие автомобили заданной марки;
4. Найти все марки автомобилей, продающиеся в заданной стране;
5. Найти все фирмы, которые продают автомобили заданной расцветки.
Помогите плиз, большое спасибо) Решение задачи: «БД о автомобилях. SWI Prolog»
textual
Листинг программы
car( marka(Toyota), stranaF(Japan), prod('Бызово', 'Россия', [('Алтеза',125000,['белый','красный','желтый']), ('Камри',325000,['серый','красный','черный'])]),). car( marka(Nissan), stranaF(Japan), prod('Бызово', 'Россия', [model('Санни',125000,['белый','красный','желтый']), model('Силфи',225000,['корич','белый','черный'])])). car( marka(Chevrolet), stranaF(USA), prod('Сити', 'Украина', [('Камаро',1125000,['белый','серый','желтый']), ('Лачети',345000,['голуб','белый','синий'])])).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д