Атомы и числа
В главе 1 уже приводились некоторые простые примеры атомов и переменных. Но в целом они могут принимать более сложные формы, т.е. могут представлять собой строки, состоящие из следующих символов:
• прописные буквы А, В, ..., Z;
• строчные буквы а, Ь, .... z;
• цифры 0, 1, 2, .... 9;
• специальные символы, такие как"-", "-", "*",«/", "<", ">","-», ":", ".",-*"•.
f< it ч *1
Атомы могут формироваться тремя перечисленными ниже способами.
1. Как строки букв, цифр и символов подчеркивания ("_"), начинающиеся с про
писной буквы:
anna.
nil
х2 5
х_25
х_25АВ
:-:_
■_______ У
alpha J.:-.- .. procedure miss_Jones sarah_ ones
2. Как строки специальных символов:
<->
При использовании атомов в этой форме необходимо соблюдать осторожность,
поскольку некоторые строки специальных символов уже имеют предопределенное значение; в качестве примера можно привести ":-".
3. Как строки символов, заключенных в одинарные кавычки. Такой формат является удобным, если требуется, например, применить атом, который начинается с прописной буквы. Заключив его в кавычки, можно подчеркнуть его отличие от переменных:
46 Часть!. Язык Prolog
'Tom' 'South_A.Tiei:ica'
'Sarah Jones'
Числа, используемые в языке Prolog, подразделяются на целые числа и числа с
плавающей точкой. Целые числа имеют простой синтаксис, как показано в следую
щих примерах:
: 1313 0 -97
Не все целые числа могут быть представлены в компьютере, поэтому диапазон целых чисел ограничен интервалом между некоторым наименьшим и наибольшим числами, которые допустимо использовать в конкретной реализации Prolog.
Предполагается, что для представления чисел с плавающей точкой применяется
простой синтаксис, как показано в следующих примерах:
3.14 -0.0035 100.2
Обычно в программах на языке Prolog числа с плавающей точкой используются не очень часто. Причина этого состоит в том, что Prolog в основном предназначен для символьных, нечисловых вычислений. В символьных вычислениях часто применяются целые числа, например для подсчета количества элементов в списке, но необходимость в использовании чисел с плавающей точкой, как правило, возникает гораздо реже.
Кроме такого отсутствия необходимости использовать числа с плавающей точкой в типичных приложениях Prolog, есть еще одна причина, по которой следует избегать чисел с плавающей точкой. Как правило, необходимо стремиться к тому, чтобы смысл программ &ыл как можно более очевидным. Но введение чисел с плавающей точкой иногда приводит к трудно диагностируемым нарушениям в работе программы из-за числовых ошибок, которые возникают при округлении во время выполнения арифметических операций. Например, при вычислении выражения 10000 + 0.0001 - 10000 может быть получен результат 0 вместо правильного результата 0. 0001.