版權(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è)班級(jí): 姓名: 學(xué)號(hào): 起止日期: 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)圖形的符號(hào)。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)的符號(hào)?兩個(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語句,判斷輸出的符號(hào)。搬山游戲問題分析:該題考核算法,計(jì)算機(jī)每次搬山應(yīng)遵循如下原則:1) 當(dāng):剩余山數(shù)目-1=可移動(dòng)的最大數(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)的符號(hào)。搬山游戲:找出游戲?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)的符號(hào)。如果屏幕坐標(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);待添加的隱藏文字內(nèi)容3if(!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 mounta
12、ins left now.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 %
13、d.n,cc+pc);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é)與體會(huì)c語言已學(xué)過一個(gè)學(xué)期了,但它所包含的內(nèi)容是在短短一學(xué)期無法學(xué)精,在兩周的課設(shè)里我更是深有體會(huì)。我不僅鞏固了以前學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。我初步學(xué)會(huì)了論文設(shè)計(jì)的
14、基本方法,學(xué)會(huì)了怎樣去借鑒別人的方法和經(jīng)驗(yàn),知道如何去查找資料和整合處理資料的能力,為大學(xué)畢業(yè)論文打下了初步的基礎(chǔ)。懂得了理論與實(shí)際結(jié)合的重要,理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把理論與實(shí)踐相結(jié)合,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)。同時(shí),體會(huì)到要學(xué)好c語言還有很長的路要走,要想真正掌握好編程技術(shù)一定要付出更多的努力,對于今后的學(xué)習(xí)我覺得要做好一下幾點(diǎn): 1加深對課堂講授內(nèi)容的理解: 老師課堂上講授的c語言的語法規(guī)則,原先聽起來有點(diǎn)困難,不理解。需要課后通過多次上機(jī)練習(xí),加深對它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語言的語法規(guī)定;2熟悉程序開發(fā)環(huán)境:一個(gè)c語言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行;3學(xué)會(huì)上機(jī)調(diào)試程序,學(xué)會(huì)自己找出問題的關(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025歇馬鎮(zhèn)衛(wèi)星村便民服務(wù)中心裝修工程項(xiàng)目承包合同
- 2025小額貸款公司借款合同模版(個(gè)人)合同范本
- 2025年內(nèi)螺紋銅管項(xiàng)目規(guī)劃申請報(bào)告模稿
- 2025國家工商管理局測繪合同
- 2025年飲料、酒及酒精專用原輔料項(xiàng)目提案報(bào)告模板
- 2025技術(shù)轉(zhuǎn)讓(專利權(quán))合同
- 敬老院活動(dòng)總結(jié)范文15篇
- 春節(jié)主題演講稿范文10篇
- 新學(xué)期開學(xué)勵(lì)志標(biāo)語(合集13篇)
- 新娘父母致辭(集合15篇)
- 聚焦幼兒作品分析的游戲觀察與評(píng)價(jià)
- 開龍IT2021使用手冊
- 胸外科手術(shù)圍手術(shù)期處理
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識(shí)點(diǎn)詳解PPT》
- 配網(wǎng)設(shè)備缺陷分類及管理重點(diǎn)標(biāo)準(zhǔn)
- 反腐倡廉廉潔行醫(yī)
- UI與交互設(shè)計(jì)人機(jī)交互設(shè)計(jì)(第二版)PPT完整全套教學(xué)課件
- GMS要素-持續(xù)改進(jìn)(CI)-上汽通用五菱-課件
- 《插畫設(shè)計(jì)》課程標(biāo)準(zhǔn)
- 高考作文答題卡(作文)
- 在鄉(xiāng)村治理中深化推廣運(yùn)用清單制、積分制、一張圖工作方案
評(píng)論
0/150
提交評(píng)論