Официальный сайт студ.городка НГТУ
Программирование и БД » Списки в Прологе 

#1  09.12.05 14:42

Списки в Прологе

Есть такая задача, которую не могу никак решить:
Написать программу для отношений:
ЧЕТНАЯ_ПЕРЕСТАНОВКА(Список1,Список2) и
НЕЧЕТНАЯ_ПЕРЕСТАНОВКА(Список1, Список2),
где Список2 - это переставленный Список1 за четное или за нечетное число ша-гов. Например,
ЧЕТНАЯ_ПЕРЕСТАНОВКА ([1,2,3],[2,3,1])
НЕЧЕТНАЯ_ПЕРЕСТАНОВКА ([1,2,3],[2,1,3])

Offline

#2  09.12.05 23:41

Re: Списки в Прологе

приведи пример со списком побольше либо напиши суть перестановок

Offline

#3  10.12.05 11:53

Re: Списки в Прологе

Так как больше о задаче ничего не известно, то суть перестановок мне видится так: списки просматриваются слева направо, если текущий элемент в Списке1 не равен элементу с тем же индексом в Списке2, то меняются местами текущий и следующий элементы в Списке1, индекс увеличивается на единицу и процесс повторяется. Если же эти элементы равны, то сразу индекс увеличивается на единицу и процесс повторяется. Дойдя до конца списка весь процесс повторяется заново, пока не будет получен Список2.
Алгоритм сходен с сортировкой пузырьком.

Есть задумка сделать такую рекурсию: ЧЕТНАЯ_ПЕРЕСТАНОВКА - истинна, если после одной правильной перестановки НЕЧЕТНАЯ_ПЕРЕСТАНОВКА - истинна. Перестановка является правильной, если она приближает Список1 к Списку2.

Исправлено ordorub (10.12.05 11:56)

Offline

#4  10.12.05 20:48

Re: Списки в Прологе

ничего не понял из твоего описания, приведи пример из списка в 10 элементов!
а лучше уточни задание у преподователяч!

Offline

#5  11.12.05 14:33

Re: Списки в Прологе

Преподаватель сказал, что больше ничего не дано и что такое "перестановка" определяет сам программист.

Offline

Программирование и БД » Списки в Прологе 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.027 сек.
Выполнено 14 запросов.