Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Общие сведения и краткая история среды CLIPS
Простые типы данных Для представления информации в CLIPS предусмотрено восемь простых типов данных: float, integer, symbol, string, external-address, fact-address, instance-name и instance-address. Для представления числовой информации используются типы float и integer, символьной – symbol и string. Остановимся на рассмотрении этих четырех типов данных. При записи числа могут использоваться только цифры (0-9), десятичная точка (.), знак (+) или (–) и (е) при экспоненциальном представлении. Число сохраняется либо как целое, либо как действительное. Любое число, состоящее только из цифр, перед которыми может стоять знак, сохраняется как целое (тип integer представляется внутри CLIPS как тип языка С long integer). Все остальные числа сохраняются как действительные (float – С double float). Количество значащих цифр зависит от аппаратной реализации. В этой же связи могут возникать ошибки округления. Как в любом языке программирования, особенную осторожность необходимо проявлять при сравнении чисел с плавающей точкой, а также при сравнении с ними целых чисел. Примеры целых чисел: 237 15 +12 -32 Примеры чисел с плавающей точкой: 237е3 15.09 +12.0 -32.3е-7 Последовательность символов, которая не удовлетворяет числовым типам, обрабатывается как тип данных symbol. Тип данных symbol в CLIPS - последовательность символов, состоящая из одного или нескольких любых печатных символов кода ASCII. Как только в последовательности символов встречается символ-разделитель, symbol заканчивается. Следующие символы служат разделителями: любой непечатный ASCII символ (включая пробел, символ табуляции, CR, LF), двойные кавычки,"(",")", "&", "|", "<","~",";". Символы-разделители не могут включаться в symbol за исключением символа "<", который может быть первым символом в symbol. Кроме того, symbol не может начинаться с символа "?" или последовательности символов "$?", поскольку эти символы зарезервированы для переменных. Заметим, что CLIPS различает регистр символов. Ниже приведены примеры выражений символьного типа: foo Hello B76-HI bad_value 127А 742-42-42 @+=-% Search Тип данных string - это последовательность символов, состоящая из нуля и более печатных символов и заключенная в двойные кавычки. Если внутри строки встречаются двойные кавычки, то перед ними необходимо поместить символ (\). То же справедливо и для самого (\). Несколько примеров: "foo" "a and b" "I number" "a\"quote" Отметим, что строка "abcd" не тоже самое, что abcd. Они содержат одина-ковые наборы символов, но являются экземплярами различного типа. Функции Под функцией в CLIPS понимается фрагмент исполняемого кода, с которым связано уникальное имя и который возвращает полезное значение или имеет полезный побочный эффект (например, вывод информации на экран). Существует несколько типов функций. Пользовательские и системные функции - это фрагменты кода, написанные на внешних языках (например, на С) и связанные со средой CLIPS. Системными называются те функции, которые были определены изначально внутри среды CLIPS. Пользовательскими называются функции, которые были определены вне CLIPS. Хотя CLIPS и не ориентирована на численные вычисления, в ней предусмотрен ряд стандартных арифметических и математических функций. Среди них: + Сложение - Вычитание * Умножение / Деление * * Возведение в степень Abs Определение абсолютного значения Sqrt Вычисление квадратного корня Mod Взятие по модулю Min Нахождение минимума Мах Нахождение максимума |
Последнее изменение этой страницы: 2019-06-20; Просмотров: 148; Нарушение авторского права страницы