Пролог. Задача Решена Плз Помогите Построить Дерево Вывода!

Тема в разделе "Другие", создана пользователем KalinaK, 4 ноя 2013.

  1. KalinaK

    KalinaK New Member

    Регистрация:
    30 окт 2013
    Сообщения:
    2
    Симпатии:
    0
    решила задание на прологе 5.2 помогите плз построить дерево вывода.

    задание состояло в том, чтобы к нижеприведенной задаче добавить предикат segment( N,L ),
    здесь N,L список чисел.
    Предикат истинен если:N 0, L =[0,…,N].
    Пример: segment ( 2, [0,1,2] ) - истинна (yes) .
    Цель – segment ( 4 , L ).



    /****************LISTS************** *****/
    DOMAINS
    x=integer
    l_x=x*

    PREDICATES
    segment(x,l_x)
    generate(x,x,l_x)


    CLAUSES
    generate(N,N,[N]).
    generate(M,N,[M|T]):-
    M<N,
    M1=M+1,
    generate(M1,N,T).


    segment(N,L):-
    generate(0,N,L).



    goal
    %segment(2,[0,1,2]).
    segment(4,L).
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Что-то конкретное не получается? - я не понимаю какие проблемы могут быть с деревом вывода - нет ничего проще чем построить его...но у меня сканера нет - рисовать тяжело мышкой.

    берете этот кусок:
    generate(N,N,[N]).
    generate(M,N,[M|T]):-
    M<N,
    M1=M+1,
    generate(M1,N,T).

    вверху пишите ".", обводите в кружок - это корень дерева
    слева от него рисуете кружок generate(N,N,[N]). и ставите в него стрелку
    справа - кружок generate(M,N,[M|T])

    от правого кружка ведете стрелку в кружок с запятой ","
    от запятой - 3 стрелки в кружки (слева направо) : "M<N", "M1=M+1", "generate(M1,N,T)"

    дерево готово.
     
Загрузка...
Похожие Темы - Пролог Задача Решена
  1. bort
    Ответов:
    1
    Просмотров:
    1.180
  2. KalinaK
    Ответов:
    1
    Просмотров:
    1.607
  3. iiukyr4uk
    Ответов:
    1
    Просмотров:
    1.390
  4. dengul
    Ответов:
    0
    Просмотров:
    1.272
  5. Виктория92
    Ответов:
    0
    Просмотров:
    1.367

Поделиться этой страницей