ліва направо : (L, V, R)
in (tree (X, L, R), XS): - in (L, LS), in (R, RS), append (LS, [X | RS], XS).
in (void, []).
в) знизу вгору : (L, R, V)
post (tree (X, L, R), XS): - pre (L, LS), pre (R, RS), append (RS, [X], RS1), append ( LS, RS1, XS).
post (void, []).
Логіка програми
= tree (tr, string, tr); void = string * append (slist, slist, slist) in (tr, slist) ([], Ys, Ys). ([X | Xs ], Ys, [X | Zs]): - append (Xs, Ys, Zs). (tree (L, X, R), XS):-in (R, RS), in (L, LS), append (LS, [X | RS], XS). (void, []). (tree (tree (void, "b", void), "a", tree (void, "c", void) ), R), write (R).
Список використаних джерел
. Дж. Доорс, А. Р. Рейблен, С. Вадер. ПРОЛОГ - мова програмування майбутнього. - М.: Фінанси і статистика, 1990. p>. Л. Стерлінг, Е. Шапіро. Мистецтво програмування на мові ПРОЛОГ. - М.: Мир, 1990. p>. І. Братко. Програмування на мові Пролог для штучного інтелекту. - М.: Мир, 1990. br/>