Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Находится-ли список в порядке убывания 
V
    Опции темы
Ak47black
  Дата 19.9.2010, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Здравствуйте.
Помогите, немогу понять. Уже как только мог перепробовал, но никак не выходит.
Мне нужно сделать предикат, который бы проверял что данный список находится в порядке убывания.
Вот так например пробую
Код

maz([X|(Y,Z)]):- order(X, Y), maz(Y,Z).
order(X, Y):- X > Y. 

ввожу
Цитата

maz([41,8,2]).

получаю false.

PM MAIL   Вверх
Фантом
Дата 19.9.2010, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Во-первых, у Вас есть два разных предиката maz - с одним аргументом и с двумя. Первый определен (причем с синтаксической некорректностью), второй нет. 

Во-вторых, у рекурсивного определения должна быть база - утверждение, что список из одного элемента упорядочен. В итоге все переписывается так:
Код

maz([_|[]]).
maz([X|[Y|Z]]):- order(X, Y), maz([Y|Z]).

order(X, Y):- X > Y. 



PM   Вверх
Ak47black
Дата 19.9.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Я про 
Код

maz([_|[]]). 
незнал, 
СПАСИБО!

Это сообщение отредактировал(а) Ak47black - 19.9.2010, 15:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.