nonvar( X)               Х - не переменная

        atom( X)                  Х - атом

        integer( X)               Х - целое

        atomic( X)               Х - или атом, или целое

Термы можно синтезировать или разбирать на части:

        Терм =.. [Функтор [ СписокАргументов]

        functor( Терм, Функтор, Арность)

        arg( N, Терм, Аргумент)

        name( атом, КодыСимволов)

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

        аssert( Предл)                 добавляет предложение Предл к программе

        аssегtа( Предл)               добавляет в начало

        asserfz( Предл)               добавляет в конец

        rеtrасt( Предл)                удаляет предложение,

                                                  сопоставимое с предложением Предл

Все объекты, отвечающие некоторому заданному условию, можно собрать в список при помощи предикатов:

        bagof( X, Р, L)         L - список всех X, удовлетворяющих условию Р

        setof( X, Р, L)          L - отсортированный список всех X,

                                         удовлетворяющих условию Р

        findall( X, Р, L)        аналогичен bagof

repeat - средство управления, позволяющее порождать неограниченное число альтернатив для автоматического перебора.

Назад | Содержание | Вперёд

Назад | Содержание | Вперёд

Глава 8

СТИЛЬ И МЕТОДЫ ПРОГРАММИРОВАНИЯ

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

8. 1.    Общие принципы хорошего программирования

Главный вопрос, касающийся хорошего программирования, - это вопрос о том, что такое хорошая программа. Ответ на этот вопрос не тривиален, поскольку существуют разные критерии качества программ.

Следующие критерии общеприняты:

Правильность. Хорошая программа в первую очередь должна быть правильной, т. е. она должна делать именно то, для чего предназначалась. Это требование может показаться тривиальным и самоочевидным. Однако в случае сложных программ правильность достигается не так часто. Распространенной ошибкой при написании программ является пренебрежение этим очевидным критерием, когда большее внимание уделяется другим критериям - таким, как эффективность.

Эффективность. Хорошая программа не должна попусту тратить компьютерное время и память.

Простота, читабельность. Хорошая, программа должна быть легка для чтения и понимания. Она не должна быть более сложной, чем это необходимо. Следует избегать хитроумных

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату