ВУЗ:
Составители:
128
языке Пролог можно программирован? задачи весьма широкого класса. Хотя Пролог ни в коей мере не
является универсальным языком программирования, существует ряд классов задач, для решения
которых он не применим. В первую очередь, к таким классам относятся вычислительные задачи. Хотя
Пролог и обладает средствами выполнения вычислительных действий, но средства эти весьма слабы и
носят преимущественно вспомогательный характер. Незачем применять Пролог и для задач обработки
данных, таких, как задачи экономического плана.
Для каких же классов задач пригоден Пролог? Для таких, где главное значение имеют
сложноструктурированные нечисловые данные, а также для таких, где важную роль должен играть
поиск решения среди множества вариантов. Встроенный в Пролог аппарат запоминания точек возврата
и механизм автоматического возврата вычислительного процесса к ранее пройденному состоянию
обеспечивают зачастую значительное сокращение объемов программ при переходе с процедурного
языка на Пролог.
Единственное, что, пожалуй, объединяет Пролог с процедурными языками, - это понятие
процедуры. Процедурой в языке Пролог называется совокупность правил с одним и тем же именем и
одинаковым количеством параметров. Процедуры в процедурных языках всееда рассматриваются как
приказы «сделать то-то и то-то над такими-то данными*. Процедуры в языке Пролог часто обладают
таким свойством, что их можно рассматривать с двух точек зрения: с императивной, т. е. как приказы
компьютеру выполнить необходимые действия в нужном порядке, и с декларативной точки зрения. В
последнем случае они выступают в роли определения некоторого понятия. Декларативная трактовка
процедур в Прологе часто делает их более понятными человеку. Рассмотрим пример. Если в программе
используются списки, то и в процедурных языках, и в Прологе часто необходимо проверить,
принадлежит ли некоторый объект данному списку. В прояедурных языках эта процедура имеет
следующий вид (мы используем условную запись на естественном языке):
Взять первый элемент списка, назвав его «текущим».
Пока весь список не исчерпан, повторять следующие действия.
Если текущий элемент равен искомому, закончить цикл.
Сделать текущим следующий элемент списка.
Конец цикла,
языке Пролог можно программирован? задачи весьма широкого класса. Хотя Пролог ни в коей мере не
является универсальным языком программирования, существует ряд классов задач, для решения
которых он не применим. В первую очередь, к таким классам относятся вычислительные задачи. Хотя
Пролог и обладает средствами выполнения вычислительных действий, но средства эти весьма слабы и
носят преимущественно вспомогательный характер. Незачем применять Пролог и для задач обработки
данных, таких, как задачи экономического плана.
Для каких же классов задач пригоден Пролог? Для таких, где главное значение имеют
сложноструктурированные нечисловые данные, а также для таких, где важную роль должен играть
поиск решения среди множества вариантов. Встроенный в Пролог аппарат запоминания точек возврата
и механизм автоматического возврата вычислительного процесса к ранее пройденному состоянию
обеспечивают зачастую значительное сокращение объемов программ при переходе с процедурного
языка на Пролог.
Единственное, что, пожалуй, объединяет Пролог с процедурными языками, - это понятие
процедуры. Процедурой в языке Пролог называется совокупность правил с одним и тем же именем и
одинаковым количеством параметров. Процедуры в процедурных языках всееда рассматриваются как
приказы «сделать то-то и то-то над такими-то данными*. Процедуры в языке Пролог часто обладают
таким свойством, что их можно рассматривать с двух точек зрения: с императивной, т. е. как приказы
компьютеру выполнить необходимые действия в нужном порядке, и с декларативной точки зрения. В
последнем случае они выступают в роли определения некоторого понятия. Декларативная трактовка
процедур в Прологе часто делает их более понятными человеку. Рассмотрим пример. Если в программе
используются списки, то и в процедурных языках, и в Прологе часто необходимо проверить,
принадлежит ли некоторый объект данному списку. В прояедурных языках эта процедура имеет
следующий вид (мы используем условную запись на естественном языке):
Взять первый элемент списка, назвав его «текущим».
Пока весь список не исчерпан, повторять следующие действия.
Если текущий элемент равен искомому, закончить цикл.
Сделать текущим следующий элемент списка.
Конец цикла,
128
Страницы
- « первая
- ‹ предыдущая
- …
- 126
- 127
- 128
- 129
- 130
- …
- следующая ›
- последняя »
