




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、圖形運(yùn)算器之人工智能在接觸CASIO公司的圖形運(yùn)算器Classpad 330的三個(gè)月里,我們通過(guò)討論發(fā)覺(jué)Classpad 的編程功能真的很強(qiáng)大,簡(jiǎn)直就是一個(gè)可以隨身攜帶的 Visual Basic 語(yǔ)言編程器,同時(shí),也是由于一次偶然的機(jī)會(huì),在明白到 iphone4s 的 siri 語(yǔ)音掌握功能給人們所帶來(lái)的便利之后,我便有了編一個(gè)人工智能對(duì)話(huà)程序的想法;【探究目的】利用圖形運(yùn)算器的編程功能,在機(jī)器上實(shí)現(xiàn)一個(gè)便利的人工智能對(duì)話(huà)程序,從而對(duì)運(yùn)算機(jī)算法以及相關(guān)學(xué)問(wèn)有一個(gè)深化的熟悉;【探究過(guò)程】說(shuō)起人機(jī)靈能對(duì)話(huà),我最先想到的是這樣一個(gè)簡(jiǎn)潔的程序:Lbl r 設(shè)置循環(huán)點(diǎn)r 輸入語(yǔ)句,儲(chǔ)存至x 變量Inp
2、utstr x,Hello.If x=m Then Print n 輸出變量nIfend Inputstr x,next talk. ,next talk Goto r 前往循環(huán)點(diǎn)r其中 m 為預(yù)設(shè)問(wèn)題, n 為預(yù)設(shè)回答 通過(guò)判定輸入問(wèn)題是否與預(yù)設(shè)問(wèn)題等價(jià),來(lái)進(jìn)行回答;有了這個(gè)基礎(chǔ),我便有了信心,開(kāi)頭擴(kuò)大這個(gè)數(shù)據(jù)庫(kù)的容量,而 dt 這個(gè)子程序就是那個(gè)時(shí)期的產(chǎn)物;可是很快, 我就遇到了困難,假如要實(shí)現(xiàn)日常的對(duì)話(huà),這個(gè)數(shù)據(jù)庫(kù)將會(huì)變得無(wú)比龐大,由于一旦有一個(gè)字符不同,系統(tǒng)便會(huì)無(wú)法判別,就連大小寫(xiě)甚至句末的空格、句號(hào)、 問(wèn)號(hào)等都要加以區(qū)分,實(shí)在是很麻煩,所以我便開(kāi)發(fā)了如下的挑選化歸程序段:Strlwr
3、 x,x 將字符串x 全部改成小寫(xiě)字母44Strlen x,xl 測(cè)量字長(zhǎng)儲(chǔ)存至xl 變量Chrtonum x,ui,xl ui 取得末位字符對(duì)應(yīng)的機(jī)內(nèi)碼If ui=32 or ui=44 or ui=46 or ui=33 or ui=63 32 代表“ 空格” 的機(jī)內(nèi)碼,代表“ 句號(hào)” 的機(jī)內(nèi)碼,以此類(lèi)推Then Strleft x,xl-1,x x 取得左起至xl-1 的字符串Ifend 于是乎,當(dāng)你輸入“how are you ” 或“how are you.” 或“How are you.” 時(shí),對(duì)于機(jī)內(nèi)變量 x,都是同一個(gè)問(wèn)題“how are you ” ,這樣就有效地節(jié)省了數(shù)據(jù)庫(kù)
4、的空間;然而隨后,在使用的過(guò)程中,我又發(fā)覺(jué),數(shù)據(jù)庫(kù)再大,也仍是有無(wú)法識(shí)別的問(wèn)題,所以,我便想讓它具有學(xué)習(xí)的功能,程序段如下:z=0 z 變量起標(biāo)志作用If x=m Then z=z+1 Print n Ifend If x=m2 If x=m3 以此類(lèi)推就可以擴(kuò)大數(shù)據(jù)庫(kù)容量If z=0 Then lp 運(yùn)行學(xué)習(xí)子程序learning part Ifend 子程序段如下 : q=0 q 變量起標(biāo)志作用If q=1 Then m1=x Inputstr n1 q=q+1 Return 返回主程序Ifend If q=2 Then m2=x Inputstr n2 q=q+1 Return Ifen
5、d If q=3 以此類(lèi)推就可以擴(kuò)大數(shù)據(jù)庫(kù)容量這樣, 它就具有了學(xué)習(xí)的功能;此時(shí)的程序已經(jīng)趨于完善,可當(dāng)我通過(guò)看說(shuō)明書(shū)知道了Strleft 這個(gè)函數(shù)的作用之后,立刻有了新的想法給對(duì)話(huà)程序加上“ 調(diào)用其他程序“ 的功能,程序段如下:運(yùn)算:Strleft x,4,xt xt 取得左起第4 個(gè)字符之前的字符串If at= “ calc ”Then Strmid x,6,xy xy 取得左起第6 個(gè)字符之后的字符串te=StrtoExpxy 將 xy 轉(zhuǎn)換為表達(dá)式并運(yùn)算ExptoStr te,ter 將 te 轉(zhuǎn)換為字符串Print ter Ifend 繪圖:If xt= “ draw ”Then S
6、trmid x,6,xy DelVar f 刪除變量f Define fx=StrtoExpxy 定義變量f 為函數(shù) fx Clrgraph Drawgraph fx 畫(huà)出 fx 的函數(shù)圖象Pause Ifend 調(diào)用其他自制程序:Strleft x,5,xtt If xtt= “ solve ”Then Fc 解一元二次方程程序ifend 掌握程序自身:If x= “ bye ” or “ goodbye” Then Stop 程序終止Ifend If x= “ pause ” If x= “ clear text” 至此,程序的主體已經(jīng)完成,再加上心情和體力這兩項(xiàng)富有人性化的模塊,和富有人
7、性化的提示語(yǔ),整個(gè)程序就算是完成了 , 程序段大致如下:心情模塊:a=Rand1,100)Lbl r a=a-1 If 75a100 Then 顯示好的回答Elseif 25a=75 Then 顯示一般的回答Elseif a=25 顯示差的回答Ifend Goto r 體力模塊:c=rand1,50 Lbl r b=rand 0, 1 c=c-1 If c0 Then Print I am tired. Pause Input v,Want to talk more. Input 1/0 if v b 體力耗盡后,每次都有50% 的幾率結(jié)束程序Then Print Sorry, I am re
8、ally tired. Print “TALK END ”Stop Ifend Ifend Goto r 【探究步驟】1. 開(kāi)機(jī)后,按 Menu 鍵進(jìn)入主菜單,如圖:2. 找到 Program 模塊,通過(guò)觸摸筆單擊的方式進(jìn)入該模塊,如圖:3.單擊左上角的下拉菜單,挑選Variable Manager項(xiàng),如圖;4.單擊左上角的Edit 菜單,挑選Create Folder項(xiàng),如圖:5.輸入文件夾名稱(chēng),單擊OK ,如圖:6.關(guān)閉 Variable Manager,Folder下拉菜單中挑選新建的文件夾進(jìn)入,如圖:7.單擊上方左起其次個(gè)圖標(biāo),輸入主程序名稱(chēng),單擊OK ,如圖:8. 單擊上方左起第一個(gè)
9、圖標(biāo),輸入主程序代碼如下:DispText 顯示文本框SetDecimal設(shè)置為十進(jìn)制rand1,100 . a rand1,50 . c InputStr x,Hello. print Hello. Lbl r rand0,1 . b StrJoin - ,x,y print y if c 0 then print I am tired. pause input v,Want to talk more. input 1/0 if v b then print Sorry,I am really tired. print TALK END stop ifend ifend StrLwr x,x
10、 StrLen x,xl if xl=0 then Print What do you want to say. goto rt ifend ChrToNum x,ui,xl if ui=32 or ui=44 or ui=46 or ui=33 or ui=63 then strleft x,xl-1,x IfEnd StrLeft x,4,xt if xt=calc then StrMid x,6,xy strToExpxy . te ExpToStr te,ter strjoin The answer is ,ter,strr print strr goto rt ifend StrLe
11、ft x,6,xt if xt=draw2d then StrMid x,8,xy DelVar f define fx=strToExpxy Print I am drawing it. DrawGraph fx print Done. pause goto rt ifend StrLeft x,5,xtt if xtt=solve then print I am solving. fc print Done. ExpToStr ua,ua ExpToStr ub,ub StrJoin x .=,ua,strr1 StrJoin x .=,ub,strr2 Print strr1 Print
12、 strr2 goto rt ifend StrLeft x,6,xt if xt=draw3d then StrMid x,8,xy DelVar z14 define z14x,y=strToExpxy3D 繪圖Print I am drawing it. SelOn3D 14 draw3d print Done. pause goto rt ifend lp dt lp2 lbl rt a-1 . a c-1 . c inputstr x,next talk. ,next talk Goto r 留意 1 :fc,lp , dt , lp2都為子程序,分別起學(xué)習(xí)數(shù)據(jù)庫(kù)(輸入),原始數(shù)據(jù)庫(kù)
13、,學(xué)習(xí)數(shù)據(jù)庫(kù) 輸出 的功能,代碼中所涉及的全部語(yǔ)句都可以通過(guò)手動(dòng)輸入的方式“ 依樣畫(huà)葫蘆” 得到,也可以在上方的“Misc ” 、“ I/O ” 、“ Ctrl ” 菜單中找到;留意 2 :9.運(yùn)算器中賦值語(yǔ)句為“. ” 而不是“= ” ;pp ,輸入代碼如下:同理,新建子程序fc,dt , lp, lp2 及幫助程序dt :if x=i do not want to say anything or x=886 or x=goodbye or x=byebye or x=bye Then print So,goodbye. print TALK END Message Goodbye. Sto
14、p IfEnd if a 75 and x=how are you or x=howre you then print Im fine ,thank you. 1. k ElseIf 25 a75 and x=how are you or x=howre you心情模塊的表達(dá)Then print Im just so so. 1. k ElseIf a0 Then -b+ ud/2ua . ux -b- ud/2ua . uy message liang jie PrintNatural ux,x1= PrintNatural uy,x2= IfEnd If ud=0 Then -ub/2ua
15、 . uz message chong gen PrintNatural uz,x1=x2= IfEnd If ud0 then -ub+ ud/2ua . ua -ub- ud/2ua . ub message xv gen PrintNatural ua,x1= PrintNatural ub,x2= ifend return lp: 0. k if x=m1 then print n1 1. k ifend if x=m2 then print n2 1. k ifend if x=m3 then print n3 1. k ifend if x=m4 then print n4 1.
16、k ifend if x=m5 then print n5 1. k ifend if x=m6 then print n6 1. k ifend 以此類(lèi)推,程序便獲得了100 句的記憶力if x=m100 then print n100 1. k ifend Return Lp2: if k=0 then print I cannot understand. print Please teach me. If q=1 then x. m1 inputstr n1,Please teach me.The answer. q+1 . q Return ifend If q=2 then x. m
17、2 inputstr n2,Please teach me.The answer. q+1 . q Return ifend If q=3 then x. m3 inputstr n3,Please teach me.The answer. q+1 . q Return ifend If q=4 then x. m4 inputstr n4,Please teach me.The answer. q+1 . q Return ifend If q=5 then x. m5 inputstr n5,Please teach me.The answer. q+1 . q Return Ifend
18、以此類(lèi)推,程序便獲得了100 句的記憶力If q=100 then x. m100 inputstr n100,Please teach me.The answer. 1. q Return ifend IfEnd return pp: 0 . m1 0 . m2 0 . m3 0 . m4 0 . m5 以此類(lèi)推0 . m96 0 . m97 0 . m98 0 . m99 0 . m100 0 . n1 0 . n2 0 . n3 0 . n4 0 . n5 以此類(lèi)推0 . n97 0 . n98 0 . n99 0 . n100 1. q 0. a 0. b 0. c 10. 運(yùn)行幫助程序 pp ,如圖:11. 運(yùn)行主程序,就可以實(shí)現(xiàn)智能對(duì)話(huà)以及各種各樣的調(diào)用功能了,如圖:【探究反思 & 總結(jié)】1. classpad330 沒(méi)有數(shù)組變量功能,這是最大的遺憾;由于假如有了數(shù)組變量,就可以利用 For to 語(yǔ)句,以空格為標(biāo)志,分割各個(gè)單詞,過(guò)濾掉“please ” 之類(lèi)無(wú)意義的詞匯, 抓關(guān)鍵詞回答疑題,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款 民間借貸 合同范本
- 任意健身合同范本
- 醫(yī)院吊頂合同范本
- 醫(yī)師合同范本
- 獸醫(yī)聘用勞動(dòng)合同范本
- 關(guān)于按揭車(chē)合同范本
- 個(gè)人租賃司機(jī)合同范本
- 出口業(yè)務(wù)合同范本
- 免租期補(bǔ)充合同范本
- 買(mǎi)賣(mài)小區(qū)用地合同范本
- 個(gè)人保證無(wú)糾紛承諾保證書(shū)
- DB51T10009-2024DB50T10009-2024康養(yǎng)度假氣候類(lèi)型劃分
- 華文版六年級(jí)下冊(cè)書(shū)法教案
- 生產(chǎn)安全重大事故隱患檢查表(根據(jù)住建部房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)(2022版)編制)
- 期末模擬測(cè)試卷(試卷)2024-2025學(xué)年六年級(jí)數(shù)學(xué)上冊(cè)人教版
- 2024屆護(hù)士資格考試必考基礎(chǔ)知識(shí)復(fù)習(xí)題庫(kù)及答案(共170題)
- 小學(xué)生防性侵安全教育主題班會(huì)課件
- 幸福心理學(xué)智慧樹(shù)知到答案2024年浙江大學(xué)
- 人教版一年級(jí)數(shù)學(xué)下冊(cè)教案全冊(cè)(完整版下載打印)
- 2024至2030年全球及中國(guó)消費(fèi)電子磁阻隨機(jī)存取存儲(chǔ)器(MRAM)行業(yè)深度研究報(bào)告
- 云南省2023年秋季學(xué)期期末普通高中學(xué)業(yè)水平考試信息技術(shù)(含答案解析)
評(píng)論
0/150
提交評(píng)論