Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу замена
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
lexusRX300 lexusRX300 вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.10.2014
По умолчанию замена - 20.10.2014, 23:34

нужно заменить в алфавите fhp заменить на f тоkmко первую пару ph
prolog Код:
domains x=string y=string
predicates p(x,y)
clauses p(X,Y):-X="ph",Y="h",!.
p(X,Y):-X="hp",Y="hp",!.
p(X,Y):-X="hf",Y="hf",!.
p(X,Y):-X="fh",Y="fh",!.
p(X,Y):-X="fp",Y="fp",!.
p(X,Y):-X="pf",Y="pf".
goal write("vvedite slovo"),readint(X),p(X,Y),write(Y),nl.
выдает ошибку Illegal variable type
смотрел ,темы такие были уже, но ответа там нет
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,827
Сказал(а) спасибо: 2
Поблагодарили 284 раз(а) в 284 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 20.10.2014, 23:42

Предикат readint вводит целое число.
А Вам же надо вводить строку!!!
Ответить с цитированием
  (#3 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,827
Сказал(а) спасибо: 2
Поблагодарили 284 раз(а) в 284 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 20.10.2014, 23:44

Цитата:
Сообщение от lexusRX300 Посмотреть сообщение
смотрел ,темы такие были уже, но ответа там нет
Приведите ссылку, в которой нет ответа на подобные темы.
Ответить с цитированием
  (#4 (permalink)) Старый
lexusRX300 lexusRX300 вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.10.2014
По умолчанию 21.10.2014, 00:04

что то вобще туплю, а строку выводить какой командой? readln?
исправил ,теперь в goal в write(Y) пишется что Y свободная переменная

Последний раз редактировалось lexusRX300; 21.10.2014 в 00:09
Ответить с цитированием
  (#5 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,827
Сказал(а) спасибо: 2
Поблагодарили 284 раз(а) в 284 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 21.10.2014, 00:39

Цитата:
Сообщение от lexusRX300 Посмотреть сообщение
что то вобще туплю, а строку выводить какой командой? readln?
Не выводить, а вводить. Да, readln.
Приведите снова всю Вашу прогу. Ибо непонятно, что Вы там исправили.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
lexusRX300 lexusRX300 вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.10.2014
По умолчанию 21.10.2014, 00:41

prolog Код:
domains x=string y=string
predicates p(X,Y)
clauses p(X,Y):-X="ph",Y="h",!.
p(X,Y):-X="hp",Y="hp",!.
p(X,Y):-X="hf",Y="hf",!.
p(X,Y):-X="fh",Y="fh",!.
p(X,Y):-X="fp",Y="fp",!.
p(X,Y):-X="pf",Y="pf".
goal write("vvedite slovo"),readln(X),p(X,Y),write(Y),nl.
Ответить с цитированием
  (#7 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,827
Сказал(а) спасибо: 2
Поблагодарили 284 раз(а) в 284 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 21.10.2014, 01:10

Вот здесь:
Цитата:
Сообщение от lexusRX300 Посмотреть сообщение
domains x=string y=string
predicates p(X,Y)
наверное надо бы p(x,y), то есть домены указать маленькими буковками.
Однако я бы написал просто:
predicates p(string,string)
т.е. без раздела доменов.
Ответить с цитированием
Ads
Ответ

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена HDD на SSD Mishailis Любые вопросы от новичков 20 14.06.2014 22:11
замена wins32 Ремонт ноутбуков 2 24.02.2014 17:09
Замена х4 на х2 Oleg116rus Процессоры 5 13.01.2014 22:09
замена бп fank790 Батареи и питание 3 26.08.2013 19:28
Замена Win 7 x32 на x64 Wendigo5 Windows 7 17 01.09.2012 21:09
Замена БП? viv567 Блоки питания 8 25.07.2012 06:42
замена HDD на SSD montana43 Апгрейд ноутбуков 6 07.06.2012 01:15
Замена бп Monahh Блоки питания 15 14.12.2011 01:51
замена бп геннадий мос Блоки питания 2 07.12.2011 14:25
замена Bолодя Процессоры 4 30.03.2011 19:54
замена xp 32b на 64b panton Любые вопросы от новичков 5 18.01.2011 16:45
замена andru Процессоры 9 31.10.2010 00:57



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