Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лабораторная работа № 3б. Использование повторения



В программах на Турбо-Прологе повторяющиеся операции обычно выполняются при помощи правил итеративного и рекурсивного типа. Правила повтора и рекурсии должны содержать средства управления их выполнением. Встроенные предикаты fail и cut используются в Турбо-Прологе для управления откатами (возвратами в начало процедуры), а условия завершения - для управления рекурсией.

Вид правила, выполняющего повторение, следующий:

repetitive_rule:- /* правило повторения */

<предикаты и правила>

fail. /* неудача */

Конструкция <предикаты и правила> в теле правила обозначает предикаты, содержащие несколько утверждений, а также правила, определенные в программе. Предикат fail (неудача) имитирует неудачу, вызывая откат к тому же правилу для проверки следующего варианта, так что предикаты и правила выполняются еще раз.

Вид правила, выполняющего рекурсию, следующий:

recursive_rule:- /* правило рекурсии */

<предикаты и правила>,

recursive_rule.

Обратите внимание,что последним правилом в теле данного правила является само правило (recursive_rule).

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

Используем в данной работе для демонстрации повторения базу данных и (модифицированную) программу предыдущей лабораторной работы.

/* Программа staff1.pro */





Дата публикования: 2015-10-09; Прочитано: 229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...