Тема «Структуры данных: списки. Основные предикаты
Работы со списками. Решение задач с помощью списков.
Задачи, решаемые с помощью перебора»
Тему можно начать с того, что при решении некоторого класса задач построение баз данных является слишком громоздким и утомительным занятием. Задача будет записана в более кратком виде, если воспользоваться структурой — списком. После того как будет дано определение списка (рекурсивное), следует вывести и записать на Прологе некоторые предикаты, получившие название основных. Для полного понимания работы со списками рекомендуется исполнить эти программы в режиме ручной трассировки.
При решении задач могут встречаться трудности с определением правил, с помощью которых они решаются. Это связано с уже сложившимся стереотипом решения аналогичных задач алгоритмически. Эффективность декларативного способа решения задач можно показать на следующем примере.
Задание. Сдвинуть циклически элементы списка вправо.
Эта задача является обратной к более простой (на Прологе) задаче о циклическом сдвиге элементов списка влево и занимает одну строчку:
сдвиг_вправо(L,R):- сдвиг_влево(R,L).
В рамках темы рекомендуется решить такие классические задачи, как «Ханойские башни», «Задача о восьми ферзях», «Задача о перестановках», которые есть в ряде руководств.
Дата добавления: 2015-12-21; просмотров: 11; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!