Содержание
- 2. Использование рекурсии в логическом программировании Рекурсия в логическом программировании применяется в двух случаях: если отношение описывается
- 3. Рекурсивные правила Отношения на языке Пролог описываются с помощью правил. Правило, содержащее свой заголовок в качестве
- 4. Синтаксис рекурсивных правил и процедур В общем случае рекурсивная процедура имеет следующий вид: :⎯ , .
- 5. Синтаксис рекурсивных правил и процедур (продолжение) Для того, чтобы рекурсивная процедура завершалась, необходимо, чтобы в процедуру
- 6. Синтаксис рекурсивных правил и процедур (продолжение) В языке Пролог при согласовании целей правила в процедуре выбираются
- 7. Примеры рекурсивных процедур. Пример 1. Программа определения суммы ряда натуральных чисел. sum_series (1,1). sum_series(N,S):⎯N>0,Next is N-1,
- 8. Примеры рекурсивных процедур. Пример 2. Программа генерации ряда натуральных чисел от N до 20. write_number (20)
- 9. Схема поиска решений в рекурсивных программах Для представления формализованной схемы поиска решений будут использоваться следующие обозначения:
- 10. Схема поиска решений в рекурсивных программах Шаг № ⎯ шаг вычисления. Шагом вычислений будем считать действия,
- 11. Схема поиска решений в рекурсивных программах ТЦ ⎯текущая цель. Текущая цель ⎯ это цель, подлежащая согласованию
- 12. Схема поиска решений в рекурсивных программах Откат, Возврат. Отказ ⎯ это отказ пользователя от выданного успешного
- 13. Пример поиска решения в рекурсивной программе Рассмотрим пример классической рекурсивной процедуры вычисления факториала; эта процедура включает
- 14. Схема вычисления запроса GOAL: fact(3, Res). имеет следующий вид: ТР: fact(3,Res). Шаг 1: ТЦ: fact(3,Res). Пр1:
- 15. Схема вычисления запроса ТР: N11 is 3-1, fact(2,Res11), Res is Res11*3. Шаг 3: ТЦ: N11 is
- 16. Схема вычисления запроса ТР: fact(2,Res11), Res is Res11*3. Шаг 4: ТЦ: fact(2,Res11). Пр1: 2=1⇒no Пр2: 2>1,N12
- 17. Схема вычисления запроса Шаг 6: ТЦ: N12 is 2-1. Yes N12=1 ТР: fact(1,Res12), Res11 is Res12*2,
- 18. Схема вычисления запроса Шаг 8: ТЦ: Res11 is 1*2. Yes {Res11= 2 } ТР: Res is
- 20. Скачать презентацию