![擦數(shù)游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/30/394025f1-3265-4534-a680-e5c723a82f5c/394025f1-3265-4534-a680-e5c723a82f5c1.gif)
![擦數(shù)游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/30/394025f1-3265-4534-a680-e5c723a82f5c/394025f1-3265-4534-a680-e5c723a82f5c2.gif)
![擦數(shù)游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/30/394025f1-3265-4534-a680-e5c723a82f5c/394025f1-3265-4534-a680-e5c723a82f5c3.gif)
![擦數(shù)游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/30/394025f1-3265-4534-a680-e5c723a82f5c/394025f1-3265-4534-a680-e5c723a82f5c4.gif)
![擦數(shù)游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-9/30/394025f1-3265-4534-a680-e5c723a82f5c/394025f1-3265-4534-a680-e5c723a82f5c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 - 1 -數(shù)據(jù)結(jié)構(gòu)課程數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告設(shè)計報告擦擦 數(shù)數(shù) 游游 戲戲班班 級級:軟件 092 姓姓 名名: 指導(dǎo)教師指導(dǎo)教師: 成成 績績:_ 年 月 日 - 2 -摘要摘要: : 隨著計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)結(jié)構(gòu)在計算機領(lǐng)域內(nèi)顯的尤為重要。而數(shù)據(jù)結(jié)構(gòu)這門學(xué)科,根據(jù)數(shù)據(jù)的不同結(jié)構(gòu)和組織方法以及進行數(shù)據(jù)處理的不同算法,通過分析和比較選擇出較好的設(shè)計方案。擦數(shù)游戲這道題目,對算法和編程能力都有很高的要求。這正體現(xiàn)出了此次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計的特點。對此題,首先要建立一個合適的數(shù)學(xué)模型,根據(jù)數(shù)學(xué)模型用 c 語言編程。建立的數(shù)學(xué)模型,要求計算平均數(shù)的方法,而此題的平均數(shù)分子和分母都要求是整數(shù),這就
2、要對分子和分母進行約束。在用 c 語言編程的時候,要用到的語句主要有判斷語句,輸入和輸出語句等。關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu),數(shù)學(xué)模型,算法,c 語言編程 - 3 - 目目錄錄1.引言引言 .- 4 -2.需需求求分析:分析: .- 5 -3.概要設(shè)計概要設(shè)計 .- 5 -3.1 課程設(shè)計流程圖課程設(shè)計流程圖.- 5 -3.2 主要的數(shù)據(jù)結(jié)構(gòu)及完成本課程設(shè)計所用的方法主要的數(shù)據(jù)結(jié)構(gòu)及完成本課程設(shè)計所用的方法.- 6 -4.詳細設(shè)計詳細設(shè)計 .- 7 -4.14.1 建立數(shù)學(xué)模型建立數(shù)學(xué)模型.- 7 -4.24.2 編寫程序?qū)崿F(xiàn)建立的數(shù)學(xué)模型編寫程序?qū)崿F(xiàn)建立的數(shù)學(xué)模型.- 8 -4.3 程序各個部分的說明程
3、序各個部分的說明.- 10 -5.測試結(jié)果測試結(jié)果 .- 11 -6.調(diào)試分析調(diào)試分析 .- 13 -7.設(shè)計體會設(shè)計體會 .- 15 -8.結(jié)束語結(jié)束語 .- 16 -9.參考文獻參考文獻 .- 16 - - 4 -擦數(shù)游戲擦數(shù)游戲1.引言引言 本次課程設(shè)計的目的本次課程設(shè)計的目的:是對數(shù)據(jù)結(jié)構(gòu)所學(xué)內(nèi)容的進一步的理解與鞏固,是將計算機課程與實際問題相聯(lián)接的關(guān)鍵步驟。通過課程設(shè)計,能夠提高分析問題、解決問題,從而運用所學(xué)知識解決實際問題的能力。實驗環(huán)境實驗環(huán)境:window 2000 及以上,c-free 所有版本,turbo2.0實驗的任務(wù)要求實驗的任務(wù)要求:任務(wù):任務(wù):對擦數(shù)游戲建立數(shù)學(xué)模
4、型,找合適的工具編寫程序要求:要求:1. 完成需求分析2. 建立數(shù)學(xué)模型3. 用 c 語言編寫程序4. 調(diào)試2.需求分析:需求分析:在黑板上從 1 開始寫出一組連續(xù)的自然數(shù),然后擦去其中的一個數(shù) k,其余的 - 5 -數(shù)的平均值為 a/b(a,b 為整數(shù))。試編寫程序求出被擦去的數(shù) k。仔細閱讀題目,就可以發(fā)現(xiàn)這道題目對算法的要求比較高,正好能體現(xiàn)這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計的目的。在軟硬件方面對系統(tǒng)的需求,軟件要求易學(xué),界面友好,容易掌握,因此可以選用 c-free3.5。硬件的配置要求也不需要很高,學(xué)校提供的機房就行了3.概要設(shè)計概要設(shè)計 3.1 課程設(shè)計流程圖課程設(shè)計流程圖 開始輸入最后一個自然
5、數(shù) n輸入刪除數(shù) k 后的平均值 a/b你輸入的平均數(shù)錯誤是否(n-1)%b=0(p-n)/(n-1)/b)=a=(p-1)/(n-1)/b)所刪除的數(shù)是 k圖 1結(jié) 束 - 6 -3.2 主要的數(shù)據(jù)結(jié)構(gòu)及完成本課程設(shè)計所用的方法主要的數(shù)據(jù)結(jié)構(gòu)及完成本課程設(shè)計所用的方法在黑板上從 1 開始寫出一組連續(xù)的自然數(shù),然后擦去其中的一個數(shù) k,其余的數(shù)的平均值為 a/b(a,b 為整數(shù))。試編寫程序求出被擦去的數(shù) k。分析題目,可以知道:1. 這組數(shù)是從 1 開始的一組連續(xù)的自然數(shù);2. 擦去其中的一個數(shù) k 后,其余的數(shù)的平均值 a/b;3. a,b 為整數(shù);4. 這一組數(shù)需自己輸入,平均數(shù) a/b
6、 為已知,但也必須自己輸入;5.刪去一個數(shù) k 后,平均數(shù)有范圍,需對 a/b 加一個范圍,方便輸入。4.詳細設(shè)計詳細設(shè)計 4.14.1 建立數(shù)學(xué)模型建立數(shù)學(xué)模型在黑板上從 1 開始寫出一組連續(xù)的自然數(shù),然后擦去其中的一個數(shù) k,其余的數(shù)的平均值為 a/b(a,b 為整數(shù))。試編寫程序求出被擦去的數(shù) k。分析題目,首先假設(shè)這一組連續(xù)的自然數(shù)的最后一個數(shù)為 n則這一組數(shù)的總和為p=1+2+n= n(1)2n 刪去一個數(shù) k 后,其余的數(shù)的平均值為ab由關(guān)系可知 a1pkbn - 7 -所以 (1)akpnb在這個題目中,這組連續(xù)的自然數(shù),平均數(shù)都為已知,但都需要輸入者自己輸入。這組連續(xù)的自然數(shù)無
7、需再加任何條件就可以輸入,但平均數(shù)是有一個范圍的。通過對上述模型的分析,就可以對平均數(shù) a/b 做一個限制。其中:b 為擦了一個數(shù) k 后,這組數(shù)的個數(shù) n-1 的約數(shù),即 (n-1)%b=0在 b 的基礎(chǔ)上,再對 a 加一個條件,即 (p-n)/(n-1)/b)=a=(p-1)/(n-1)/b)這樣通過輸入 n,a 和 b 就可以得到被刪除的數(shù) k。4.24.2 編寫程序?qū)崿F(xiàn)建立的數(shù)學(xué)模型編寫程序?qū)崿F(xiàn)建立的數(shù)學(xué)模型#includeint main() int n,k,a,b,i,j,q; int p=0; printf(-|n); printf( 請輸入這組自然數(shù)的最后一個數(shù):); scan
8、f(%d,&n); if(n0) printf(-|n); printf( n 必須為自然數(shù):); printf(-|n); - 8 - else for(i=1;i=n;i+) p=p+i; printf(-|n); printf( 1n 這 n 個數(shù)之和為 p=%dn,p); printf(-|n); printf( 請輸入擦除一個數(shù) k 后的平均數(shù) a/b .n); printf(-|n); printf( 其中:n); printf( b 是%d 的約數(shù).n,n-1); printf(-b=); scanf(%d,&b); printf(n); if(n-1)%b!=0) printf
9、(你輸入的 b 不正確!); printf(-|n); else j=(p-n)/(n-1)/b); q=(p-1)/(n-1)/b); printf( a 必須是%d 與%d 中的一個整數(shù).nn,j,q); printf(-a=); scanf(%d,&a); printf(n); if(aq) - 9 - printf(-|n); printf( 在這組數(shù)中 a 不可能為這個數(shù)!n); else k=p-a*(n-1)/b); printf( 則所刪除的數(shù) k 為%dn,k); printf(-|n); 4.3 程序各個部分的說明程序各個部分的說明 (1)定義變量定義變量int n,k,a
10、,b,i,j,q; int p=0;(2)計算這組數(shù)的總和計算這組數(shù)的總和 for(i=1;i=n;i+) p=p+i; printf( 1n 這 n 個數(shù)之和為 p=%dn,p);(3)輸入輸入 n,a,b首先輸入這組自然數(shù)printf( 請輸入這組數(shù)的最后一個數(shù):); - 10 - scanf(%d,&n);再輸入 b: printf( b 是%d 的約數(shù).n,n-1);scanf(%d,&b);最后輸入 a: printf( a 必須是%d 與%d 中的一個整數(shù).nn,j,q); scanf(%d,&a);(4)判斷輸入的平均數(shù)是否符合要求判斷輸入的平均數(shù)是否符合要求最用 ifelse
11、語句判斷輸入的平均數(shù)是否正確 if(n-1)%b!=0) printf(你輸入的 b 不正確!); printf(-|n); else j=(p-n)/(n-1)/b); q=(p-1)/(n-1)/b); printf( a 必須是%d 與%d 中的一個整數(shù).nn,j,q); printf(-a=); scanf(%d,&a); printf(n); if(aq) printf(-|n); printf( 在這組數(shù)中 a 不可能為這個數(shù)!n); else k=p-a*(n-1)/b); - 11 - printf( 則所刪除的數(shù) k 為%dn,k); printf(-|n); (5)輸出被刪
12、除的數(shù)輸出被刪除的數(shù) kk=p-a*(n-1)/b);printf( 則所刪除的數(shù) k 為%dn,k);5.測試結(jié)果測試結(jié)果 任選三組數(shù)來測試程序的可行性。(1) - 12 -(2)(3) 程序運行結(jié)果正確。 - 13 -6.調(diào)試分析調(diào)試分析1.輸入的 n 不是自然數(shù):2.輸入 n 為自然數(shù),b 不是(n-1)的約數(shù)3.輸入 n 為自然數(shù),b 是(n-1)的約數(shù),但 a 不在(p-n)/(n-1)/b)=a=(p-1)/(n-1)/b)這個范圍內(nèi): - 14 -4.輸入的 n 為自然數(shù),平均數(shù) a/b 也符合條件,就可以得到被刪除的數(shù) k - 15 -5.在調(diào)試過程中還發(fā)現(xiàn),當(dāng)輸入的 n 過大
13、時,由于計算機配置,結(jié)果在運行的過程中得不到預(yù)期的結(jié)果:7.設(shè)計體會設(shè)計體會經(jīng)過這次課程設(shè)計,我對數(shù)據(jù)結(jié)構(gòu)這門課程有了進一步的理解,對 c 編程有了一定的提高。另外也提高了我分析問題、解決問題,從而運用所學(xué)知識解決實際問題的能力。就比如數(shù)我做的這題,擦數(shù)游戲。初看題目,很簡單的一個數(shù)學(xué)問題,但是再看題目,就會發(fā)現(xiàn)簡單的數(shù)學(xué)題目,用計算機實現(xiàn)就有難度了。因為計算機語言跟現(xiàn)實中的語言是有差別的,需要把數(shù)學(xué)的算法轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)算法,再編程實現(xiàn)。通過這次課程設(shè)計,我發(fā)現(xiàn)了自己平時學(xué)數(shù)據(jù)結(jié)構(gòu)這門課還有很多沒有注意到的地方。雖然說這次的課題順利完成了,但我對數(shù)據(jù)結(jié)構(gòu)這門課的學(xué)習(xí)還沒有完成,以后還必須對數(shù)據(jù)結(jié)構(gòu)進行復(fù)習(xí)鞏固。以前在數(shù)據(jù)結(jié)構(gòu)這門課上,我學(xué)到的僅僅是理論知識,但這次的課程設(shè)計讓我感受到課上的東西用到實際問題的難處。在今后對計算機方面知識的學(xué)習(xí)中,我要注意理論聯(lián)系實際,這樣才可以把學(xué)到的東西運用出來,真正的做到學(xué)以致用! - 16 -8.結(jié)束語結(jié)束語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育行業(yè)在線教育平臺的課程評價體系方案
- 造價咨詢合同
- 2025年天津貨運從業(yè)資格證模擬試題答案解析大全
- 2025年寧德貨物運輸駕駛員從業(yè)資格考試系統(tǒng)
- 電子消費券采購合同(2篇)
- 電力電量分配合同(2篇)
- 電池焊接維修合同(2篇)
- 2024年高考歷史二輪復(fù)習(xí)“12+2+3”專項練第46題選做題專練
- 2024-2025學(xué)年四年級語文上冊第五單元19奇妙的國際互聯(lián)網(wǎng)教案2蘇教版
- 2024-2025學(xué)年高中化學(xué)第二章化學(xué)反應(yīng)與能量第二節(jié)化學(xué)能與電能2發(fā)展中的化學(xué)電源課時訓(xùn)練含解析新人教版必修2
- 早點出租承包合同(2篇)
- 內(nèi)鏡室院感知識培訓(xùn)課件
- 2025年市場拓展工作計劃
- 2025年八省聯(lián)考云南高考生物試卷真題答案詳解(精校打印)
- 2020-2024年五年高考歷史真題分類匯編(山東)專題15 中國古代史(原卷版)
- (房屋建筑部分)工程建設(shè)標準強制性條文版
- 《大學(xué)英語四級詞匯大全》
- 倉庫管理培訓(xùn)課件
- 第六章-1八綱辨證
- 《中國古典建筑》課件
- 礦山生態(tài)修復(fù)施工方案及技術(shù)措施
評論
0/150
提交評論