На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Коротко о разделе:
Здесь разрешается создавать темы, относящиеся к любому языку программирования, для которого не существует раздела на форуме (например, Lisp, Tcl/Tk, FORTRAN и т.д.). Если раздел для нужного Вам языка есть, большая просьба создавать тему в нем.
Вопросы, связанные с JScript, Perl, PHP обсуждаются в разделе WWW Masters.

Обратите внимание:
1. Прежде чем задать вопрос, воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали.
2. Если Ваш вопрос связан с конкретным языком программирования, обязательно укажите название языка в имени темы.
3. Постарайтесь давать темам информативные названия. Темы с названиями типа "Помогите, горю" будут удалены.
4. Помните, чем грамотней будет задан Ваш вопрос, тем больше будет у Вас шансов получить на него ответ. Как правильно задавать вопросы
5. Ипользуйте тег [ code ] ...текст программы... [ /code ] для выделения текста программы.

Просьбы выполнить какую-либо работу за автора в этом разделе не обсуждаются. Темы с подобными просьбами будут перемещены или удалены. Для заказов у нас существуют специальные разделы: Разовые заказы и подработка, ПОМОЩЬ СТУДЕНТАМ.

Если кто не понял (а такие есть) — чтобы за вас решали ваши задачки, идите на другие ресурсы.

Полезные ссылки:
Есть. ;)
Наши Исходники | GPSS (en), GPSS (ru) (!) | Common Lisp | Tcl/Tk | Haskell | Lua
Модераторы: B.V.
  
> Prolog, списки
    Подскажите пожалуйста, как решить поставленную задачу:
    "Определить предикат для объединения элементов двух списков, находящихся в диапазоне от N1 до N2"
    т.е. я ввожу 2 списка, например: [1,2,3,4,5] и [3,4,5,6] затем ввожу N1=2 и N2=4.
    И должен получиться следующий список:[2,3,4,3,4].
    есть код по объединению двух списков
    ExpandedWrap disabled
      domains
      int=integer
      intl=integer*
       
      predicates
       
      inters(intl,intl,intl)
       
      clauses
       
      inters([],L2,L2).
      inters([H|T1],L2,[H|T2]):- inters(T1,L2,T2).
       
      goal
      inters([1,2,3,4,5],[5,7,8,9,10],L),write(L),nl.
    Сообщение отредактировано: Астр0 -
      Цитата Астр0 @
      т.е. я ввожу 2 списка, например: [1,2,3,4,5] и [3,4,5,6] затем ввожу N1=2 и N2=4.
      И должен получиться следующий список:[2,3,4,3,4].

      Нет, должен получиться список [2,3,4,4,5,6].

      ExpandedWrap disabled
        domains
        list = integer*
         
        predicates
        conc(list,list,list)
        sublist(integer,integer,integer,list,list)
         
        goal
        clearwindow,A=2,B=4, sublist(A,B,1,[1,2,3,4,5],L1),
        sublist(A,B,1,[3,4,5,6],L2),conc(L1,L2,L),write(L).
         
        clauses
         
        conc([], L, L).
        conc([H|T], L, [H|T1]):-
        conc(T,L,T1).
         
        sublist(_,_,_,[],[]):-!.
         
        sublist(N1,N2,N,[H|T],[H|T1]):-
          N>= N1, N<=N2,!,
          NN=N+1,
          sublist(N1,N2,NN,T,T1).
         
        sublist(N1,N2,N,[H|T],T1):-
          NN=N+1,!,
          sublist(N1,N2,NN,T,T1).
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0718 ]   [ 16 queries used ]   [ Generated: 29.09.20, 20:44 GMT ]