Атомы и числа

В главе 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.