Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Объединение чётных элементов двух списков
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Дмитрий_Шишков
Guest
 
Сообщений: n/a
По умолчанию 14.08.2006, 16:35

Ребята помогите, срочно нужно решить две задачки на Visual Prolog 5.1. Текст задач ниже. Об оплате договоримся, если сможете помочь пишите на Dimzen@rambler.ru.

1.
Разработать программу на языке программирования Visual Prolog, объединяющую четные элементы 1-го списка, начиная с 3-го элемента, и элементы 2-го списка, начиная с 4-го, в результатирующий список. Сформировать ограничение на данные в запросе. Написать правило, которое отбрасывает ненужные.


2.
Разработать программу на языке программирования Visual Prolog (сформулировать ограничения на данные в запросе), проверяющую, что в списке назодятся два одинаковых элемента.
Ответить с цитированием
  (#2 (permalink)) Старый
KDimanB KDimanB вне форума
Member
 
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.09.2005
По умолчанию 15.08.2006, 00:48

Вот решение (далеко не оптимальное) для SWI-Prologa. Проверок никаких нет, просто находит результат. А насчет денег - так тут отдельный форум где-то был, где за $ задачки решают

Код:
%Одинаковые элементы в списке
%Объединение списков в результирующий
%
%

%Объединение списков в результирующий
twoinone([A1,A2,A3|TailA],[B1,B2,B3|TailB]):-
  chetn(TailA,ObedA),
  chetn(TailB,ObedB),
  write(ObedA),write(ObedB).

chetn([A,_],A).
chetn([X,Y|Tail],[X|Obed]):-
  chetn(Tail,Obed).

%Поиск одинаковых элементов в списке
odinak([A,A|_]).
odinak([A,B|Tail]):-
  odinak([A|Tail]);
  odinak([B|Tail]).
Ответить с цитированием
  (#3 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,958
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 18.08.2006, 13:23

Для VIP5.1.
1. Разработать программу, объединяющую четные элементы 1-го списка, начиная с 3-го элемента, и элементы 2-го списка, начиная с 4-го, в результатирующий список. Сформировать ограничение на данные в запросе. Написать правило, которое отбрасывает ненужные.
Код:
domains
ilist = integer*
predicates
объед(ilist,ilist,ilist)
объед1(ilist,ilist,ilist)
goal объед([1,2,3,4,5,6,7,8,9],[7,6,5,4,3],Ответ).
clauses
объед([_,_|L],[_,_,_|R],T):-объед1(L,R,T).
объед1([A|L],R,[A|T]):-A mod 2 = 0,!,объед1(L,R,T).
объед1([_|L],R,T):-объед1(L,R,T).
объед1([],R,R).
2. Разработать программу (сформулировать ограничения на данные в запросе), проверяющую, что в списке назодятся два одинаковых элемента.
Код:
domains
ilist = integer*
predicates
одинак(ilist)
принад(integer,ilist)
goal одинак([1,2,3,4,5,6,7,8,9]).
clauses
одинак([A|T]):-принад(A,T),!;одинак(T).
принад(A,[A|_]):-!.
принад(A,[_|T]):-принад(A,T).
Ответить с цитированием
Ads
Ответ

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск двух максимальных элементов и обнуление элементов между ними. Navokie С/С++ 8 18.12.2011 18:02
Поиск из двух списков staff Prolog 12 20.10.2011 01:37
Сравнение двух списков zener Prolog 4 28.10.2010 15:40
Вычислить сумму чётных и нечётных элементов массива ZX_Lost_Soul Assembler 1 12.06.2010 23:21
Объединение двух локальных сетей LatentBlo Сетевое программирование 4 31.05.2010 21:14
Объединение двух символных строк Natalina Assembler 1 29.12.2009 16:35
Объединение списков в PDC прологе rare Prolog 18 30.05.2009 17:24
Построчное объединение двух матриц в С Stiker Вопросы начинающих программистов 9 10.12.2007 00:15
Объединение двух массивов Horror Алгоритмы 6 27.11.2007 18:01
Удаление чётных элементов senon_evero Prolog 2 28.10.2005 23:37
CONSTRAINT объединение двух таблиц igora112 Oracle 1 29.09.2005 18:38



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