欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    【教学课件】第十一章LISP程式语言.ppt

    • 资源ID:5663909       资源大小:325.97KB        全文页数:18页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【教学课件】第十一章LISP程式语言.ppt

    1,第十一章 LISP 程式語言,陳維魁 博士儒林圖書公司,2,大綱,簡介劍橋波蘭式常見的函數自定函式控制結構精選習題,3,簡介,LISP(LISt Processing language)發展於1950年代末期主要是應用在人工智慧(artificial intelligence)的領域,又稱為人工智慧的低階語言LISP語言是以解譯器(interpreter)來處理其程式基本的資料結構是S-運算式(S-expression),其中S-運算式又可區分為串列(list)與原子(atom)二種採垃圾收集法(garbage collection)管理記憶體垃圾收集法指的是系統會主動地收集程式中不再使用的記憶體空間優點是減輕了程式設計師的負擔缺點則是每次系統收集不再使用的記憶體往往費時過長,而且不知何時會開始進行收集的動作函數式程式語言,4,劍橋波蘭式,LISP運算式的表示法採劍橋波蘭式(Cambridge-polish form),即前置式加上括號,5,常見的函數,quote對引數不作任何的處理,直接傳回引數的內容setq指定變數的值set指定變數的值 算術函數:加法:plus()減法:difference(-)除法:quotient(/)乘法:times(*),6,常見的函數,car(1)作用:傳回引數的第一個元素(2)限制:引數必須是串列(list)且引數僅有一個(3)實例(car(Pascal Prolog PL/1)Pascal【注意:傳回的結果可能是原子或串列】cdr(1)作用:除去引數的第一個元素後,傳回剩下的串列(2)限制:引數必須是串列且引數僅有一個。(3)實例(cdr(Pascal Prolog PL/1)(Prolog PL/1)【注意:傳回的結果是一串列】,7,常見的函數,rplaca將第一個引數的car以第二個引數的car替代rplacd將第一個引數的cdr以第二個引數的cdr替代append用法為(append a1 a2.an)(b1 b2.bn)其中ai,1 i n,為串列(list),而bi,1 i n,則為ai去掉括號後之結果cons對二個參數作求值的動作,結果是把第一個引數加入第二個引數中以形成新串列,8,常見的函數,length計算參數的長度(length(A B C)=3reverse將參數反轉,9,自定函式,LISP語言提供了使用者以“defun”來自行定義函式。自行定義的函式,結構包含三個部分:(1)函式名稱(2)型式參數串列(3)程式段,(defun 函式名稱(型式參數串列)(程式段)defun提供的功能是將上述(1),(2),(3)連接在一起提供給使用者使用,並不會對(1),(2),(3)中之任何一者作求值的動作,10,述句,LISP語言測試條件的結構稱為述句(predicate)LISP語言常見的述句atom:判斷參數是否為原子(atom)listp:判斷參數是否為串列(list)equal(e1 e2):比較e1與e2 member(e1 e2):限制:e2必須是串列(list)。作用:檢查e1是否為e2的一部分。member函數具有二個引數。其中第二個引數被限定為必須是個串列(list)。member函數的功能是檢查第二個引數中是否出現第一個引數。若結果為真,則傳回在第二個引數中第一個引數出現的位置以後的部份,若結果為假,則傳回nil,11,述句,LISP語言常見的述句plusp:判斷參數的值是否大於0minusp:判斷參數的值是否小於0 zerop:判斷參數的值是否為0 numberp:判斷參數是否為數值 null:判斷參數是否為nil greaterp e1 e2若e1e2,則t若e1=e2,則nil,12,述句,LISP語言常見的述句lessp e1 e2:若e1=e2,則nil and e1 e2.en:若e1、e2、.、en全為true,則t,否則nilor e1 e2.en:e1、e2、.、en中若有一者為true,則t,否則nilnot:若參數值為nil則結果為t,否則為nil,13,LISP 語言的條件式,LISP語言的條件式即為cond結構cond結構可以處理任意數目的參數,這些參數即稱為cond子句每個cond子句由一連串的S運算式所組成cond子句由二個部份所組成第一個部份是要測試的條件第二個部份則是測試的條件成立時必須執行之部份,14,LISP 語言的條件式,語法(cond(條件 1 Exp1)(條件 2 Exp2)(條件 3 Exp3).(條件 n Expn),15,精選習題,LISP程式如下,其作用為何?(defun xxx(S)(cond(null S)0)(atom S)1)(t(plus(xxx(car S)(xxx(cdr S),16,精選習題,試簡述下列LISP函數f的功能,並舉例說明之(defun f(lst)(cond(null lst)nil)(atom lst)(list lst)(t(append(f(car lst)(f(cdr lst),17,精選習題,試簡述下列LISP函數g的功能,並舉例說明之(defun g(list)(cond(null list)nil)(t(append(g(cdr list)(cons(car list)nil),18,精選習題,試簡述下列LISP函數STRANGE的功能,並舉例說明之(defun STRANGE(L)(cond(null L)nil)(atom L)L)(t(cons(STRANGE(car L)(STRANGE(CDR L),

    注意事项

    本文(【教学课件】第十一章LISP程式语言.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开