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

📄 ans_184.pro

📁 prolog,人工智能推理程序,运行环境prolog
💻 PRO
字号:
/*
   Turbo Prolog 2.0, Answer to Third Exercise on page 184.
   
   Copyright (c) 1986, 88 by Borland International, Inc

   Please note, we have added a KEY associated with each text string
   to make this example a bit more realistic.
*/
domains
  text = string
  KEY = string
  
database - textlink
   link(key,text)
  
predicates
  w_str(string)
  options  
  showtext
  showkey(KEY)
  do_choice(char)
  repeat

goal
    makewindow(1,11,14," HYPER TEXT ",0,0,25,80,1,-1,"崭跃统"),
    repeat,
    clearwindow,
    makewindow(3,10,0,"",23,1,1,78),
    write(" Select your option by selecting first letter"),
    makewindow(2,10,12," Main Menu ",10,30,6,17,1,-1,"诳蕾某"),
    write("Add a new text\n"),
    write("Show all text\n"),
    write("Key text\n"),
    write("Exit program"),
    cursor(0,0),
    readchar(Choice),
    removewindow,
    removewindow,
    do_choice(Choice),
    fail.
    
clauses
  do_choice('a'):-
    not(link(_,_)),!,
    write("Please enter a key for text :"),nl,
    % Your options
    readln(KEY),KEY<>"",nl,nl,
    write("Please enter a line of text :"),nl,
    readln(Text),
    asserta(link(Key,Text)).

  do_choice('a'):-
    write("Please enter a key for text :"),
    write("\nOptions are:\n"),
    options,
    readln(KEY),KEY<>"",
    write("\n\nPlease enter a line of text :"),nl,
    readln(Text),
    assertz(link(KEY,Text)).

  do_choice('s'):-
    showtext,
    readchar(_).

  do_choice('k'):-
    write("enter key:"),nl,
    readln(Key),
    showkey(Key),
    readchar(_).

  do_choice('e'):-
    exit.

  showtext:-
    link(Key,Text),
    write(KEY,"\n",Text),nl,nl,
    fail.
  showtext.

  showkey(KEY):-
    link(Key,Text),!,
    write("\n",Text).
  showkey(Key):-
    write(KEY," is an invalid key."),
    readchar(_).  

  Options:-
    link(_,Str),
    w_str(Str),fail.   
  Options.  

  w_str(""):-!.
  w_str(Str):-
     fronttoken(Str,Sym,Rest),
     write(Sym),nl,
     w_str(Rest).
   
  repeat.
  repeat:-repeat.
   
 

⌨️ 快捷键说明

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