Использование среды PIE при проектировании баз данных и знаний
На аукционе
============================================================== Контрольная работа №1 ============================================================== Превратить данный текст в полноценную Prolog-программу позволяющую выполнять следующие семь запросов firm("gaz","russia"). firm("vaz","russia"). firm("ww","germany"). car("volga","gaz","maxi"). car("lada","vaz","mini"). car("niva","vaz","jeep"). car("zuk","ww","mini"). car("tiguan","ww","jeep"). car("phaeton","ww","maxi"). /* 1. все авто, выпускаемые конкретной фирмой */ test1 :- write("Введи фирму:"), nl, readln(F), car(X,F,_), write("авто - ",X), nl, fail. /* 2. все марки авто заданного класса */ test2 :- /* 3. все страны, выпускающие внедорожники */ test3 :- /* 4. все авто России и их фирмы производители */ test4 :- /* 5. страна производитель заданной марки авто */ test5 :- /* 6. найти авто заданного класса для заданной страны */ test6 :- /* 7. определить класс авто заданной марки */ test7 :- ============================================================== Контрольная работа №2 ============================================================== На базе предыдущего контрольного задания разработать интерфейс для запуска запросов test2...test7. Для получения доступа к запросам, созданным в контрольном задании №1, необходимо использовать одновременную подгрузку файлов (подробнее об этом написано в описании лабораторной работы №1 в разделе 4). 1. Создайте новый файл. 2. Внесите в него описание предиката repeat. 3. Напишите правило, которое будет в зависимости от введённого номера запускать соответствующий запрос. 4. После отрабатывания запроса, правило должно возвращаться к вводу новой цели. 5. Правило должно содержать ключевое слово, посредством которого можно осуществить выход из программы. 6. Для компьютеров с нечётными номерами необходимо создать правило, запускающее запросы test3, test5, test7. Для компьютеров с чётными номерами необходимо создать правило, запускающее запросы test2, test4, test6. Изменить программу таким образом, чтобы правило query вызывало любой из запросов test, выбираемых опциями 1, 2 или 3. Для этого потребуется несколько изменить подгружаемый файл из первой контрольной работы, заменив в нем test1 на test(1) и т.д. ============================================================== Контрольная работа №3 ============================================================== Разработать программу, позволяющую выполнять операции над списками, рассмотренные в лабораторной работе №6. Для компьютеров с нечётными номерами используйте следующую списковую структуру: office(101,[worker("Петров", 500), worker("Сидоров", 300), worker("Иванов", 200) ]). office(211, [worker("Павлов", 400)]). Для компьютеров с чётными номерами используйте следующую списковую структуру: office(101,["Петров","Сидоров","Иванов"]). office(211,["Павлов"]). Программа должна выполнять следующие операции над списками: - вывод элементов списка; - определение длины списка; - определение принадлежности введённого элемента списку; - объединение списков; - удаление элемента списка. Для каждой операции над списками создайте отдельное правило.