Студопедия — Арифметика
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Арифметика






Простейшими командами являются математические функции. Например:

(+ 1 2) (+ 1 2 3 4) (* 2 3) (- 5 2) (- 5 2 2) (/ 8 3) (/ 8 2) (div 18 7) (mod 18 7) (** 3 2) (min 2 1 4 5 3) (round 6.7)


Параметры математических функций также в свою очередь могут быть заданы математическими функциями. Например:

(* (+ 1 2) 3 (* 4 5))

(sin (/ (pi) 6))

В командах CLIPS могут использоваться переменные. Для присваивания значения переменной используется команда bind. Например:

(bind?x 10)

?x

(**?x 2)

Заметим, что команда bind не только устанавливает значение переменной, но и возвращает установленное значение. При попытке использовать переменную, которой не было присвоено никакого значения, выводится предупреждение, при этом значением такой переменной считается символ FALSE.

Ввод-вывод при работе с консолью

Для вывода в консоль или в файл можно использовать команду printout. Первый параметр этой команды задает логическое имя файла, а остальные — выводимые значения. Для вывода в консоль первым параметром надо задать символ t. Для перевода строки используется символ crlf. Пример:

(printout t "Hello" crlf)

(printout t "2 * 3 = " (* 2 3) crlf)

Для ввода можно использовать команды read и readline. Будучи вызваны без параметров обе команды производят ввод с консоли. Команда read считывает данные до разделителя и может возвратить символ, строку или число; команда readline считывает данные до конца строки и всегда возвращает строку. В случае достижения конца файла обе команды возвращают символ EOF. Пример:

(bind?x (read))

Управление средой

Помимо математических функций в CLIPS другие команды. Перечислим некоторые из них:

· exit — завершение работы с системой CLIPS. В меню соответствует File/Exit;

· batch — выполняет команды, записанные в текстовом файле так, как если бы они были введены непосредственно в консоли. Имя файла задается параметром команды и должно является строкой (т. е. в двойных кавычках). В меню соответствует File/Load Batch…;

· batch* — то же, что batch, но без повтора самих выполняемых команд на экране;

· reset — сброс системы. В меню соответствует Execution/Reset.

Пример:

(batch "C:/Some folder/Some command file.bat")

Факты

Система CLIPS поддерживает два вида фактов: упорядоченные и шаблонные. Для работы с обоими видами фактов используются одни и те же команды; однако использование шаблонных фактов требует предварительного описания шаблона, в то время как для использования упорядоченных фактов ничего такого не надо.

Для ввода в список фактов используется команда assert, параметрами которой должны быть вводимые факты (отметим, что нет разницы, вводить ли несколько фактов одной командой или каждый факт — отдельной). В команде assert каждый факт должен быть задан отдельным списком. Первый элемент этого списка определяет тип факта и должен быть символом; остальные элементы задают параметры факты и могут быть произвольного типа. Если в списке, задающем факт, встречается вложенный список, то он интерпретируется как вызов функции, значение которой определяет значение соответствующего параметра факта. Пример:

(assert (weather fine))

(assert (temperature 5))

(assert (wind 7 north-east))

(assert (autumn))

(assert (location box-1 floor) (size box-1 80 60 40))

(assert (weight part-1 4.5) (weight part-2 8.25))

(assert (weight part-3 (+ 1.5 3.25)))

В списке фактов может одновременно находится несколько фактов одного типа, если эти факты различаются значением хотя бы одного параметра. Команда assert возвращает адрес факта, если он был успешно введен в список фактов или символ FALSE, если факт не был введен из-за того, что точно такой же факт уже находился в списке фактов.

Возвращаемый командой assert адрес факта не является ни числом, ни символом, ни строкой; — это значение специального типа данных. Адрес факта может быть использован, например, для удаления факта из списка фактов. Помимо адреса каждый факт, находящийся в списке фактов, характеризуется номером. Получить этот номер, зная адрес факта можно с помощью функции fact-index.

Отметим, что изначально список фактов не пуст: в нем присутствует факт initial-fact, не имеющий параметров. Номер этого факта — 0.

Просмотреть список фактов можно командой facts. По умолчанию (т. е. без параметров) эта команда выводит на экран весь список фактов; однако с помощью параметров можно задать минимальный и максимальный номер факта, а также максимальное количество выводимых фактов. Пример:

(facts)

(facts 7)

(facts 1 2)

Также для просмотра списка фактов в меню можно выбрать Window/Facts. В этом случае на экране появится окно Facts, отображающее текущее содержимое списка фактов. По мере добавления и удаления фактов содержимое этого окна автоматически обновляется.

Для удаления фактов используется команда retract, параметрами которой являются адреса или номера удаляемых фактов либо символ * (звездочка), предписывающий удаление всех фактов. Команда retract ничего не возвращает. Пример:

(bind?f (assert (weather fair)))

(retract?f)

(retract 0)

Также к удалению всех фактов приводит использование команды reset (ранее упомянутой). После удаления всех фактов команда reset автоматически добавляет в список фактов факт initial-fact.







Дата добавления: 2015-08-30; просмотров: 347. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия