Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Помогите пожалуйста решить программу в Strawberry Prolog
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию Помогите пожалуйста решить программу в Strawberry Prolog - 05.06.2006, 23:43

Нужна помощ.недавно просил решить эту задачку,но забыл попросить её решить в strawberry prolog.Помогите пожалуйста её переделать.Задача:
Определите, кто из студентов сдал экзамен, если известно, что

1.Если Вася сдал, то и Петя сдал;

2.Если Петя сдал, то Сидор сдал или Вася не сдал;

3.Если Коля не сдал, то Вася сдал, а Сидор не сдал;

4.Если Коля сдал, то и Вася сдал.
Ответить с цитированием
  (#2 (permalink)) Старый
dereyly dereyly вне форума
Member
 
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.05.2006
По умолчанию 06.06.2006, 00:00

итак чтобы решить задучу в Strobery берем Бубен иначинаем стучать напивая что то про клубнику затем продолжая напевать набирая совершенно невероятноую кнопку которая обязательно появится после вашего ритуала поиск:сдал затем выбираем это
Ответить с цитированием
  (#3 (permalink)) Старый
Elenka79 Elenka79 вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.03.2006
По умолчанию 06.06.2006, 00:11

Цитата:
Originally posted by dereyly
[b]итак чтобы решить задучу в Strobery берем Бубен иначинаем стучать напивая что то про клубнику затем продолжая напевать набирая совершенно невероятноую кнопку которая обязательно появится после вашего ритуала поиск:сдал затем выбираем это
угу, а потом еще нужно не забыть посмотреть сюда:
http://www.hardforum.ru/t67491, чтоб посмотреть как из проги на VIP сделать прогу на Вашем Прологе...
Ответить с цитированием
  (#4 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 06.06.2006, 00:17

Блин!Все такие умные я смотрю!Это я пишу тем людям, которые не видят, что я написал вначале: недавно просил решить эту задачку..."", и не видят то,что автор той и этой темы один и тот же человек.То есть - я!Просто я поменял Фамилии на имена,чтобы было легче.Помогите пожалуйста,горит.
Ответить с цитированием
  (#5 (permalink)) Старый
Elenka79 Elenka79 вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.03.2006
По умолчанию 06.06.2006, 00:25

Цитата:
Originally posted by Hensem
[b]Блин!Все такие умные я смотрю!Это я пишу тем людям, которые не видят, что я написал вначале: недавно просил решить эту задачку..."", и не видят то,что автор той и этой темы один и тот же человек.То есть - я!Просто я поменял Фамилии на имена,чтобы было легче.Помогите пожалуйста,горит.
Да все видят, просто не все понимают ( я например): зачем создавать одинаковые темы?? В надежде, что уж тогда то кто нибудь обязательно ответит?
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Elenka79 Elenka79 вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.03.2006
По умолчанию 06.06.2006, 00:41

Попробуйте так, но ни за что не ручаюсь, так как проверить не на чем...
Код:
rezultat(sdal). 
rezultat(ne_sdal). 

jekzamen(1,Vasya,Petya,_,_):- 
   Vasya=sdal,!,Petya=sdal;true. 
jekzamen(2, Vasya,Petya,Sidor,_):- 
   Petya=sdal,!,ili(Sidor,Vasya);true. 
jekzamen(3, Vasya,_,Sidor,Kolya):- 
Kolya=ne_sdal,!,Vasya=sdal,Sidor=ne_sdal;true. 
jekzamen(4, Vasya,_,_,Kolya):- 
   Kolya=sdal,!,Vasya=sdal;true. 

ili(Sidor,Vasya):- Sidor=sdal;Vasya=ne_sdal. 
? rezultat(Vasya),rezultat(Petya), 
rezultat(Sidor),rezultat(Kolya), 
jekzamen(1,Vasya,Petya,Sidor,Kolya), 
jekzamen(2, Vasya,Petya,Sidor,Kolya), 
jekzamen(3, Vasya,Petya,Sidor,Kolya), 
jekzamen(4, Vasya,Petya,Sidor,Kolya).
Ответить с цитированием
  (#7 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 06.06.2006, 01:00

2 "Elenka79".Да,ты права,чтобы на меня обратили внимание.
Спасибо за решение,но программка чуть-чуть не работает.Выводит 2 ошибки.Может исправишь чё-нить?ПЛИЗ!
Ответить с цитированием
  (#8 (permalink)) Старый
Elenka79 Elenka79 вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.03.2006
По умолчанию 06.06.2006, 01:08

Цитата:
Originally posted by Hensem
[b]2 "Elenka79".Да,ты права,чтобы на меня обратили внимание.
Спасибо за решение,но программка чуть-чуть не работает.Выводит 2 ошибки.Может исправишь чё-нить?ПЛИЗ!
одну я нашла: там после Васи в третьем высказывании одна запятая лишняя... Ну а дальше, если ошибка не такая же глупая, не зная этого Пролога трудно разобраться..
Ответить с цитированием
  (#9 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 06.06.2006, 01:14

Цитата:
Originally posted by Elenka79+-->
Цитата:
<!--QuoteBegin-Hensem
Цитата:
[b]2 "Elenka79".Да,ты права,чтобы на меня обратили внимание.
Спасибо за решение,но программка чуть-чуть не работает.Выводит 2 ошибки.Может исправишь чё-нить?ПЛИЗ!
одну я нашла: там после Васи в третьем высказывании одна запятая лишняя... Ну а дальше, если ошибка не такая же глупая, не зная этого Пролога трудно разобраться..
Я это тоже сам нашёл.
Раньше писало,что найдено 4 ошибки,сейчас,что 0,но 1 предупреждение.
Вот,как выглядит код после моего преобразования:
Код:
rezultat(sdal). 
rezultat(ne_sdal). 

jekzamen(1,vasya,petya,_,_):- 
vasya=sdal,!,petya=sdal;true. 
jekzamen(2, vasya,petya,sidor,_):- 
petya=sdal,!,ili(sidor,vasya);true.
jekzamen(3, vasya,_,sidor,kolya):-
kolya=ne_sdal,!,vasya=sdal,sidor=ne_sdal;true.
jekzamen(4, vasya,_,_,kolya):- 
kolya=sdal,!,vasya=sdal;true. 
ili(sidor,vasya):- sidor=sdal;vasya=ne_sdal.
?-rezultat(vasya),rezultat(petya), 
rezultat(sidor),rezultat(kolya). 

jekzamen(1,vasya,petya,sidor,kolya), 
jekzamen(2, vasya,petya,sidor,kolya), 
jekzamen(3, vasya,petya,sidor,kolya), 
jekzamen(4, vasya,petya,sidor,kolya).
В строке вывода ответа пишет:
Saving.

Compiling the file:
C:Documents and SettingsСтасРабочий столStrawberry PrologStrawberry PrologGamesFifteen.spj
Warning: Strange predicate: [jekzamen(_0,vasya,petya,sidor,kolya),jekzamen(_1,v asya,petya,sidor,kolya),jekza
men(_2,vasya,petya,sidor,kolya),jekzamen(_3,vasya, petya,sidor,kolya)] as a head in clause 8.
0 errors, 1 warning.

No.
[/code]
Ответить с цитированием
  (#10 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 06.06.2006, 01:20

О!Я там немного накрутил.Всё сделал,и у меня выводит только YES и больше ничего.Ошибок и предупреждений нет.
Ответить с цитированием
  (#11 (permalink)) Старый
Elenka79 Elenka79 вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.03.2006
По умолчанию 06.06.2006, 01:22

Тут я уже помочь не могу... Утром прийдут более умные люди, может разберутся что к чему...
Ответить с цитированием
  (#12 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 06.06.2006, 01:24

Спасибо тебе большое,Ленка79.Ты добрый человек.Буду дальше сидеть разбираться.
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Elenka79 Elenka79 вне форума
Member
 
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.03.2006
По умолчанию 06.06.2006, 01:26

Цитата:
Originally posted by Hensem
[b]О!Я там немного накрутил.Всё сделал,и у меня выводит только YES и больше ничего.Ошибок и предупреждений нет.
Вывод значений сделайте, через Write. Это же наверное хотя бы Вам рассказывали...
Что-то типа:
Код:
write("Vasya ekzamen"),write(Vasya),nl,
и так про всех, через запятую, в самом конце, перед точкой
Ответить с цитированием
  (#14 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 06.06.2006, 01:40

Вот,что вывело.Уже почти-почти.

Код:
Vasya ekzamensdal
Petya ekzamensdal
Kolya ekzamensdal
Sidor ekzamensdal
Yes.
Vasya ekzamensdal
Petya ekzamensdal
Kolya ekzamenne_sdal
Sidor ekzamensdal
Yes.
Vasya ekzamensdal
Petya ekzamensdal
Kolya ekzamensdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamensdal
Petya ekzamensdal
Kolya ekzamenne_sdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamensdal
Petya ekzamenne_sdal
Kolya ekzamensdal
Sidor ekzamensdal
Yes.
Vasya ekzamensdal
Petya ekzamenne_sdal
Kolya ekzamenne_sdal
Sidor ekzamensdal
Yes.
Vasya ekzamensdal
Petya ekzamenne_sdal
Kolya ekzamensdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamensdal
Petya ekzamenne_sdal
Kolya ekzamenne_sdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamensdal
Kolya ekzamensdal
Sidor ekzamensdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamensdal
Kolya ekzamenne_sdal
Sidor ekzamensdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamensdal
Kolya ekzamensdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamensdal
Kolya ekzamenne_sdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamenne_sdal
Kolya ekzamensdal
Sidor ekzamensdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamenne_sdal
Kolya ekzamenne_sdal
Sidor ekzamensdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamenne_sdal
Kolya ekzamensdal
Sidor ekzamenne_sdal
Yes.
Vasya ekzamenne_sdal
Petya ekzamenne_sdal
Kolya ekzamenne_sdal
Sidor ekzamenne_sdal
Yes.
No.
Ответить с цитированием
  (#15 (permalink)) Старый
Hensem Hensem вне форума
Member
 
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.06.2006
По умолчанию 07.06.2006, 00:31

Люди помогите пожалуйста.Вот последнее,что получилось:
Код:
rezultat(sdal). 
rezultat(ne_sdal). 

jekzamen(1,Bolshemennik,Don,_,_):- 
Bolshemennik=sdal,!,Don=sdal;true. 
jekzamen(2, Bolshemennik,Don,Sikora,_):- 
Don=sdal,!,ili(Sikora,Bolshemennik);true. 
jekzamen(3, Bolshemennik,_,Sikora,Ievlev):- 
Ievlev=ne_sdal,!,Bolshemennik=sdal,Sikora=ne_sdal;true. 
jekzamen(4, Bolshemennik,_,_,Ievlev):- 
Ievlev=sdal,!,Bolshemennik=sdal;true. 

ili(Sikora,Bolshemennik):-Sikora=sdal;Bolshemennik=ne_sdal. 

?-rezultat(Bolshemennik),rezultat(Don), 
rezultat(Sikora),rezultat(Ievlev), 
write("Bolshemennik ekzamen"),write(Bolshemennik),nl,
write("Don"),write(Don),nl,
write("Sikora"),write(Sikora),nl,
write("Ievlev ekzamen"),write(Ievlev),nl.
Нужно сделать так,чтобы ответ выводило правильно.Выводит сейчас:
Код:
Vasya ekzamensdal 
Petya ekzamensdal 
Kolya ekzamensdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamensdal 
Kolya ekzamenne_sdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamensdal 
Kolya ekzamensdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamensdal 
Kolya ekzamenne_sdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamenne_sdal 
Kolya ekzamensdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamenne_sdal 
Kolya ekzamenne_sdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamenne_sdal 
Kolya ekzamensdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamensdal 
Petya ekzamenne_sdal 
Kolya ekzamenne_sdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamensdal 
Kolya ekzamensdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamensdal 
Kolya ekzamenne_sdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamensdal 
Kolya ekzamensdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamensdal 
Kolya ekzamenne_sdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamenne_sdal 
Kolya ekzamensdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamenne_sdal 
Kolya ekzamenne_sdal 
Sidor ekzamensdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamenne_sdal 
Kolya ekzamensdal 
Sidor ekzamenne_sdal 
Yes. 
Vasya ekzamenne_sdal 
Petya ekzamenne_sdal 
Kolya ekzamenne_sdal 
Sidor ekzamenne_sdal 
Yes. 
No.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Strawberry Prolog Super_krab Prolog 1 04.04.2012 12:00
Strawberry Prolog Olya_91 Prolog 2 25.03.2012 20:58
крестики нолики на Visual Prolog 7.2 Помогите пожалуйста решить задачу! Дмитрий) Prolog 4 06.06.2011 17:52
помогите решить задачу на Visual Prolog 7.2 ПОЖАЛУЙСТА!!! Валёк Prolog 13 02.06.2011 01:24
Strawberry prolog JulS Prolog 3 07.04.2011 21:57
ПОжалуйста, помогите решить задачки на Prolog Vera_ Prolog 0 13.12.2010 18:30
Strawberry Prolog Aragonzp Prolog 1 04.11.2010 19:35
Помогите дорешать задачку на Strawberry Prolog Innochka Prolog 0 24.05.2010 17:30
Помогите решить задачу "После соревнований" на Strawberry Prolog 777Smash777 Prolog 3 13.12.2009 22:34
Strawberry Prolog pinky&amp;brain Prolog 5 15.04.2009 17:56
Помогите пожалуйста решить пару задачек на SWI-prolog. man Prolog 1 12.02.2008 17:43
Помогите пожалуйста решить программу в Strawberry Prolog lilbo Prolog 0 07.06.2006 15:57



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов