Тема «Структуры данных: списки. Основные предикаты



Работы со списками. Решение задач с помощью списков.

Задачи, решаемые с помощью перебора»

 

Тему можно начать с того, что при решении некоторого класса задач построение баз данных является слишком громоздким и утомительным занятием. Задача будет записана в более кратком виде, если воспользоваться структурой — списком. После того как будет дано определение списка (рекурсивное), следует вывести и записать на Прологе некоторые предикаты, получившие название основных. Для полного понимания работы со списками рекомендуется исполнить эти программы в режиме ручной трассировки.

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

Задание. Сдвинуть циклически элементы списка вправо.

Эта задача является обратной к более простой (на Прологе) задаче о циклическом сдвиге элементов списка влево и занимает одну строчку:

 

сдвиг_вправо(L,R):- сдвиг_влево(R,L).

 

В рамках темы рекомендуется решить такие классические задачи, как «Ханойские башни», «Задача о восьми ферзях», «Задача о перестановках», которые есть в ряде руководств.


Дата добавления: 2015-12-21; просмотров: 11; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!