Порядок выполнения работы. Задания
1. Изучение интерфейса оболочки языка CLIPS. 2. Знакомство с основами программирования на языке CLIPS и выполнение примеров из части 1 данного руководства. 3. Выполнение в режиме отладки (включить просмотр правил и фактов) программы "Робот и ящик" (предварительно набрать исходный текст программы из листинга 1 в текстовом редакторе и сохранить под именем robot.clp, затем загрузить в CLIPS). 4. Модифицировать программу "Робот и ящик" таким образом, чтобы ящик необходимо было передвинуть в комнату C. Выполнить в режиме отладки. 5. Разработать программу на планирование действий технического объекта согласно варианту задания, выданного преподавателем.
Варианты заданий. В каждой задаче необходимо вводить в базу фактов несколько заданий для робота или процесса, которые должны выполняться последовательно. 1. Авиаперевозки. Организовать перевозку с помощью воздушного грузового транспорта. Следует предусмотреть ситуации загрузки и разгрузки грузов в самолет, взлет, перелет из одного аэропорта в другой в другой, посадку, учет веса груза и грузоподъемность самолета. 2. Шиномонтажная мастерская. Робот должен проводить диагностику и смену колеса с пробитой покрышкой. Для каждой марки автомашины определен свой класс колес. Колес ограниченное количество, если какие-либо колеса отсутствуют, программа должна известить об этом. 3. Планирование действий по построению пирамиды из блоков(А,В,С,....) разного размера и разной формы по заранее определенным правилам установки, которые задаются в базе фактов. 4. Робот и ящик. Существуют 4 комнаты, выходящие дверями в коридор. Робот, который может перемещаться из комнат в коридор и обратно, двигать ящики. 5. Разработать предметную область, связанную с управлением грузовым лифтом. Лифт может перемещаться между этажами, согласно вызовам, и перевозить грузы, учитывая их вес. 6. Автомат по продаже воды. Автомат имеет конечное количество газированной воды и несколько видов сиропа. Выдача воды с сиропом и без сиропа выдается в соответствии с номиналом монеты и запросом (без сиропа, с вишневым сиропом, лимонным и т. п.). 7. Музыкальный автомат. Имеется определенное количество пластинок, автомат должен по требованию, заданному в базе фактов устанавливать нужную пластинку, если такой не имеется в базе, сообщить об этом. Предусмотреть счетчик времени (каждый шаг выполнения программы – окончание определенного количества времени), по окончании времени проигрывания пластинки она должна автоматически убираться. 8. Автомат разлива воды в бутылки. Имеется определенное количество воды и бутылки заданной емкости. Необходимо разлить воду в бутылки. Автомат должен сообщать, что вода закончилась или не хватает емкости. Не наполнять емкость, если воды меньше, чем объем заданной емкости. 9. Закачка файлов. Имеется список файлов в очереди закачки и их размер. За каждый шаг программы закачивается определенное количество байт (квота). Если количество байт оставшееся для полного скачивания файла меньше, чем квота, то остаток должен передаваться другому файлу. 10. Гирлянда. Имеются лампочки различных цветов, формы и т. п. Необходимо в базе правил задать правила включения и выключения определенных лампочек в момент времени. Под моментом времени считать один шаг программы. 11. Кофе-машина. В кофе-машину загружаются зерна кофе. Машина берет определенную порцию зерен, перемалывает, варит кофе и подает его. Предусмотреть возможность ввода нескольких сортов кофе, добавление сливок и сахара по запросу. Количество ресурсов (кофе, сахара, сливок, воды) должно быть ограничено, если какое-либо кофе получить не возможно, автомат должен сообщить об этом. 12. Процесс сборки изделия. Имеются детали, которые участвуют в сборке деталей. Каждая деталь должна использоваться в определенной последовательности. Когда изделии собрано, автомат должен переходить к сборке нового изделия. Процесс прекращается только тогда, когда сборка не возможна (закончились или не хватает какой-либо детали). 13. Продажа билетов. Имеется определенное количество билетов на различные мероприятия. Необходимо по запросу и заданному количеству монет выдавать билеты. Автомат должен выдавать сдачу и оповещать, если билеты на запрашиваемое мероприятие закончилось. 14. Библиотека. Необходимо выдавать книги из заданной базы абонентам по запросу. Книга может отсутствовать в библиотеке или быть на руках у другого абонента. 15. Комплексный обед. Имеется меню с ценами. По предъявленным запросам (перечень блюд, закусок и напитков и их количество) составить комплексные обеды и предъявить цену. 3. Лабораторная работа №2. Решение задач из логики высказываний на CLIPS
|