История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
2017-12-21 | 649 |
5.00
из
|
Заказать работу |
|
|
Основные сведения
Неупорядоченные (шаблонные) факты дают возможность пользователю абстрагироваться от структуры факта, задавая имена каждому из полей факта. Для задания шаблона, который затем может использоваться при доступе к полям по именам, используется конструкция deftemplate.
Структура: (deftemplate <имя шаблона>[«строка комментариев»])
(slot<имя слота 1>)
(slot<имя слота 2>)
…………………..
(slot<имя слота n>)
В шаблонном факторе значение любого слота можно задать по умолчанию с помощью служебного слова Default.
Для работы с шаблонными фактами используются функции
1) (modify <индекс факта><новое значение слота>) - используется для модификации неупорядоченного факта
Механизм работы функции modify аналогичен выполнению функции удаления и добавления факта.
2) (duplicate <индекс факта><нов. значение слота>) - позволяет копировать существующие факты по заданному шаблону, заменяя указанные значения слотов.
Список фактов любого типа может быть сохранен в текстовый файл, а также загружен из файла. Для этого определены функции:
3) (save-facts <имя файла>) - сохранение текущего списка фактов
4)(load-facts <имя файла>) - загрузка фактов из текстового файла
Пример.
Создать файл, содержащий три неупорядоченных факта вида (student (name <фамилия>) (gruppa <группа>) (date <дата рождения>)). Загрузить данные факты.
В факте с индексом 2 изменить значение слота date, факт f-1 продублировать, изменив фамилию. Сохранить полученный список фактов.
Решение.
Сначала необходимо создать файл, содержащий описание шаблона для неупорядоченных фактов вида (student (name <фамилия>) (gruppa <группа>) (date <дата рождения>)) с помощью конструктора deftemplate. Значения слота gruppa зададим по умолчанию – ПИЭ4-1.
|
Для этого создайте новый текстовый файл (File->New) и наберите текст:
5
Рис. 15 Описание шаблона для неупорядоченных фактов
Сохраните файл под именем lab2-1.clp.
Для создания списка фактов создайте еще один текстовый файл и запишите 3 факта:
Рис. 16 Список неупорядоченных фактов
Сохраните файл под именем lab2-1-facts.clp. Исходные файлы подготовлены.
Прежде чем загрузить список фактов, необходимо загрузить в систему шаблон, описанный в файле lab2-1.clp. Для этого загрузите данный файл с помощью команд главного меню File->Load… Если после выполнения команды выведено сообщение TRUE, можно приступить к загрузке фактов с помощью команды load-facts:
Рис. 17 Просмотр списка фактов после загрузки из текстового файла lab2-1-facts.clp
Для изменения в факте с индексом 2 значение слота date, наберите команду (modify 2 (date 12-02-1985)) и просмотрите полученный список с помощью команды (facts) (рис.18):
Рис. 18 Результат модификации факта f-2
Для дублирования факта с индексом 1, наберите команду
(duplicate 1 (name Sidorov)) и просмотрите полученный список с помощью команды (facts):
Рис. 19 Результат дублирования факта f-1
Сохраните новый список фактов:
Рис. 20 Сохранение списка фактов в текстовый файл lab2-1-facts.clp
Для проверки очистите текущий список фактов, загрузите файл lab2-1.clp и сохраненные в файле lab2-1-facts.clp факты. Просмотрите список фактов:
Рис. 21 Просмотр списка фактов после загрузки из текстового файла lab2-1-facts.clp
Контрольные вопросы
1. Какая конструкция используется для создания неупорядоченных (шаблонных) фактов? Поясните ее структуру.
2. Какая функция применяется для модификации неупорядоченного факта?
3. Какая функция используется для копирования неупорядоченного факта?
4. Какая функция используется для сохранения текущего списка фактов в текстовый файл?
5. С помощью какой функции можно загрузить факты из текстового файла?
Задания для самостоятельной работы
|
1. А) Создать файл, содержащий три неупорядоченных факта вида (client (name <фамилия>) (in <инд.номер>) (citi <город проживания>)). Значений слота citi задать по умолчанию. Загрузить данные факты. В факте с индексом 1 изменить значение слота citi, а в факте с индексом 2 изменить фамилию. Факт f-3 продублировать, изменив in. Сохранить полученный список фактов.
Б). Загрузить полученный список фактов. Добавить 2 новых неупорядоченных факта вида, используя функцию assert. Удалить факты с индексами 1, 3, Просмотреть полученный результат. Сохранить полученный список фактов в другой файл.
2. А) Создать файл, содержащий три неупорядоченных факта вида (sotrudnik (name <фамилия>) (otdel <отдел>) (st <стаж работы>)) Значений слота otdel задать по умолчанию. Загрузить данные факты. В факте с индексом 1 изменить значение слота otdel, а в факте с индексом 3 изменить стаж работы. Факт f-2 продублировать, изменив фамилию. Сохранить полученный список фактов.
Б) Загрузить полученный список фактов. Добавить 2 новых неупорядоченных факта вида, используя функцию assert. Удалить факты с индексами 2, 4. Просмотреть полученный результат. Сохранить полученный список фактов в другой файл.
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!