Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мехринса_ОИИ.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
78 Кб
Скачать
☆
  1. Организация циклов на основе рекурсии

В отличие от традиционных языков программирования, в которых основным средством организации повторяющихся действий являются циклы, в Прологе для этого используются процедура поиска с возвратом (откат) и рекурсия. Откат дает возможность получить много решений в одном вопросе к программе, а рекурсия позволяет использовать в процессе определения предиката его самого.  Цикла с предусловием. Обычно этот цикл выглядит примерно так: while <условие> do P. Это соответствует текстовому описанию "пока имеет место <условие>, выполнять P ". На Прологе подобную конструкцию можно записать следующим образом:

w:-

<условие>,p,w.

w:-!.

  1. Написать предикат, позволяющий соединить два списка в один.

conc([ ], L, L). /* при присоединении пустого списка

к списку L получим список L */

conc([H|T], L, [H|T1]) :–

conc(T,L,T1). /* соединяем хвост и список L, получаем

хвост результата */

conc(X, Y, [1, 2, 3]).

X=[], Y=[1, 2, 3]

X=[1], Y=[2, 3]

X=[1, 2], Y=[3]

X=[1, 2, 3], Y=[]