⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch07ex10.pro

📁 prolog,人工智能推理程序,运行环境prolog
💻 PRO
字号:
/*
   Turbo Prolog 2.0 Chapter 7, Example Program 9
   
   Copyright (c) 1986, 88 by Borland International, Inc
   
*/
   
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Simple tree-building procedures                                         *
 * create_tree(A, B) puts A in the data field of a one-cell tree giving B  *
 * insert_left(A, B, C) inserts A as left subtree of B giving C            *
 * insert_right(A, B, C) inserts A as right subtree of B giving C          *
 *									   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

domains
   treetype = tree(string, treetype, treetype) ; empty()

predicates
   create_tree(string, treetype)
   insert_left(treetype, treetype, treetype)
   insert_right(treetype, treetype, treetype)

clauses
   create_tree(A, tree(A, empty, empty)).
   insert_left(X, tree(A, _, B), tree(A, X, B)).
   insert_right(X, tree(A, B, _), tree(A, B, X)).

goal

   /* First create some one-cell trees... */

   create_tree("Charles", Ch),
   create_tree("Hazel", H),
   create_tree("Michael", Mi),
   create_tree("Jim", J),
   create_tree("Eleanor", E),
   create_tree("Melody", Me),
   create_tree("Cathy", Ca),

   /* ...then link them up... */

   insert_left(Ch, Mi, Mi2),
   insert_right(H, Mi2, Mi3),
   insert_left(J, Me, Me2),
   insert_right(E, Me2, Me3),
   insert_left(Mi3, Ca, Ca2),
   insert_right(Me3, Ca2, Ca3),

   /* ...and print the result. */

   write(Ca3), nl.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -