Стандартный пролог - Большая Энциклопедия Нефти и Газа, статья, страница 1
Одежда делает человека. Голые люди имеют малое или вообще нулевое влияние на общество. (Марк Твен). Законы Мерфи (еще...)

Стандартный пролог

Cтраница 1


Стандартный Пролог позволяет оформлять такого рода механизмы в виде процедур метауровня.  [1]

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

Когда приведенные выше грамматические правила с аргументами преобразуются в утверждения стандартного Пролога, два дополнительных аргумента добавляются к ним в качестве двух последних из трех.  [3]

При загрузке программы в Пролог-систему утверждения с функтором - - преобразуются в утверждения стандартного Пролога. Пролога, заголовок которого соответствует левой части грамматического правила, а тело состоит из символов правой части, представляющих собой соединенные подцели. Правило Пролога снабжается двумя аргументами. Первый аргумент заголовка правила представляет анализируемую цепочку. Он передается в качестве первого аргумента первой подцели. В каждой подцели первый аргумент представляет цепочку, оставленную неразобранной предыдущими подцелями, а второй аргумент - остаток этой цепочки после ее разбора данным компонентом. Второй аргумент заголовка правила - это цепочка, которая остается после того, как будет согласована последняя подцель.  [4]

Важно отметить, что любой предикат может быть обработан указанным способом. Стандартный Пролог содержит два элемента - и call, которые не могут быть выполнены в Турбо Прологе.  [5]

В стандартном Прологе выполняемая программа имеет возможность собирать выражение из битов и фрагментов, используя операции работы со списками Пролога. Это выражение может быть исполнено, как будто бы оно было частью кода программы. Цель, используемая подобным образом, и называется динамической.  [6]

Несмотря на то, что в книге используется Турбо Пролог, вы можете работать и с другими версиями Пролога. В отличие от стандартного Пролога Турбо Пролог имеет несколько встроенных функций, которые дают программисту возможность максимально задействовать графику, звук, память, порты ввода-вывода и т.п. IBM PC. Другие версии Пролога не имеют этих свойств. В Турбо Прологе, однако, отсутствуют некоторые новейшие свойства, в частности способность рассматривать правила как данные, способность сопоставлять имя предиката с переменной. Впрочем, в книге мы не рассматриваем ни новейших, ни низкоуровневых ( машинных) свойств Турбо Пролога. Та-ким образом, все описанные здесь программы должны ра-ботать почти на любой версии Пролога.  [7]

Наиболее сложным при оценке реляционных выражений является случай, когда алгебраические выражения находятся по обе стороны центрального оператора. Наилучший способ, который используется в стандартном Прологе, разительно отличается от методов Турбо Пролога. В стандартном Прологе нам необходимо представить алгебраическое выражение в виде дерева выражений списковой формы и с его помощью создать последовательность динамических целей, которые, выполнив арифметические действия, преобразуют алгебраическое выражение в число.  [8]

Наиболее сложным при оценке реляционных выражений является случай, когда алгебраические выражения находятся по обе стороны центрального оператора. Наилучший способ, который используется в стандартном Прологе, разительно отличается от методов Турбо Пролога. В стандартном Прологе нам необходимо представить алгебраическое выражение в виде дерева выражений списковой формы и с его помощью создать последовательность динамических целей, которые, выполнив арифметические действия, преобразуют алгебраическое выражение в число.  [9]

Вторая программа является более краткой, чем первая, однако ее общее действие, возможно, менее понятно. Она оказывается к тому же более эффективной, поскольку в ней не требуется строить промежуточный список y ( A B C D E), состоящий из всех различных элементов. Поведения двух полученных алгоритмов ( программа 1, стандартный Пролог) и ( программа 2, стандартный Пролог) совершенно отличаются друг от друга несмотря на то, что они обладают общей управляющей компонентой.  [10]

Арсенал систем программирования на Прологе небогат. Наибольшую известность получили системы TurboProlog 1.0 и 2.0 для IBM PC в среде MS-DOS, выпущенные компанией Borland International в конце 80 - х годов. В целях повышения эффективности объектного кода входной язык этих систем значительно отличается от стандартного Пролога ( DEC-10), в частности, необходимостью описания предикатов, так что этот язык следует считать самостоятельным языком логического программирования, поэтому использование этих систем при проведении практикума нежелательно.  [11]

Вторая программа является более краткой, чем первая, однако ее общее действие, возможно, менее понятно. Она оказывается к тому же более эффективной, поскольку в ней не требуется строить промежуточный список y ( A B C D E), состоящий из всех различных элементов. Поведения двух полученных алгоритмов ( программа 1, стандартный Пролог) и ( программа 2, стандартный Пролог) совершенно отличаются друг от друга несмотря на то, что они обладают общей управляющей компонентой.  [12]

Элементы макропрограммы, связанные с возможной оптимизацией объектного кода, опущены. INCLUDE препроцессора, параметры к которым задаются с помощью макрооператоров присваивания. Первым макровызовом в макропрограмме всегда является макровызов % INCLUDE PROLOG, с помощью которого объявляются все препроцессорные переменные и который также содержит стандартный пролог для любой программы на РЯОД.  [13]

Расширение грамматики с целью распознавания большего числа русских глаголов быстро приведет к непомерному ее росту ввиду того, что для каждой формы каждого глагола придется заводить свое собственное правило. Этого можно избежать, включив в правые части грамматических правил вызовы обычных процедур Пролога. Суть заключается в том, что в единственном грамматическом правиле описывается общая форма глагола, а все особые глаголы и их формы задаются в виде утверждений стандартного Пролога в отдельном словаре.  [14]



Страницы:      1