Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Необходима ваша помощь в решении задачи, Дан список, элементы которого натура.. 
V
    Опции темы
Heckfy111
  Дата 5.5.2012, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем доброго времени суток. Помогите пожалуйста с решением задачи

 Дан список, элементы которого натуральные числа.Заменить их на число 1, если исходное число нечетное, и на 0 в противном случае.
PM MAIL   Вверх
Фантом
Дата 5.5.2012, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Heckfy111 @  5.5.2012,  13:33 Найти цитируемый пост)


 Дан список, элементы которого натуральные числа.Заменить их на число 1, если исходное число нечетное, и на 0 в противном случае. 

Код

z([],[]).
z([H|T],[C|L]):-C is H mod 2, z(T,L).

PM   Вверх
Heckfy111
Дата 5.5.2012, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо огромное за помощь smile уровень моих знаний в прологе на нуле, поэтому осмелюсь спросить это и будет все решение?)
PM MAIL   Вверх
Heckfy111
Дата 5.5.2012, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



попробовал запустить программу в прологе при запуске ALT+R пишет "3 Illegal keyword"
PM MAIL   Вверх
Фантом
Дата 5.5.2012, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Heckfy111 @  5.5.2012,  13:46 Найти цитируемый пост)
уровень моих знаний в прологе на нуле, поэтому осмелюсь спросить это и будет все решение?) 

Да, это полное решение. Для всех стандартных реализаций языка Пролог этого достаточно.

Цитата(Heckfy111 @  5.5.2012,  14:01 Найти цитируемый пост)
попробовал запустить программу в прологе при запуске ALT+R пишет "3 Illegal keyword" 

Запустить программу "в прологе" нельзя, ее можно запустить в какой-то среде разработки для Пролога. 

И, кстати, Вам ведь была нужна помощь в решении задачи, а не написание готовой программы на одном определенном диалекте Пролога (причем, судя по упоминанию среды, максимально нестандартном), не так ли?
PM   Вверх
Heckfy111
Дата 5.5.2012, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Запустить программу "в прологе" нельзя, ее можно запустить в какой-то среде разработки для Пролога. 


мм.. Я пробовал запустить в среде Turbo Prolog
Цитата

И, кстати, Вам ведь была нужна помощь в решении задачи, а не написание готовой программы на одном определенном диалекте Пролога (причем, судя по упоминанию среды, максимально нестандартном), не так ли?

скорее всего мне нужна программа, а не только решение 
Вы могли бы помочь?


Это сообщение отредактировал(а) Heckfy111 - 5.5.2012, 13:47
PM MAIL   Вверх
Фантом
Дата 5.5.2012, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Heckfy111 @  5.5.2012,  14:46 Найти цитируемый пост)

мм.. Я пробовал запустить в среде Turbo Prolog

Ну да, я так и подумал.

Цитата(Heckfy111 @  5.5.2012,  14:46 Найти цитируемый пост)

скорее всего мне нужна программа, а не только решение 
Вы могли бы помочь?

Трудно. Turbo Prolog - это не Пролог, а некий его более чем посредственный эрзац, которому к тому же 24 года  (не языку - компилятору и среде!) от роду, мне попросту негде его запускать (да и незачем).

Если я ничего не перепутаю (с этим диалектом я в последний раз имел дело 17-18 лет назад), то должно получиться что-то в таком роде:
Код

domains
 listintegers=integer*

predicates

 z(listintegers,listintegers)

clauses

 z([],[]).
 z([H|T],[C|L]):-C=H mod 2, z(T,L).


Основная часть, как видите, не поменялась (с точностью до замены "is" на "=" - кто-то из разработчиков TP когда-то свалял дурака и смешал сравнения и оператор вычисления в одну кашу), просто добавлена куча "описательной" шелухи.
PM   Вверх
Heckfy111
Дата 5.5.2012, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Фантом

Спасибо огромное,  запустил программу в ТP
все работает, но остался один последний вопрос - после Goal: я так понимаю должен задать список
как это сделать?


Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  111.JPG 42,23 Kb
PM MAIL   Вверх
Фантом
Дата 5.5.2012, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Heckfy111 @  5.5.2012,  15:18 Найти цитируемый пост)
я так понимаю должен задать список
как это сделать?

Вызвать что-нибудь вроде z([1,2,3,4,5],L).
PM   Вверх
Heckfy111
Дата 5.5.2012, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Вызвать что-нибудь вроде z([1,2,3,4,5],L).

Отлично! все работает. Спасибо Фантом, еще раз.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

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

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


 




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


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

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