版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué) 號(hào): 課 程 設(shè) 計(jì)課程名稱 匯編語(yǔ)言程序設(shè)計(jì)設(shè)計(jì)題目求fibonacci數(shù)列前n項(xiàng)學(xué) 院計(jì)算機(jī)科學(xué)與技術(shù)專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí)姓 名指導(dǎo)教師楊榮英2011年12月30日課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 楊榮英 工作單位: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 題目: 求fibonacci數(shù)列前n項(xiàng)初始條件:理論:完成了匯編語(yǔ)言程序設(shè)計(jì)課程,對(duì)微機(jī)系統(tǒng)結(jié)構(gòu)和80系列指令系統(tǒng)有了較深入的理解,已掌握了匯編語(yǔ)言程序設(shè)計(jì)的基本方法和技巧。實(shí)踐:完成了匯編語(yǔ)言程序設(shè)計(jì)的4個(gè)實(shí)驗(yàn),熟悉了匯編語(yǔ)言程序的設(shè)計(jì)環(huán)境并掌握了匯編語(yǔ)言程序的調(diào)試方法。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求
2、,以及說(shuō)明書撰寫等具體要求)進(jìn)一步理解和掌握較復(fù)雜程序的設(shè)計(jì)方法,掌握子程序結(jié)構(gòu)的設(shè)計(jì)和友好用戶界面的設(shè)計(jì)。具體的設(shè)計(jì)任務(wù)及要求:1) 輸入要求輸出的項(xiàng)數(shù)n;2) 在屏幕上輸出fibonacci數(shù)列的前n項(xiàng);3) 程序采用子程序結(jié)構(gòu),結(jié)構(gòu)清晰;4) 友好清晰的用戶界面,能識(shí)別輸入錯(cuò)誤并控制錯(cuò)誤的修改。在完成設(shè)計(jì)任務(wù)后,按要求撰寫課程設(shè)計(jì)說(shuō)明書;對(duì)課程設(shè)計(jì)說(shuō)明書的具體要求請(qǐng)見(jiàn)課程設(shè)計(jì)指導(dǎo)書。閱讀資料:1)ibmpc匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教程實(shí)驗(yàn)2.42)ibmpc匯編語(yǔ)言程序設(shè)計(jì)(第2版)例6.11時(shí)間安排:設(shè)計(jì)安排一周:周1、周2:完成系統(tǒng)分析及設(shè)計(jì)。周3、周4:完成程序調(diào)試,和驗(yàn)收。周5:撰寫
3、課程設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日1. 設(shè)計(jì)題目求fibonacci數(shù)列前n項(xiàng)2. 設(shè)計(jì)要求2.1設(shè)計(jì)說(shuō)明本程序主要是實(shí)現(xiàn)計(jì)算fibonacci數(shù)列的前n項(xiàng)并且顯示在屏幕上,因此在程序運(yùn)行中,首先要把fibonacci數(shù)列的前n項(xiàng)計(jì)算出來(lái),這里的n有用戶輸入,計(jì)算機(jī)得到n值后會(huì)計(jì)算出數(shù)列,然后后程序會(huì)把得到的前n項(xiàng)顯示在屏幕上。2.2功能要求首先,我們需要輸入要求的fibonacci數(shù)列的項(xiàng)數(shù)。然后,系統(tǒng)把fibonacci數(shù)列前n項(xiàng)顯示在屏幕上。本程序采用數(shù)組來(lái)存儲(chǔ)fibonacci數(shù)列前n項(xiàng)。2.3原始條件及參數(shù)2.2.1首先,我是先輸入要求的f
4、ibonacci數(shù)列的項(xiàng)數(shù),如下圖:1,1,2,3,5,8是輸入6后求得的fibonacci數(shù)列的前6項(xiàng),最后通過(guò)屏幕打印出來(lái)。2.2.2參數(shù)在這個(gè)程序中,主要一個(gè)數(shù)組存放數(shù)據(jù)。3. 設(shè)計(jì)思路3.1設(shè)計(jì)方案及基本流程3.1.1在開(kāi)始編程時(shí),對(duì)于fibonacci數(shù)列的實(shí)現(xiàn),我們想到了數(shù)組,即用數(shù)組來(lái)存放數(shù)列,數(shù)組的項(xiàng)長(zhǎng)短是由輸入的n決定的,而不是事前計(jì)算好很長(zhǎng)的項(xiàng),然后由n的大小來(lái)打印。3.1.2其次,在計(jì)算fibonacci數(shù)列的項(xiàng)的時(shí)候要考慮周到,當(dāng)輸入1或2的時(shí)候計(jì)算機(jī)也要能正確的顯示。3.1.3計(jì)算好數(shù)列的前n項(xiàng)后要正確的顯示在屏幕上,這里用逗號(hào)把各項(xiàng)分開(kāi),看的時(shí)候能夠比較明了和清楚。
5、3.2程序框圖建立fibonacci數(shù)列的前n項(xiàng)并且打印到屏幕上。開(kāi)始保護(hù)堆棧,設(shè)置段寄存器為當(dāng)前值輸出提示文字并輸入n值n>2?屏幕打印數(shù)組值結(jié)束yn調(diào)用計(jì)算fibonacci數(shù)列子程序。利用公式f(n)=f(n-1)+f(n-2),計(jì)算的結(jié)果直接存入數(shù)據(jù)段的數(shù)組屏幕打印數(shù)組的前n 項(xiàng)置數(shù)組前2項(xiàng)為(1,1)4. 程序清單以下為完整的源程序。datareasegmentstring1db'please input the number: ',13,10,'$'string2db13,10,'here is:',13,10,'$
6、39;bufferdb4db?db4 dup(?)numberdb?mulfactdb1feidb254 dup(?)datareaendscodeareasegmentmainprocfarassumecs:codearea,ds:datareastart:pushdssubax,axpushaxmovax,datareamovds,axleadx,string1movah,09int21hleadx,buffermovah,0ahint21hcallconvertnummoval,numberleadx,string2movah,09int21hcallinit;moval,buffer+
7、1;andax,00ffh;movsi,axcalloutputfei;movfeisi+1,24h;leadx,fei;movah,09;int21hretmainendp;=convertnum proc nearpushbxmov si,buffer1and si,00ffhmov cx,simov mulfact,1mov bx,0next:mov al,buffersi+1;cmp al,'0'js exit;cmp al,'9'ja exitsub al,30hand ax,000fhmov dl,mulfactmul dladd bx,axmov
8、al,mulfactmov dl,10mul dlmov mulfact,axdec siloop nextmov number,blpopbxretconvertnumendp;=initprocnearmovcx,alandcx,00ffhandax,00ffhmovsi,1;andsi,00ffhmovfei+1,1movfei+2,1loop1:subcx,2cmpsi,cxjnbexitmovbl,0addbl,feisiaddbl,feisi+1movfeisi+2,blincsijmploop1exit:retinitendp;=outputfeiprocnearmovcl,nu
9、mberandcx,00ffhmovsi,0loop4:cmpsi,cxjzbreakmovax,feisi+1andax,00ffhcalloutputincsijmploop4break:retoutputfeiendp;=outputprocnearpushaxpushbxpushcxpushdxcmpax,100jlg2movbl,100divbladdal,30hmovbh,ahmovdl,almovah,2int21hmoval,bhcbwg2:cmpax,10jlg4movbl,10divblmovbh,ahaddal,30hmovdl,almovah,2int21hmoval,
10、bhcbwg4:addal,30hmovdl,almovah,2int21hmovdl,20hmovah,2int21hpopdxpopcxpopbxpopaxretoutputendpcodeareaendsendstart5. 運(yùn)行結(jié)果運(yùn)行的結(jié)果為fibonacci數(shù)列的前n項(xiàng)顯示在屏幕上,用逗號(hào)把各項(xiàng)分開(kāi)。5. 1當(dāng)輸入時(shí),返回的結(jié)果。5. 2當(dāng)輸入2時(shí),返回的結(jié)果5. 3當(dāng)輸入3時(shí),返回的結(jié)果。5. 4當(dāng)輸入12時(shí),返回的結(jié)果。6. 心得體會(huì)6.1 自我評(píng)價(jià)經(jīng)過(guò)幾天的努力工作,一個(gè)功能簡(jiǎn)單的小系統(tǒng)終于完成了。雖然不是很復(fù)雜,但是仍然有很大的成就感。這個(gè)小系統(tǒng)基本上完成了課程設(shè)計(jì)的要求,
11、能進(jìn)行fibonacci數(shù)列前n項(xiàng)的計(jì)算和顯示,但也有一些局限,比如說(shuō)界面并不是很好看,今后在這方面還需要做相應(yīng)的改進(jìn)。這是我個(gè)人對(duì)系統(tǒng)做的一些簡(jiǎn)單評(píng)價(jià),也許還有更多的地方值得改進(jìn),希望老師給予指出,今后會(huì)改進(jìn)的更好。6.2 心得體會(huì)及開(kāi)發(fā)感悟終于完成一個(gè)完整的小程序,我感到十分高興。感悟很多。在程序的制作過(guò)程中,遇到了很多意想不到的困難,自己一個(gè)人解決起來(lái)有很大的困難,于是也少不了同學(xué)的幫助,深刻體會(huì)到開(kāi)發(fā)程序不只是一兩個(gè)人就能很好的完成的,要大家互相幫助,共同探討問(wèn)題,才能更好的解決困難。對(duì)于本程序(求fibonacci數(shù)列前n項(xiàng)),表面上看去似乎很簡(jiǎn)單,但接下來(lái)遇到的困難就讓我不這么認(rèn)為了。首先數(shù)列的保存我想到了數(shù)列,可是本數(shù)列的前兩項(xiàng)都是1,怎么樣是的輸入1或2時(shí)能夠正確的顯示呢?這個(gè)問(wèn)題困饒了我很久,后來(lái)問(wèn)了一位同學(xué)才得到了比較好的解決辦法。在輸入n值的時(shí)候首先判斷它和2的大小關(guān)系,如果大于2,則定義數(shù)列前兩項(xiàng)為1,且執(zhí)行f(n)=f(n-1)+f(n-2);如果n等于或小于2,則直接打印第一項(xiàng)或前兩項(xiàng)。最后,我覺(jué)得接到一個(gè)任務(wù)不能立刻就下手編程序,而是應(yīng)該先規(guī)劃一下程序,仔細(xì)列出框架和一些關(guān)鍵細(xì)節(jié)的實(shí)現(xiàn)方法,然后在編程,盲目的編寫程序只會(huì)讓以后的工作很難展開(kāi),這些經(jīng)驗(yàn)必將對(duì)以后的學(xué)習(xí)起到重要的作用。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)暑假實(shí)習(xí)報(bào)告范文集合四篇
- 春季開(kāi)學(xué)典禮校長(zhǎng)演講稿集合5篇
- 大學(xué)畢業(yè)生自我鑒定(8篇)
- 幼兒教師辭職申請(qǐng)書集錦9篇
- 地理教師教學(xué)工作計(jì)劃范文
- 順馳太陽(yáng)城二期可行性研究報(bào)告
- 休閑食品的品牌戰(zhàn)略比較
- 七年級(jí)語(yǔ)文下冊(cè)教學(xué)工作總結(jié)
- 借款約束協(xié)議書(2篇)
- 2025年果蔬自動(dòng)清選、分級(jí)設(shè)備合作協(xié)議書
- 提高無(wú)創(chuàng)呼吸機(jī)患者的依從性
- 小兒急性顱內(nèi)壓增高的護(hù)理課件
- 幼兒園幼兒日常行為規(guī)范
- 供應(yīng)鏈質(zhì)量防線:供應(yīng)商質(zhì)量管理的策略、方法與實(shí)踐
- 有限空間作業(yè)安全管理監(jiān)理實(shí)施細(xì)則
- 質(zhì)量管理體系ISO9001-2015標(biāo)準(zhǔn)
- 通信網(wǎng)絡(luò)英語(yǔ)課件
- 山東省高院量刑指導(dǎo)意見(jiàn)實(shí)施細(xì)則
- 高中提前招生考試英語(yǔ)試卷(含答案)諸暨市
- 統(tǒng)編版高中語(yǔ)文選擇性必修中冊(cè) 人應(yīng)當(dāng)堅(jiān)持正義 教學(xué)課件
- DB14∕T 1725.1-2018 數(shù)字煤礦數(shù)據(jù)字典 第1部分:煤礦基本信息、監(jiān)測(cè)監(jiān)控?cái)?shù)據(jù)、安全管理數(shù)據(jù)
評(píng)論
0/150
提交評(píng)論