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

📄 fire.pro

📁 人工智能
💻 PRO
字号:
/*****************************************************************************

                        Copyright (c) LKZ
******************************************************************************/


implement fire
    open core

constants
    className = "fire".
    classVersion = "$JustDate: 2008-12-21-15-03 $$Revision: 1.2 ".

clauses
    classInfo(className, classVersion).
domains
    materialclass = common();liquid();electricity();solid().
    way=block();isolation();noe();chem().

class facts - fireDB
    material:(string Mn, materialclass M).
    fireinfo:(string Materialname).
    mc:( materialclass M1,string Fireclass).
    mq:(string FC,way S1).
    mw:(way S2, string W).

class predicates
    fireclass:(string Mn,string Classaname) nondeterm anyflow.
clauses
    fireclass(Mn,Classaname) :-
            fireinfo(Mn),
            material(Mn, CC),
            mc(CC,Classaname).
            
class predicates
    firesolution:(string MN,string WA) nondeterm anyflow.
clauses
   firesolution(MN,WA):-
            fireinfo(MN),
            fireclass(MN,CN),
            mq(CN,Way2),
            mw(Way2,WA).
            
                  
class predicates
        reconsult : (string FileName).
clauses
        reconsult(FileName) :-
            retractFactDB(fireDB),
            file::consult(FileName, fireDB).

class predicates
        checkalong:(string FireName,string X,string Y)nondeterm anyflow.
clauses
        checkalong(FireName,X,Y):-
                         fireclass(FireName,X),
                         firesolution(FireName,Y).


class predicates
       
        repeat:() determ anyflow.
        do:(string X,string Y) nondeterm anyflow.
      /*  typewriter:() nondeterm anyflow.*/
clauses

                 
        
            do("all",Key) :-checkalong(A,X,Y),
                           Key="n",
                           stdIO::writef("% is %\n",A,X),
                           stdIO::write(A,Y,"\n").



           do(FN1,Key) :-
                           checkalong(FN1,X,Y),
                           stdIO::writef("% is %\n",FN1,X),
                           stdIO::write(FN1,Y,"\n"),
                           stdIO::write("continue...y?n?"),
                           Key=console::readLine().
                           

           repeat():-
                           
                           FN=console::readLine(), 
                           do(FN,Key),

                           Key="y",!,
                           repeat.
clauses

    run():-
        console::init(),

 
   
        stdIO::write("Load data\n"),
            reconsult("..\\fire.txt"),
        
        fail.
   run():-  
          stdIO::write("输入all打印所有数据。输入物质名称(Paper,Oil,k...)打印单条数据。\n"),    
            repeat(),
           fail.            
         run():-
            stdIO::write("End of test\n").
end implement fire

goal
    mainExe::run(fire::run).
    

⌨️ 快捷键说明

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