|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.05.2013, 11:10 | #1 |
Новичок
Джуниор
Регистрация: 25.12.2011
Сообщений: 2
|
Задачи по прологу
Ребят, помогите кто нить плиз кто чем может, не знаю как сделать лабу(((
1.Определите (рекурсивно, не используя ^) предикат power(X, N, Power), который выполняется, если Power -- число X в степени N. ?- power(3, 2, X). X = 9 2. Представим многочлены как списки их коэффициентов в порядке убывания степени. Например, многочлен 2*x^2+1 будет представлен как [2,0,1]. Определите предикат eval_poly(Polynom, X, Result), выполняющийся, если Result -- значение многочлена Polynom при аргументе X. Для возведения в степень используйте оператор ^ или определённый в прошлой задаче power/3. Возможно также использование схемы Горнера. ?- eval_poly([2,0,1,0], 2, Result). Result = 9 3. В числе операторов, определённых в Prolog, есть /\ (и), \/ (или), \+ (не) и -> (следует). Определите предикат nnf(Formula), который выполняется, если Formula -- формула, в которой отрицания стоят только перед переменными (переменные в формуле представляем атомами). ?- nnf((x /\ \+ y) -> \+ x /\ z). Yes ?- nnf((x /\ \+ y) -> \+ (x /\ z)). No 4. Определите предикат nnf(Formula, NNF), который выполняется, если NNF -- формула, полученная из Formula эквивалентными преобразованиями, в которой отрицания стоят только перед переменными. ?- nnf(\+ ((x -> y) /\ z), NNF). NNF = (x /\ \+ y) \/ \+ z |
31.05.2013, 13:36 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
1. Как-то так:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
31.05.2013, 16:03 | #3 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
на SWI Prolog помогу за денюжку (раз сам не пытался решить). Но не дешево это будет стоить (2 последних, особенно).
|
31.05.2013, 22:57 | #4 |
Новичок
Джуниор
Регистрация: 25.12.2011
Сообщений: 2
|
я со вторым справился, но вот 3 и 4 ваще не представляю как сделать(((
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решается судьба.. Надо решить две задачи.Мне задачи, вам практика и мое уважение) | romichj | Общие вопросы C/C++ | 3 | 30.03.2012 00:33 |
ребят я не могу понять как решать эти задачи!может кто помочь в решении представленной задачи? | Andrusha07 | Помощь студентам | 0 | 09.03.2012 23:08 |
Программа по Прологу | oleg_super | Помощь студентам | 0 | 23.11.2011 23:01 |
Прога по прологу | Dog | Помощь студентам | 0 | 15.11.2009 21:46 |
Две задачи по прологу. Родственники и кол-во слов. | blade288 | Помощь студентам | 1 | 15.06.2009 23:21 |