TURBO PROLOG. Терёхин В.В. - 14 стр.

UptoLike

Составители: 

14
ские соотношения, при помощи которых программа может решить задачу,
называются декларативными языками. Программы на таких языках объявля-
ют, какие результаты дадут те или иные действия. Программист предостав-
ляет самой системе разобраться в совокупности способов решения задачи.
Для тех, кто привык пользоваться императивным языком, декларатив-
ные языки кажутся почти лишенными какой-
либо строгости. Несмотря на
это, часто программа решения конкретной задачи, составленная на деклара-
тивном языке, требует значительно меньше операторов, чем при использова-
нии императивных языков. Основная часть программы на императивном
языке предназначена для управления шагами программы, обрабатывающими
данные. На Прологе, наоборот, большая часть управления программой неяв-
но содержится в конструкциях языка
или оказывается объявленной в декла-
ративной форме.
Программисты, имеющие опыт работы на императивных языках, ино-
гда теряются, сталкиваясь с полным отсутствием средств управления про-
граммой. Люди, никогда раньше не занимавшиеся программированием, мо-
гут освоить декларативные языки быстрее, чем программисты, знакомые с
императивными языками. Если вы никогда не программировали, то не
ду-
майте, что изучение Турбо-Пролога будет сложным из-за неумения програм-
мировать на языках типа Си, Бейсик или Паскаль. Если вы программировали
на некоторых императивных языках, то не думайте, что вы сразу же сможете
освоить Турбо-Пролог, используя ранее полученные навыки. Необходимо
научиться формулировать логические соотношения, описывающие задачу, а
программа на Турбо-Прологе выполнит все необходимые действия.
2.2.1 Логика предикатов
Как вы теперь знаете, Турбо-Пролог - это декларативный язык, про-
граммы на котором содержат объявления логических взаимосвязей, необхо-
димых для решения задачи. Обозначения, используемые в Турбо-Прологе
для выражения этих логических взаимосвязей, унаследованы из логики пре-
дикатов.
В логике предикатов рассматриваются отношения между утвержде-
ниями и объектами. Не пугайтесь термина
"логика предикатов". По всей ве-
роятности основные понятия (а может быть и терминология) логики преди-
катов вам уже знакомы.
Например, рассмотрим предложение
Мэри любит яблоки
Прочитав это предложение, вы узнаете, что имеется факт, утвер-
ждающий, что Мэри любит яблоки. Добавим еще одно предложение к тому,
что вы уже знаете
:
Бет любит то же самое, что и Мэри
Используя эти два предложения, вы можете придти к заключению, что
Бет тоже любит яблоки. Получая это заключение, вы пользовались упро-
ские соотношения, при помощи которых программа может решить задачу,
называются декларативными языками. Программы на таких языках объявля-
ют, какие результаты дадут те или иные действия. Программист предостав-
ляет самой системе разобраться в совокупности способов решения задачи.
      Для тех, кто привык пользоваться императивным языком, декларатив-
ные языки кажутся почти лишенными какой-либо строгости. Несмотря на
это, часто программа решения конкретной задачи, составленная на деклара-
тивном языке, требует значительно меньше операторов, чем при использова-
нии императивных языков. Основная часть программы на императивном
языке предназначена для управления шагами программы, обрабатывающими
данные. На Прологе, наоборот, большая часть управления программой неяв-
но содержится в конструкциях языка или оказывается объявленной в декла-
ративной форме.
      Программисты, имеющие опыт работы на императивных языках, ино-
гда теряются, сталкиваясь с полным отсутствием средств управления про-
граммой. Люди, никогда раньше не занимавшиеся программированием, мо-
гут освоить декларативные языки быстрее, чем программисты, знакомые с
императивными языками. Если вы никогда не программировали, то не ду-
майте, что изучение Турбо-Пролога будет сложным из-за неумения програм-
мировать на языках типа Си, Бейсик или Паскаль. Если вы программировали
на некоторых императивных языках, то не думайте, что вы сразу же сможете
освоить Турбо-Пролог, используя ранее полученные навыки. Необходимо
научиться формулировать логические соотношения, описывающие задачу, а
программа на Турбо-Прологе выполнит все необходимые действия.


     2.2.1 Логика предикатов
      Как вы теперь знаете, Турбо-Пролог - это декларативный язык, про-
граммы на котором содержат объявления логических взаимосвязей, необхо-
димых для решения задачи. Обозначения, используемые в Турбо-Прологе
для выражения этих логических взаимосвязей, унаследованы из логики пре-
дикатов.
      В логике предикатов рассматриваются отношения между утвержде-
ниями и объектами. Не пугайтесь термина "логика предикатов". По всей ве-
роятности основные понятия (а может быть и терминология) логики преди-
катов вам уже знакомы.
      Например, рассмотрим предложение
      Мэри любит яблоки
      Прочитав это предложение, вы узнаете, что имеется факт, утвер-
ждающий, что Мэри любит яблоки. Добавим еще одно предложение к тому,
что вы уже знаете:
      Бет любит то же самое, что и Мэри
      Используя эти два предложения, вы можете придти к заключению, что
Бет тоже любит яблоки. Получая это заключение, вы пользовались упро-



                                                                      14