![]() |
|
Модераторы: Poseidon |
![]()
|
|
| ЗАМУЧИНННЫЙ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.7.2008 Репутация: нет Всего: нет |
Помогите пожалуйста доделать программу!
Среда: Visual Prolog Personal Edition v 5.1-5.2 Дано: список второго уровня с маркерами ("п") Задача № 1: выделить списки с учётом маркера (разбить на подсписки имеющийся список) - выполнено Задача № 2: полученные списки собрать в список второго уровня разделяя маркером (как было…) – не получается :upset: конкретно не получается предикат «набор1(А)» который, по идее, должен склеивать уже промаркированные списки. DOMAINS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------- i_list=integer* s_list=symbol* %---------------------------------------------------------------------------- PREDICATES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------- nondeterm conc(s_list,s_list,s_list) nondeterm list(s_list) nondeterm перебор_s_list_2(s_list,s_list) nondeterm перебор(s_list) nondeterm набор(s_list) nondeterm набор1(s_list) %---------------------------------------------------------------------------- CLAUSES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------- conc([],L,L). conc([H|T],L,[H|T1]):-conc(T,L,T1). %---------------------------------------------------------------------------- list([п,"1","2","3",п,"4","5","6",п,"7","8","9",п]). %---------------------------------------------------------------------------- перебор_s_list_2(А,X1):-conc(_,["п"|R],А),conc(_,["п"|R1],R),conc(X,R1,R),conc(X1,["п"],X),not(conc(_,["п"|_],X1)). %---------------------------------------------------------------------------- перебор(X):-list(А),перебор_s_list_2(А,X). %---------------------------------------------------------------------------- набор(["п"]). набор(А):-перебор(X),conc(X,["п"],А). %---------------------------------------------------------------------------- набор1(В):-набор(Б),набор1(А),conc(А,Б,В). %---------------------------------------------------------------------------- GOAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------- набор(А). %набор1(А). В данном варианте программа даёт решение: А=["п"] А=["1","2","3","п"] А=["4","5","6","п"] А=["7","8","9","п"] 4 Solutions Требуемое решение: А=["п","1","2","3","п","4","5","6","п","7","8","9","п"] 1 Solutions Заранее благодарен. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |