|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2016, 16:20 | #1 |
Регистрация: 30.05.2016
Сообщений: 3
|
Пояснение листинга "палиндром" - Prolog
Здравствуйте! Нужна помощь. Есть код нахождения палиндрома в списках. Разъясните,пожалуйста,саму суть кода.
Prolog palindrom(L):-pal(L,[]). pal(T,T):- !. pal([_|T],T):- !. pal([H|T],X):-pal(T,[H|X]). |
31.05.2016, 13:26 | #2 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Код основан на сравнениях. Есть какое-то исходное выражение и оно сравнивается с каждым правилом. Если есть совпадение, то выполняется часть справа от :-.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
31.05.2016, 15:55 | #3 |
Регистрация: 30.05.2016
Сообщений: 3
|
|
31.05.2016, 15:58 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Так и обрабатывает как написано. Вы списки в прологе знаете? Что такое H и T для них?
|
01.06.2016, 17:36 | #5 |
Регистрация: 30.05.2016
Сообщений: 3
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" | Sandakan01 | Помощь студентам | 1 | 24.02.2016 03:20 |