5 / 5 / 2
Регистрация: 22.10.2012
Сообщений: 248
1

Списки в прологе

18.09.2015, 15:45. Показов 766. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Перенести в конец списка [1, 2, 3, 4, 5] все четные элементы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2015, 15:45
Ответы с готовыми решениями:

Разбор кода на Прологе. Списки
Есть задача: Корнеев, Докшин, Матвеев и Скобелев – жители одного города. Их профессии – пекарь,...

Списки, списки, списки. не все так просто
Написать функцию, которая принимает 2 списка, содержащие одинаковое число строк, затем изменяет...

Как преобразовать вложенные списки из строки в обычные списки?
Доброе утро, форумчане. Подскажите пожалуйста, мне нужно написать скрипт, который разбирает...

Список женихов и невест. Обьеденить списки в списки пар.
Имеется список женихов и невест. каждая запись списка содержит пол, имя, возраст, рост, вес, а...

3
Модератор
Эксперт функциональных языков программированияЭксперт Python
36357 / 19810 / 4147
Регистрация: 12.02.2012
Сообщений: 32,934
Записей в блоге: 13
20.09.2015, 12:12 2
Например, так:

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
domains
int=integer
intl=int*
 
predicates
filtr_odd(intl,intl)
filtr_even(intl,intl)
append(intl,intl,intl)
task(intl,intl)
 
clauses
append([],X,X).
append([H|T],X,[H|Y]) :- append(T,X,Y).
 
filtr_odd([],[]).
filtr_odd([H|T],[H|Z]) :- (H mod 2) <> 0, filtr_odd(T,Z).
filtr_odd([H|T],Z) :- (H mod 2) = 0, filtr_odd(T,Z).
 
 
filtr_even([],[]).
filtr_even([H|T],[H|Z]) :- (H mod 2) = 0, filtr_even(T,Z).
filtr_even([H|T],Z) :- (H mod 2) <> 0, filtr_even(T,Z).
 
task(X,Y) :- filtr_odd(X,Xodd), filtr_even(X,Xeven), append(XOdd,Xeven,Y).
1
5 / 5 / 2
Регистрация: 22.10.2012
Сообщений: 248
24.09.2015, 15:44  [ТС] 3
что нужно написать в "goal"?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36357 / 19810 / 4147
Регистрация: 12.02.2012
Сообщений: 32,934
Записей в блоге: 13
26.09.2015, 18:40 4
Цитата Сообщение от JleHuH213 Посмотреть сообщение
что нужно написать в "goal"
Prolog
1
task([1,2,3,4,5,6],Y).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2015, 18:40
Помогаю со студенческими работами здесь

Дан вектор, элементы которого списки из целых чисел.Заменить на NILL списки с суммой равной 0
Дан вектор, элементы которого списки из целых чисел.Заменить на NILL списки с суммой равной 0.

Списки, как склеить списки между собой?
Ребят, привет всем, есть код, в классе которого описаны несколько методов: добавление элемента в...

Зависимые списки, снова списки и проблема
&lt;div class=&quot;t-product__option js-product-option newselect&quot;&gt; &lt;div class=&quot;t-product__option-title...

Enter в прологе
Всем привет) Тут такой вопрос возник) readchar(Ch) - один символ menu('a') readint(Ch) -...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru