Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 18.11.2016
Сообщений: 14
1

Функции на Swi Prolog

29.11.2016, 17:20. Показов 2231. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, кто-нибудь знает как сделать эту функцию?

Опишите функцию, принимающую в качестве аргумента два списка и возвращающая true, если все элементы, входящие в оба списка, расположены в этих списках в одном и том же порядке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2016, 17:20
Ответы с готовыми решениями:

Как заносить в параметры функции другую функцию в swi prolog?
например, у меня не работает такая функция(этой функцией я хочу реализовать склеивание списка,...

Как переделать программу написанную на Turbo-Prolog в SWI-Prolog?
Ребята подскажите пожалуйста как переделать эту программу написанную на Turbo-Prolog в SWI-Prolog?...

В Turbo-Prolog есть возможность описать Goal. Как это реализовано в SWI-Prolog
Здравствуйте. в Turbo-Prolog есть возможность описать Goal: Goal father(X,_), write(X). И...

Перевод программы из Turbo Prolog в SWI-Prolog
Здравствуйте! У меня есть программа по определению внука Петра III, она написана на Turbo Prolog....

2
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
01.12.2016, 12:06 2
Prolog
1
2
3
incl([], []).
incl([H | T1], [H | T2]) :-
    incl(T1, T2).
Prolog
1
2
3
4
5
2 ?- incl([1,2,4,3,5,1],[1,2,4,3,5,1]).
true.
 
3 ?- incl([1,2,4,5,3,1],[1,2,4,3,5,1]).
false.
хотя это посто сравнение списков, которое Пролог может выполнить и без написания отдельного предиката
Prolog
1
2
3
4
5
5 ?- [1,2,4,3,5,1]=[1,2,4,3,5,1].
true.
 
6 ?- [1,2,4,5,3,1]=[1,2,4,3,5,1].
false.
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
01.12.2016, 16:10 3
Мне кажется, что в задаче имеется в виду, что списки могут различаться. Нужно убедиться, что общие элементы идут в одном и том же порядке.

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
domains
int=integer
intl=int*
 
predicates
 
memb(int,intl)
inters(intl,intl,intl)
task(intl,intl)
 
clauses
    
memb(_,[]) :- fail.
memb(X,[X|_]) :- !.
memb(X,[Y|T]) :- X<>Y, memb(X,T).
     
inters([],_,[]).
inters([X|T],Y,[X|R]) :- memb(X,Y), inters(T,Y,R).
inters([X|T],Y,R) :- not(memb(X,Y)), inters(T,Y,R).     
 
task(X,Y) :- inters(X,Y,R1), inters(Y,X,R2), R1=R2.
2
01.12.2016, 16:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2016, 16:10
Помогаю со студенческими работами здесь

Swi Prolog
Ребята помогите решить задания по SWI Prolog: 1.В списке символов S1, S2, ..., Sn найти длину...

SWI Prolog
Здравствуйте! Помоги пожалуйста с реализацией 4 запроса ( 4. Какого цвета фрукты, которые любят...

SWI Prolog
Скажите пожалуйста как работать в SWI Prolog...я работал на турбопролог, вот например есть там...

SWI Prolog. Неравенства
Помогите, пожалуйста, с задачей. Написать на Swi Prolog предикат,используя уравнение окружности,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru