




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、浙江萬里學(xué)院集中實(shí)踐課程報(bào)告課程名稱: c程序設(shè)計(jì)實(shí)踐 系 別: 專業(yè)班級: 姓名: 學(xué)號: 起止日期: 2012年9月3日-2012年9月14日 1 實(shí)踐主要內(nèi)容1.1 :繪制余弦曲線和直線的疊加問題。要求cos(x)曲線與直線f(x)=45*(y-1)+31的迭加圖形。cos(x)用“*”表示,f(x)用“+”表示,在兩個(gè)圖形相交的點(diǎn)上則用f(x)圖形的符號。1.2:搬山游戲問題。要求設(shè)計(jì)程序,輸入山的總數(shù)(n)和每次允許搬山的最大數(shù)(k)。再輸入需要搬走山的數(shù)目,打印出要搬多少座山,并提示尚剩余多少座山。雙方輪流搬山直到最后一座山搬完為止。2 練習(xí)完成情況2.1典型題目分析繪制余弦曲線和
2、直線的疊加問題分析:該題要利用坐標(biāo)系和直線和余弦曲線的關(guān)系編寫函數(shù)。關(guān)鍵是要在分別計(jì)算出同一行中兩個(gè)圖形的列方向點(diǎn)坐標(biāo)后,正確判斷相互的位置關(guān)系。搬山游戲問題分析:解決這類問題的基本方法是先進(jìn)行分析,找出游戲?qū)牡囊?guī)律性,然后讓計(jì)算機(jī)按照游戲的規(guī)則,模擬人進(jìn)行游戲。2.2疑難解析繪制余弦曲線和直線的疊加問題分析:該題考核坐標(biāo)系上直線和余弦曲線的表示和循環(huán)語句的嵌套。疑點(diǎn)一:怎樣編寫曲線與直線在坐標(biāo)系上的坐標(biāo)?疑點(diǎn)二;怎樣在各點(diǎn)打印出相應(yīng)的符號?兩個(gè)疑點(diǎn),都要通過循環(huán)結(jié)構(gòu)來設(shè)計(jì)。前者須控制循環(huán)變量(即行方向)不變,求出對應(yīng)的直線與曲線的橫坐標(biāo)。再通過循環(huán)求出各個(gè)行方向上所對應(yīng)的兩線的橫坐標(biāo),表示
3、以y為變量的余弦曲線和直線方程。后者用控制循環(huán)變量(即列坐標(biāo)),利用if語句,判斷輸出的符號。搬山游戲問題分析:該題考核算法,計(jì)算機(jī)每次搬山應(yīng)遵循如下原則:1) 當(dāng):剩余山數(shù)目-1=可移動的最大數(shù)k時(shí),計(jì)算機(jī)要移(剩余山數(shù)目-1)座,以便將最后一座山留給人。 2)對于任意正整數(shù)x,y,一定有:0=x%(y+1)=y。為留下最后一座山,又要控制每次搬山數(shù)不超過最大數(shù),要滿足(n-1)%(k+1)。若結(jié)果為0,即整除無余數(shù),則規(guī)定只搬1座山,以防止冒進(jìn)后發(fā)生問題。3 綜合設(shè)計(jì)3.1分析3.1.1 題目1. 繪制余弦曲線和直線的疊加問題分析:顯示余弦曲線和直線的疊加圖形。.2.有n座山,計(jì)算機(jī)與人輪
4、流搬山。每次搬山不超過k座,誰搬最后一座誰輸。首先輸入山的總數(shù)和每次允許搬山的最大數(shù)。再輸入需要搬走的山的數(shù)目,打印出要搬多少山,并提示尚剩余多少山。直至最后山搬完為止。最后顯示贏家,詢問是否繼續(xù)。若否,則統(tǒng)計(jì)局?jǐn)?shù)和勝負(fù)。3.1.2功能目標(biāo)繪制余弦曲線和直線的疊加:利用坐標(biāo)系和直線和余弦曲線的關(guān)系編寫函數(shù)計(jì)算出同一行中兩個(gè)圖形的列方向點(diǎn)坐標(biāo)輸出相應(yīng)的符號。搬山游戲:找出游戲?qū)牡囊?guī)律性,按照游戲的規(guī)則,設(shè)計(jì)算法,編寫程序,最終統(tǒng)計(jì)出共玩了多少局,雙方勝負(fù)如何。3.1.3運(yùn)行環(huán)境 3.1.4開發(fā)工具winxp c-free3.53.2設(shè)計(jì)繪制余弦曲線和直線的疊加設(shè)計(jì):須知坐標(biāo)系,21個(gè)行坐標(biāo),6
5、3個(gè)列坐標(biāo)。首先應(yīng)對第一個(gè)行坐標(biāo)進(jìn)行計(jì)算,并在一行中打印圖形。即yy=0,屏幕行坐標(biāo)為y=0.1*yy,再利用m=acos(1-y)*10和n=45*(y-1)+31y求出曲線和直線上所對應(yīng)的橫坐標(biāo)m,n。接著利用循環(huán)結(jié)構(gòu)for(x=0;x=62;x+),用if語句將該行每個(gè)橫坐標(biāo)輸出相應(yīng)的符號。如果屏幕坐標(biāo)x=n 或者x=m&x=n,那么在屏幕上顯示的就是“+”,如果屏幕坐標(biāo)x=m, 那么在屏幕上顯示的就是“*”,否則就用“ ”代替。結(jié)構(gòu)圖 yy=0 y=0.1*yy m=acos(1-y)*10 n=45*(y-1)+31 x=0 x=m&x=n| x=n是 否 是 x=m 否輸出“+”
6、輸出“*” 輸出“ ” x=x+1 直到x=62yy=yy+1直到y(tǒng)yn|k1時(shí),再輸出對x賦值。當(dāng)滿足xk|xn時(shí),計(jì)算剩下的值再輸出there are %d mountains left now對值進(jìn)行判斷。若為0,則輸出i win. you are failure,反之用y=(n-1)%(k+1),求出最佳搬山數(shù),并輸出。再計(jì)算剩余n并輸出。判斷n的值,若不為0,返回上步。反之輸出i am failure. you win。接著重新循環(huán)下一局,詢問是否要繼續(xù)比賽。若否,則輸出玩的次數(shù)以及得分和game over!y開始npc=cc=0 g=1gn|k1輸出:玩的次數(shù)以及得分結(jié)束輸出:ho
7、w many mountains do you wish move away:nyrepeat again!輸入:為x賦值xk|xniiiegal,again please!yn輸出:there are %d mountains left now:!nnyy=(n-1)%(k+1)!yy=1ynn=n-y輸出:.i win. you are failure.輸出:copmputer move y mountains away:nny輸出:there are %d mountains left now:cc=cc+1輸出:.i am failure. you win.pc=pc+13.3 詳細(xì)設(shè)
8、計(jì)1繪制余弦曲線和直線的疊加問題;#include#includevoid main() double y;int x,m,n,yy; printf(=this program shows the curve of cos(x)and a line=n) ;printf( * f(x)=cos(x) + g(x)=45*(y-1)+31n);for(yy=0; yy=20; yy+)/對第一個(gè)y坐標(biāo)進(jìn)行計(jì)算并在一行中打印圖形/ y=0.1*yy; /y:屏幕行方向坐標(biāo)/m=acos(1-y)*10; /m: cos(x)曲線上y點(diǎn)對應(yīng)的屏幕列坐標(biāo)/n=45*(y-1)+31; /n: 直線上y
9、點(diǎn)對應(yīng)的列坐標(biāo)/for(x=0;x=62;x+) /x: 屏幕列方向坐標(biāo)/if(x=m&x=n) printf(+); /直線與cos(x)相交時(shí)打印+/else if(x=n) printf(+); /打印不相交時(shí)的直線圖形/else if (x=m|x=62-m) printf(*);/打印不相交時(shí)的cos(x)圖形/else printf( ); /其它情況打印空格/printf(n); 2. 搬山游戲問題:#includevoid main()int n,k,x,y,cc,pc,g;printf(*n);printf(* this is moutain moveing game. *n
10、);printf(* this are n mountains,two personsmove them in *n);printf(* turn.each one each time moves 1 to k mountains,the *n);printf(* one who takes the last stick will lose the game. *n);printf(*n);printf(-game begin-n);pc=cc=0;g=1;for(;) printf(no.%2d game n,g+);printf(-n);printf(how many mpuntains
11、are there?);scanf(%d,&n);if(!n) break;printf(how many mountains are allowed to each time?);doscanf(%d,&k);if(kn|krepeat again!n);while(kn|khow many mountains do you wish move ?);scanf(%d,&x);if(xk|xn) /*判斷搬山數(shù)是否符合要求*/ printf(iiiegal,again please!n);continue; n-=x;printf(there are %d mountains left no
12、w.n,n);if(!n) printf(-i win. you are failure-nn);cc+;else y=(n-1)%(k+1); /*求出最佳搬山數(shù)*/if(!y) y=1;n-=y;printf(copmputer move %d mountains away.n,y);if(n) printf( there are %d mountains left now.n,n);else printf(-i am failure. you win-nn);pc+; while(n);printf(games in total have been played %d.n,cc+pc);
13、printf(you score is win %d,lose %d.n,pc,cc);printf(my score is win %d,lose %d.n,cc,pc);printf(-game over!-n) ;3.4 調(diào)試與作品操作說明1繪制余弦曲線和直線的疊加調(diào)試:2. 搬山游戲 1、主界面 2.第一局輸入各值3,第二局輸入各值,結(jié)束 3,第二局輸入各值,結(jié)束4 實(shí)踐總結(jié)與體會c語言已學(xué)過一個(gè)學(xué)期了,但它所包含的內(nèi)容是在短短一學(xué)期無法學(xué)精,在兩周的課設(shè)里我更是深有體會。我不僅鞏固了以前學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。我初步學(xué)會了論文設(shè)計(jì)的基本方法,學(xué)會了怎樣去
14、借鑒別人的方法和經(jīng)驗(yàn),知道如何去查找資料和整合處理資料的能力,為大學(xué)畢業(yè)論文打下了初步的基礎(chǔ)。懂得了理論與實(shí)際結(jié)合的重要,理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把理論與實(shí)踐相結(jié)合,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動。同時(shí),體會到要學(xué)好c語言還有很長的路要走,要想真正掌握好編程技術(shù)一定要付出更多的努力,對于今后的學(xué)習(xí)我覺得要做好一下幾點(diǎn): 1加深對課堂講授內(nèi)容的理解: 老師課堂上講授的c語言的語法規(guī)則,原先聽起來有點(diǎn)困難,不理解。需要課后通過多次上機(jī)練習(xí),加深對它的理解,在理解的基礎(chǔ)上就會自然而然地掌握c語言的語法規(guī)定;2熟悉程序開發(fā)環(huán)境:一個(gè)c語言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行;3學(xué)會上機(jī)調(diào)試程序,學(xué)會自己找出問題的關(guān)鍵并解決:因?yàn)槌绦蚓帉懲旰?,決不意味著萬事大吉。往往自己認(rèn)為萬無一失的程序,實(shí)際上
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修提升工程合同范本
- 原水供水協(xié)議合同范本
- 廚房剪刀回購合同范本
- 勞務(wù)合同范例電工
- 勞務(wù)協(xié)議押金合同范本
- 化工單元操作模擬試題含答案
- 廠房建造木工施工合同范例
- 人保壽險(xiǎn)合同范本
- 萬能實(shí)習(xí)心得體會
- 醫(yī)美廠家合同范例
- 2025年江蘇南京技師學(xué)院招聘工作人員19人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 華東師大版七年級數(shù)學(xué)下冊“第1周周考”
- DBJ50-T-385-2023半柔性復(fù)合路面技術(shù)標(biāo)準(zhǔn)
- 職業(yè)院校教師人工智能素養(yǎng):內(nèi)涵流變、框架構(gòu)建與生成路徑
- 如何在初中數(shù)學(xué)教學(xué)中提升學(xué)生的核心素養(yǎng)
- (完整版)小學(xué)一年級數(shù)學(xué)20以內(nèi)進(jìn)退位加減法(1600道題)計(jì)算卡
- 2025年包頭鐵道職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2024年道路運(yùn)輸企業(yè)安全生產(chǎn)管理人員證考試題庫
- 北京2024年北京市測繪設(shè)計(jì)研究院面向應(yīng)屆生招聘筆試歷年參考題庫附帶答案詳解
- 2025年減速機(jī)齒輪項(xiàng)目投資可行性研究分析報(bào)告
- 走進(jìn)李白校本 課程設(shè)計(jì)
評論
0/150
提交評論