- 目錄
-
第1篇大學物理實驗課程設計實驗報告 第2篇數(shù)據(jù)庫課程設計實驗報告 第3篇java課程設計實驗報告 第4篇語言課程設計實驗報告 第5篇軟件工程課程設計實驗報告 第6篇課程設計實驗報告 第7篇c語言課程設計實驗報告 第8篇軟件課程設計實驗報告 第9篇c語言程序課程設計的實驗報告 第10篇最新大學物理實驗課程設計實驗報告
篇一 大學物理實驗課程設計實驗報告
北方民族大學
大學物理實驗(設計性實驗)
實驗報告
指導老師:王建明
姓 名:張國生
學 號:XX0233
學 院:信息與計算科學學院
班 級:05信計2班
重力加速度的測定
一、實驗任務
精確測定銀川地區(qū)的重力加速度
二、實驗要求
測量結(jié)果的相對不確定度不超過5%
三、物理模型的建立及比較
初步確定有以下六種模型方案:
方法一、用打點計時器測量
所用儀器為:打點計時器、直尺、帶錢夾的鐵架臺、紙帶、夾子、重物、學生電源等.
利用自由落體原理使重物做自由落體運動.選擇理想紙帶,找出起始點0,數(shù)出時間為t的p點,用米尺測出op的距離為h,其中t=0.02秒×兩點間隔數(shù).由公式h=gt2/2得g=2h/t2,將所測代入即可求得g.
方法二、用滴水法測重力加速度
調(diào)節(jié)水龍頭閥門,使水滴按相等時間滴下,用秒表測出n個(n取50—100)水滴所用時間t,則每兩水滴相隔時間為t′=t/n,用米尺測出水滴下落距離h,由公式h=gt′2/2可得g=2hn2/t2.
方法三、取半徑為r的玻璃杯,內(nèi)裝適當?shù)囊后w,固定在旋轉(zhuǎn)臺上.旋轉(zhuǎn)臺繞其對稱軸以角速度ω勻速旋轉(zhuǎn),這時液體相對于玻璃杯的形狀為旋轉(zhuǎn)拋物面
重力加速度的計算公式推導如下:
取液面上任一液元a,它距轉(zhuǎn)軸為x,質(zhì)量為m,受重力mg、彈力n.由動力學知:
ncosα-mg=0 (1)
nsinα=mω2x (2)
兩式相比得tgα=ω2x/g,又 tgα=dy/dx,∴dy=ω2xdx/g,
∴y/x=ω2x/2g. ∴ g=ω2x2/2y.
.將某點對于對稱軸和垂直于對稱軸最低點的直角坐標系的坐標x、y測出,將轉(zhuǎn)臺轉(zhuǎn)速ω代入即可求得g.
方法四、光電控制計時法
調(diào)節(jié)水龍頭閥門,使水滴按相等時間滴下,用秒表測出n個(n取50—100)水滴所用時間t,則每兩水滴相隔時間為t′=t/n,用米尺測出水滴下落距離h,由公式h=gt′2/2可得g=2hn2/t2.
方法五、用圓錐擺測量
所用儀器為:米尺、秒表、單擺.
使單擺的擺錘在水平面內(nèi)作勻速圓周運動,用直尺測量出h(見圖1),用秒表測出擺錐n轉(zhuǎn)所用的時間t,則擺錐角速度ω=2πn/t
擺錐作勻速圓周運動的向心力f=mgtgθ,而tgθ=r/h所以mgtgθ=mω2r由以上幾式得:
g=4π2n2h/t2.
將所測的n、t、h代入即可求得g值.
方法六、單擺法測量重力加速度
在擺角很小時,擺動周期為:
則
通過對以上六種方法的比較,本想嘗試利用光電控制計時法來測量,但因為實驗室器材不全,故該方法無法進行;對其他幾種方法反復比較,用單擺法測量重力加速度原理、方法都比較簡單且最熟悉,儀器在實驗室也很齊全,故利用該方法來測最為順利,從而可以得到更為精確的值。
四、采用模型六利用單擺法測量重力加速度
摘要:
重力加速度是物理學中一個重要參量。地球上各個地區(qū)重力加速度的數(shù)值,隨該地區(qū)的地理緯度和相對海平面的高度而稍有差異。一般說,在赤道附近重力加速度值最小,越靠近南北兩極,重力加速度的值越大,最大值與最小值之差約為1/300。研究重力加速度的分布情況,在地球物理學中具有重要意義。利用專門儀器,仔細測繪各地區(qū)重力加速度的分布情況,還可以對地下資源進行探測。
伽利略在比薩大教堂內(nèi)觀察一個圣燈的緩慢擺動,用他的脈搏跳動作為計時器計算圣燈擺動的時間,他發(fā)現(xiàn)連續(xù)擺動的圣燈,其每次擺動的時間間隔是相等的,與圣燈擺動的幅度無關(guān),并進一步用實驗證實了觀察的結(jié)果,為單擺作為計時裝置奠定了基礎(chǔ)。這就是單擺的等時性原理。
應用單擺來測量重力加速度簡單方便,因為單擺的振動周期是決定于振動系統(tǒng)本身的性質(zhì),即決定于重力加速度g和擺長l,只需要量出擺長,并測定擺動的周期,就可以算出g值。
實驗器材:
單擺裝置(自由落體測定儀),鋼卷尺,游標卡尺、電腦通用計數(shù)器、光電門、單擺線
實驗原理:
單擺是由一根不能伸長的輕質(zhì)細線和懸在此線下端體積很小的重球所構(gòu)成。在擺長遠大于球的直徑,擺錐質(zhì)量遠大于線的質(zhì)量的條件下,將懸掛的小球自平衡位置拉至一邊(很小距離,擺角小于5°),然后釋放,擺錐即在平衡位置左右作周期性的往返擺動,如圖2-1所示。
f =p sinθ
f
θ
t=p cosθ
p = mg
l
圖2-1 單擺原理圖
擺錐所受的力f是重力和繩子張力的合力,f指向平衡位置。當擺角很小時(θ<5°),圓弧可近似地看成直線,f也可近似地看作沿著這一直線。設擺長為l,小球位移為x,質(zhì)量為m,則
sinθ=
f=psinθ=-mg =-m x (2-1)
由f=ma,可知a=- x
式中負號表示f與位移x方向相反。
單擺在擺角很小時的運動,可近似為簡諧振動,比較諧振動公式:a= =-ω2x
可得ω=
于是得單擺運動周期為:
t=2π/ω=2π (2-2)
t2= l (2-3)
或 g=4π2 (2-4)
利用單擺實驗測重力加速度時,一般采用某一個固定擺長l,在多次精密地測量出單擺的周期t后,代入(2-4)式,即可求得當?shù)氐闹亓铀俣萭。
由式(2-3)可知,t2和l之間具有線性關(guān)系, 為其斜率,如對于各種不同的擺長測出各自對應的周期,則可利用t2—l圖線的斜率求出重力加速度g。
試驗條件及誤差分析:
上述單擺測量g的方法依據(jù)的公式是(2-2)式,這個公式的成立是有條件的,否則將使測量產(chǎn)生如下系統(tǒng)誤差:
1. 單擺的擺動周期與擺角的關(guān)系,可通過測量θ<5°時兩次不同擺角θ1、θ2的周期值進行比較。在本實驗的測量精度范圍內(nèi),驗證出單擺的t與θ無關(guān)。
實際上,單擺的周期t隨擺角θ增加而增加。根據(jù)振動理論,周期不僅與擺長l有關(guān),而且與擺動的角振幅有關(guān),其公式為:
t=t0[1+( )2sin2 +( )2sin2 +……]
式中t0為θ接近于0o時的周期,即t0=2π
2.懸線質(zhì)量m0應遠小于擺錐的質(zhì)量m,擺錐的半徑r應遠小于擺長l,實際上任何一個單擺都不是理想的,由理論可以證明,此時考慮上述因素的影響,其擺動周期為:
3.如果考慮空氣的浮力,則周期應為:
式中t0是同一單擺在真空中的擺動周期,ρ空氣是空氣的密度,ρ擺錐 是擺錐的密度,由上式可知單擺周期并非與擺錐材料無關(guān),當擺錐密度很小時影響較大。
4.忽略了空氣的粘滯阻力及其他因素引起的摩擦力。實際上單擺擺動時,由于存在這些摩擦阻力,使單擺不是作簡諧振動而是作阻尼振動,使周期增大。
上述四種因素帶來的誤差都是系統(tǒng)誤差,均來自理論公式所要求的條件在實驗中未能很好地滿足,因此屬于理論方法誤差。此外,使用的儀器如千
篇二 數(shù)據(jù)庫課程設計實驗報告
數(shù)據(jù)庫課程設計實驗報告
導語:通過本課程設計,培養(yǎng)學生具有c/s模式的數(shù)據(jù)庫應用軟件系統(tǒng)的設計和開發(fā)能力。以下是小編為大家整理的數(shù)據(jù)庫課程設計實驗報告,歡迎大家閱讀與借鑒!
數(shù)據(jù)庫課程設計實驗報告(1)
有關(guān)于數(shù)據(jù)庫實驗的心得體會,總的來說,受益匪淺。在這些天中,我們學到了很多東西,包括建表,導入數(shù)據(jù),查詢,插入。最重要的是我們有機會用電腦自己進行實踐,沒接觸的時候總是覺得它比較深奧或是不可接近的新型語言,盡管自己對c語言非常感興趣,但還是有些心理上的陌生感。學習數(shù)據(jù)庫就和我們平時的其它科目學習一樣感覺它有永無止境的知識,數(shù)據(jù)庫是我在高中時候聽過,到了大學漸漸了解了些,但就其原理性的內(nèi)容還不知道,也就是根本就不清楚什么是數(shù)據(jù)庫,只是知道一個所謂的中國字典里的名詞。我認識它是從我接觸實驗運作開始的,剛開始就是建立數(shù)據(jù)庫,兩種驗證模式,沒什么東西但還覺得不錯。進而就是操作語言了,緊接著就是觸發(fā)器的使用,進而對數(shù)據(jù)庫高級的使用,等等。 開始知道數(shù)據(jù)庫的時候想學,不知道從何而起,不懂的話怎么問,從什么地方學起。后來到大三開學后有數(shù)據(jù)庫原理必修課,非常高興。當時感覺sql sever數(shù)據(jù)庫管理既然是單獨一門課程一定會講的比較細,也能學到真正實用的內(nèi)容。學了這門課以后發(fā)現(xiàn)和我想的基本是一樣的,老師對學生也比較和藹可親,對我們要求也不是很緊。讓每個人都覺得輕輕松松就能把這門課程學完,沒有多么緊張的作業(yè),也沒有太苛刻的要求。
當老師在最后說這個課程結(jié)束了,回顧一下以前老師給我們講過的東西,真的有很多是我們應該去注意的。學習完sql sever數(shù)據(jù)庫后感覺可分兩大塊,一塊是開發(fā),一塊是管理。開發(fā)主要是寫寫存儲過程、觸發(fā)器什么的,還有就是用oracle的develop工具做form。有點類似于程序員。開發(fā)還需要有較強的邏輯思維和創(chuàng)造能力,自己沒有真正做過,但感覺應該會比較辛苦,是青春飯;管理則需要對sql sever數(shù)據(jù)庫的原理有深刻的認識,有全局操縱的能力和緊密的思維,責任較大,因為一個小的失誤就會弄掉整個數(shù)據(jù)庫,相對前者來說,后者更看重經(jīng)驗。這些東西都是從老師哪里和朋友的討論中得到的心得,也希望其他朋友能多多向老師和朋友請教,如果是個人單獨靠自己來完成一個完美的數(shù)據(jù)庫我覺得比較困難,現(xiàn)在基本上都是團隊類型的,而且他們的效率高開發(fā)的周期也快。由于數(shù)據(jù)庫管理的責任重大,很少公司愿意請一個剛剛接觸sql sever的人去管理數(shù)據(jù)庫。對于我們這些初出茅廬的新手而且電子商務的專業(yè),個人認為可以先選擇做管理,有一定經(jīng)驗后轉(zhuǎn)型,去做數(shù)據(jù)庫的開發(fā)。當然,這個還是要看人個的實際情況來定。
sql server數(shù)據(jù)庫的實驗學習使我對數(shù)據(jù)庫的有了新的進步,以后再看到也就不至于什么也不懂,其實那么多數(shù)據(jù)庫我覺得學好一門就行,只是他們的語言可能不大一樣,學好一門后就可去認識其它的,這樣應該有事半功倍的效果。就像我學習c語言,當時不能說是學習的棒,但不算差。所以我對以后的語言感覺都不是很困難,了解了vb、c++還有網(wǎng)頁中用的html語言、asp語言都能看懂,起碼可以對別人的東西進行了一下修改。因此,我感謝數(shù)據(jù)庫老師給了我有用的知識,以便我在以后學習或認識更多的內(nèi)容能有新的方法和思維,也能更加有效和快速的去消化吸收新的`東西。希望在今后中,sql server能給我更多幫助。感謝學校開設這樣一門優(yōu)秀使用的課程,讓我對數(shù)據(jù)庫有了更深的了解。
數(shù)據(jù)庫課程設計實驗報告(2)
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規(guī)范化的文檔。實際上從學習的經(jīng)歷來看,我們接觸的知識體系都是屬于比較老或比較傳統(tǒng)的,與現(xiàn)在發(fā)展迅速的it行業(yè)相比很多情況已不再適用,尤其是當開源模式逐漸走近開發(fā)者后更是如此。
雖然這次是一個數(shù)據(jù)庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數(shù)據(jù)庫以外的設計。對于ooa/ood的開發(fā)模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發(fā)人員已經(jīng)非常熟悉軟件產(chǎn)品了,這對于相當有經(jīng)驗的架構(gòu)師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經(jīng)驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現(xiàn)有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統(tǒng)軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發(fā)的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發(fā)模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數(shù)據(jù)庫設計上了,這次的數(shù)據(jù)庫設計我是嚴格按照數(shù)據(jù)庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發(fā)帶來多大的幫助,反倒是覺得將思維轉(zhuǎn)化為圖表很浪費時間??傮w上來說這次的項目也不是很大,而且在數(shù)據(jù)庫的設計上比較保守,也就是說實際上數(shù)據(jù)庫設計還可以再完善完善的。隨著我對計算機領(lǐng)域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關(guān)系數(shù)據(jù)庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結(jié)構(gòu)來,即便我不知道這些范式的確切含義??赡芫拖瘛胺妒讲惶菀子猛ㄋ滓锥姆绞浇忉尅币粯?,在“讓工具用圖標表述我的思維”時費了一番力氣。
從我作為項目的提出人和實現(xiàn)者來看,這是個失敗的項目,結(jié)合幾次教學項目的的實踐,發(fā)現(xiàn)這也已經(jīng)不是第一次了。主觀原因占多數(shù),比如,嘗試新的開發(fā)方式,根據(jù)設計花了太多的時間來抽象出公用的庫而忽略業(yè)務邏輯。就這次項目而言,失敗的原因有以下幾點:
1、使用了新的開發(fā)環(huán)境(vim),這是首次在脫離高級ide的情況下編碼。
2、使用了新的開發(fā)語言(python,actionscript3),因為我一直比較喜歡“學以致用”,而且這樣的“數(shù)據(jù)驅(qū)動型”軟件的整套自實現(xiàn)的庫都已經(jīng)完成了,但是由于語言本身的差異,遷移時問題很多,當發(fā)現(xiàn)這一點是,已沒有多少有效剩余時間了。
3、編碼流程的不妥,我比較喜歡從底層的庫開始開發(fā),因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交“可運行的代碼”。
4、實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現(xiàn)在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實“遇到的問題數(shù)跟人的能力是成正比的”。
5、客觀原因在這里就不說了。
由于項目還未完成,暫時無法提出需要改進了地方。
篇三 java課程設計實驗報告
一、實驗目的
1、加深對課堂講授內(nèi)容的理解,掌握解決實際應用問題時所應具有的查閱資料、技術(shù)標準和規(guī)范,以及軟件編程、調(diào)試等能力,掌握面向?qū)ο蟮木幊趟枷爰癹ava語言程序設計的規(guī)律與技巧,為進一步學習web應用開發(fā)及今后從事專業(yè)工作打下基礎(chǔ)。
2、 使用本學期學習的java se技術(shù)(也可以使用課堂教學中沒有學習過的java技術(shù),但是應當以java se技術(shù)為主)完成多功能日歷gui程序的設計,使之具有如下基本功能:一年日歷用12頁顯示,每頁顯示一個月的日歷。日歷可以按年或月前后翻動,能夠顯示當前的日期,可以為每頁日歷選擇背景圖片。
3、在完成基本功能的基礎(chǔ)上發(fā)揮自己的想象力與創(chuàng)造力,使程序凸顯出與眾不同的特點與功能,形成本小組的特性色。
二、實驗要求
1、問題描述準確、規(guī)范。
2、程序結(jié)構(gòu)合理,調(diào)試數(shù)據(jù)準確、有代表性、。
3、界面布局整齊,人機交互方便。
4、輸出結(jié)果正確。
5、正確撰寫實驗報告。
三、實驗內(nèi)容
編寫一個gui程序?qū)崿F(xiàn)日歷的功能。一年日歷用12頁顯示,每頁顯示一個月的日歷。日歷可以按年或月前后翻動,能夠顯示當前的日期以及當前農(nóng)
歷,可以為每頁日歷選擇背景圖片??梢詫崿F(xiàn)顯示時鐘,時鐘能進行整點報
時。可以實現(xiàn)備忘記事功能,能在每天添加、修改、刪除記事等操作。
四、實驗步驟
1、在上機實驗前,小組成員進行選題討論,確定小組感興趣而又伸縮性強的題目多功能日歷。
2、在第一次上機實驗時討論分工,分工明確之后,分頭合作進行。
3、各成員完成自己的任務后,最后進行統(tǒng)籌合并,以及程序最后的優(yōu)化。
4、 根據(jù)實驗結(jié)果,寫出合肥工業(yè)大學實驗報告。實驗報告應當包括:實驗內(nèi)容,程序流程圖,類結(jié)構(gòu),程序清單,運行結(jié)果,以及通過上機取得的經(jīng)驗。
5、詳細的上機實驗步驟見任務分工及程序設計進度表。
五、實驗結(jié)果
經(jīng)過小組成員的共同努力,最終我們小組設計的多功能日歷程序能夠?qū)崿F(xiàn)實驗的基本要求——一年日歷用12頁顯示,每頁顯示一個月的日歷。日歷可以按年或月前后翻動,能夠顯示當前的日期,可以為每頁日歷選擇背景圖片。另外,在完成基本要求的基礎(chǔ)上,我們增添了顯示農(nóng)歷、顯示時鐘、添加備忘錄、修改備忘錄等功能。整體程序運行流暢、功能齊全、符合操作習慣。
下面是程序運行效果截圖:
日歷主界面(可以實現(xiàn)每個月的日歷,可以按年或按月前后翻動,能夠顯示當前日期,并能夠選擇背景圖片):
備忘錄主界面(實現(xiàn)備忘錄的添加,及當前日歷的顯示):
備忘錄主界面(實現(xiàn)備忘錄的顯示,及對當前備忘錄的'修改刪除等):
時鐘主界面(顯示當前時間,實現(xiàn)報整點報時功能):
六、實驗總結(jié)
兩周的課程設計結(jié)束了,在這其中歷盡酸甜苦辣咸各種滋味,不過收獲頗豐。從學習c語言、數(shù)據(jù)庫等等計算機編程類課程開始,自己始終有種感覺,那就是太理論化了、缺少實踐。而這次的java程序設計可以說與以往大不相同,先是在課堂上老師講述了有關(guān)的基礎(chǔ)理論、基本語法知識,而后再加上這兩周的課程設計,可以說是真正能夠體會到程序編程的樂趣,也第一次發(fā)現(xiàn)自己原來對程序設計是如此的感興趣。尤其是由于課程時間較緊,課上時間老師只是簡單給我們講述了一下java swing的基礎(chǔ)知識,并沒有去深入,而在此次課程設計中大量用到的監(jiān)聽事件的有關(guān)知識需要自己去查標準文檔,去網(wǎng)上找相關(guān)系料,這無疑對自己是一個挑戰(zhàn)。但是兩周下來,我做到了,我獨立完成了對備忘錄程序的編寫,累積下來這部分共涉及到包括action listener,mouse listener,menu listener,document listener等各種各類監(jiān)聽18個監(jiān)聽,分為6個類,累計完成程序千余行。而給我印象最深刻的便監(jiān)聽了,可以說是整個備忘錄的大部分代碼都是與監(jiān)聽相關(guān),這也是讓我我學會了對程序監(jiān)聽的運用,當然只是學會遠遠談不上精通。
java課程設計實驗報告
篇四 語言課程設計實驗報告
語言課程設計實驗報告
古往今來,語言就是人與人之間溝通的工具,它是豐富多彩的,也是變化多端的。沒有它,人與人之間將很難溝通,人類社會將是毫無生機。那么怎么寫一份實驗報告呢?下面和小編一起來看看吧!
語言課程設計實驗報告
一、 目的、要求
通過該課程設計要使學生樹立起強烈的工程化意識,用工程化思想和方法開發(fā)軟件。切實體會出用軟件工程的方法開發(fā)系統(tǒng)與一般程序設計方法的不同之處,學生在對所開發(fā)的系統(tǒng)進行軟件計劃、需求分析、設計的基礎(chǔ)上,實現(xiàn)并測試實際開發(fā)的系統(tǒng)。通過一系列規(guī)范化軟件文檔的編寫和系統(tǒng)實現(xiàn),使學生具備實際軟件項目分析、設計、實現(xiàn)和測試的基本能力。
二、 主要內(nèi)容
要求學生掌握軟件工程的基本概念、基本方法和基本原理,為將來從事軟件的研發(fā)和管理奠定基礎(chǔ)。每個學生選擇一個小型軟件項目(內(nèi)容參照《計算機綜合實踐指導》,宋雨等編著,清華大學出版社出版),按照軟件工程的'生命周期,完成軟件計劃、需求分析、軟件設計、編碼實現(xiàn)、軟件測試及軟件維護等軟件工程工作,并按要求編寫出相應的文檔。具體的方法可以選用傳統(tǒng)的軟件工程方法或者面向?qū)ο蟮姆椒?,開發(fā)環(huán)境和工具不限。
三、 進度計劃
四、 設計成果要求
1.至少提交4個文檔,包括軟件計劃、軟件需求規(guī)格說明書、軟件設計說明書、軟件測試
計劃,要求文檔格式規(guī)范、邏輯性強(可參考《計算機綜合實踐指導》中給出的要求及格式)、圖表規(guī)范;
2.獨自實現(xiàn)了系統(tǒng)的某些功能,基本達到了要求的性能,經(jīng)過了測試,基本能運行。
五、 考核方式
(1)提交的文檔規(guī)范,工作量大,文檔邏輯性強、正確,按《計算機綜合實踐指導》標準考核(附《軟件工程課程設計》實驗報告評分表)占60%
(2)系統(tǒng)驗收、講解、答辯 占25% (3)考勤占15%
一、 課程設計的目的與要求
1. 課程設計目的
軟件工程課程設計是學習軟件工程課程后所進行的實踐環(huán)節(jié),目的是培養(yǎng)學生用工程化的思想和標準文檔化的思想進行軟件開發(fā)。本次課程設計通過開發(fā)一個小型實用的軟件系統(tǒng),親身體驗軟件生命周期中的各個環(huán)節(jié),以加深對軟件工程課程的深入理解、鍛煉獨立分析、解決問題的能力。
2. 課程設計要求
2.1 課程設計準備
1)復習軟件工程課程的主要內(nèi)容,熟練掌握軟件生命周期的理論以及各階段的基本概念。
2)明確可行性分析、需求分析、設計、測試等階段的基本任務和基本方法。 3)熟練運用規(guī)范化的描述方法和文檔,描述軟件開發(fā)的各個階段。 4)熟悉開發(fā)環(huán)境和開發(fā)工具。
2.2 內(nèi)容要求
1)對所設計和實現(xiàn)的系統(tǒng)進行可行性分析,提交可行性分析報告;
2)對系統(tǒng)進行需求分析,可以選擇傳統(tǒng)的分析方法或者面向?qū)ο蟮姆治龇椒?,提交軟件需求?guī)格說明書(srs);
3)在srs的基礎(chǔ)上進行軟件的概要設計和詳細設計,提交軟件設計文檔; 4)遵循上述文檔的要求,實現(xiàn)軟件;
5)對所實現(xiàn)系統(tǒng)進行軟件測試,完成軟件測試報告。
二、 設計正文
1. 可行性分析報告
1.1 項目簡介
1.1.1 項目目標
隨著社會的發(fā)展、網(wǎng)絡的普及,生活中有許許多多的事情可以通過網(wǎng)絡解決。比如在網(wǎng)上查詢火車票以及預訂火車票等等。然而網(wǎng)上預訂火車票預訂系統(tǒng)誕生了,開發(fā)火車票預訂系統(tǒng)主要是幫助人們 能夠及時購買火車票,查詢火車出發(fā)時間,節(jié)約人們的時間和精力。 1.1.2 系統(tǒng)的簡要描述,主要功能
用戶可以在本系統(tǒng)查詢票價、余票,然后通過注冊登錄進行預訂車票,若沒有登錄則不能預訂車票和查看我的訂單。一般的用戶可以通過本網(wǎng)站選擇出發(fā)地點和到達地點來查詢車票,然后進行車票預訂,用戶還可以通過我的訂單來進行對預訂的車票進行退票和查詢自己預訂的車票詳細信息。
1.2 對現(xiàn)有系統(tǒng)的分析
1.2.1 處理流程和數(shù)據(jù)流程(系統(tǒng)流程圖)
1.2.2 對現(xiàn)有系統(tǒng)的其他說明
本軟件在開發(fā)過程中,分為技術(shù)實現(xiàn)與使用軟件說明書兩大部分,這兩部分都有它的重要之處,若技術(shù)支持出現(xiàn)故障或疑難問題無法解決、程序開發(fā)出現(xiàn)偏差,程序嚴重錯誤而不解的,會影響開發(fā)軟件的進度和該軟件不能按期完成。若軟件說明書陳述出現(xiàn)問題,那出現(xiàn)部分描述含糊不清,則會影響該軟件的完整性與可繼承性。
篇五 軟件工程課程設計實驗報告
在我們整個軟件工程過程中,我體會到了許多,也學到了許多。
在項目要進行自由分組后,我們的項目小組便誕生了。我們小組由3個成員組成,在相互商量后我們也確定了我們組的項目,是做一個校園文件管理系統(tǒng)。我們也隨即做了分工,。我們的項目也正式開始了。
需求調(diào)研和分析對于軟件開發(fā)過程至關(guān)重要。我們在開發(fā)時如果不進行調(diào)研和分析,那么對于后來的項目進展將產(chǎn)生致命的后果。我們在項目的開發(fā)中便遇到了這樣的問題。我們開始自己隨意的計劃整個系統(tǒng)的設計,然后報給老師,老師作為一個客戶并不是全部認同,隨后我們也必須按著客戶的要求更改我們的設計報告。我也明白了,再做一個系統(tǒng)時,必須隨時和客戶保持溝通,隨時了解他們需要什么,他們想要什么功能。如果我們不去和客戶溝通,不去調(diào)研客戶的需求,做出來的系統(tǒng)即使在我們看來是一個很好,很完美的產(chǎn)品,但是如果客戶不認同,那么我們所做的一切都是徒勞,還要返工去修改,費時費力。所以在做任何一個項目時,前期的需求調(diào)研和需求分析都是必須的,這是在做一個項目的基本,是關(guān)系成敗的重要一環(huán)。
對于一個項目,它的需求設計也非常重要。在我們的文件管理系統(tǒng)開發(fā)的過程中,遇到了一些問題,出現(xiàn)的這些問題很多都是非常棘手的,我們?yōu)榱私鉀Q這些棘手的問題浪費了大量的時間,我們不得不在工程代碼上改了又改,在數(shù)據(jù)庫里增表、刪表、加數(shù)據(jù)、減數(shù)據(jù),當然,在文檔里也要做出相應的修改以適應新的功能。還好,我們能及時地發(fā)現(xiàn)問題,通過相互溝通討論,問題也得到了解決。通過總結(jié),我們也意識到,我們大家在做需求分析和進行需求了解時僅僅考慮了一些基本的功能,而至于管理員和客戶之間的聯(lián)系,以及具體的一些流程我們都沒有深究,而導致我們到后期花費了大量的時間用于修復之前沒有考慮周全而帶
來的問題。如果我們的需求設計能夠比較清晰和完善,那么我們在開發(fā)過程中便會很明白的知道我們應該實現(xiàn)什么樣的功能,在數(shù)據(jù)庫里應該怎樣建表,以什么方式插入數(shù)據(jù),從而可以避免反復修改工程的問題,也能避免出現(xiàn)可能毀壞整個工程的問題。整個工程的需求設計對于一個項目的順利進展至關(guān)重要。
對于文檔在軟件工程中的作用,我在這次項目開發(fā)過程中有了更加深刻的理解。文檔在軟件開發(fā)過程中是很有用的,文檔是一項必不可少的東西,但文檔也不能太多,太過繁瑣,如果是那樣就不太好了。首先我們要明確開發(fā)過程中為什么要寫這些文檔,文檔的最根本的作用是為了更好的溝通。一個項目或產(chǎn)品可能需要延續(xù)很長的時間,開發(fā)過程中可能需要很多的環(huán)節(jié),可能會遇到很多的問題和很多的解決的方法,這時,我們需要文檔的幫助,我們需要有一個東西來記錄,我們需要有一個共同的聲音。文檔只不過是一個準繩,將開發(fā)中的各個樹枝樹葉扶正。如果,這個準繩太多太緊,大樹可能會發(fā)育的很高很直,但是就是有些畸形,如果這個準繩太少太松,大樹可能就會變成灌木叢。文檔的多少、繁簡是有度的,絕對不能說越多越好。我覺得,文檔需要說明解決問題的方法而不是解決問題的理論,因為解決問題的理論是在文檔形成中做到的。文檔完整即可,每一份文檔說明一個問題,無需將多個文檔的內(nèi)容放在一個文檔的里面。除了重要階段形成文檔,其它部分都只是討論或者說是想法。不要讓文檔成為累贅,如果真是這樣,我認為就是該考慮寫這些文檔的必要性的時候了。 我們在文檔的`時候,一定要明白為什么要寫這些。
在整個項目開發(fā)過程中,我們也同時遇到了許多程序接口問題,頁面和功能相結(jié)合的問題,數(shù)據(jù)庫建表的問題,這些問題都是源于我們項目小組成員之間的溝通不足。我深刻認識到,在項目開發(fā)時,項目小組中各個成員之間的相互溝通是非常重要的。如果我們要在功能方面作出修改,那么程序人員和頁面人員及數(shù)據(jù)庫人員就必須相互溝通,共同對整個程序作出相應的修改,這樣才能避免最終整合時出現(xiàn)問題。
在這十個周里,我還對軟件工程有了新的理解。在我以前的理解當中,軟件工程,無非就是一個人或者幾個人或一個團隊集中在一起進行編寫代碼的工作,以實現(xiàn)開發(fā)出所用的軟件。但現(xiàn)在我明白了,軟件工程的作用,就是告訴人們怎樣去開發(fā)軟件和管理軟件。具體地講,它表現(xiàn)在與軟件開發(fā)和管理有關(guān)的人員和過程上。所以,軟件工程就不僅僅是單一的編程過程了。它包括了系統(tǒng)分析->;建模->;概要設計->;詳細設計->;編碼->;測試->;維護。編碼可以理解為編程,這個只占總時間的20%左右。編程只是其中的一小部分。
在這次項目里我完成了許多工作,在界面設計上我完成了,首頁、全部的商品頁面、全部的用戶頁面及部分管理員頁面的制作,在后期項目整合過程中修改了功能和界面結(jié)合時出現(xiàn)的bug,還有數(shù)據(jù)庫插入數(shù)據(jù)及解決數(shù)據(jù)庫集中整合時出現(xiàn)的問題。這些工作我都順利完成了,雖然并不能算是非常的出色,但也算是盡力了。現(xiàn)在看到自己辛勞的成果,我感到很欣慰。
當然,在這次項目過程中我也發(fā)現(xiàn)了自己的一些問題。如現(xiàn)在的網(wǎng)站開發(fā)技術(shù)還不夠強,在和小組成員相互溝通上還不夠積極等。我希望以此為契機,在將來的項目開發(fā)中能做得更好。
軟件工程課程設計實驗報告
篇六 課程設計實驗報告
一、實驗目的
1.加深對課堂講授內(nèi)容的理解,掌握解決實際應用問題時所應具有的查閱資料、技術(shù)標準和規(guī)范,以及軟件編程、調(diào)試等能力,掌握面向?qū)ο蟮木幊趟枷爰癹ava語言程序設計的規(guī)律與技巧,為進一步學習web應用開發(fā)及今后從事專業(yè)工作打下基礎(chǔ)。
2. 使用本學期學習的java se技術(shù)(也可以使用課堂教學中沒有學習過的java技術(shù),但是應當以java se技術(shù)為主)完成多功能日歷gui程序的設計,使之具有如下基本功能:一年日歷用12頁顯示,每頁顯示一個月的日歷。日歷可以按年或月前后翻動,能夠顯示當前的日期,可以為每頁日歷選擇背景圖片。
3.在完成基本功能的基礎(chǔ)上發(fā)揮自己的想象力與創(chuàng)造力,使程序凸顯出與眾不同的特點與功能,形成本小組的特性色。
二、實驗要求
1.問題描述準確、規(guī)范。
2.程序結(jié)構(gòu)合理,調(diào)試數(shù)據(jù)準確、有代表性.。
3.界面布局整齊,人機交互方便。
4.輸出結(jié)果正確。
5.正確撰寫實驗報告。
三、實驗內(nèi)容
編寫一個gui程序?qū)崿F(xiàn)日歷的功能。一年日歷用12頁顯示,每頁顯示一個月的日歷。日歷可以按年或月前后翻動,能夠顯示當前的日期以及當前農(nóng)歷,可以為每頁日歷選擇背景圖片。可以實現(xiàn)顯示時鐘,時鐘能進行整點報時。可以實現(xiàn)備忘記事功能,能在每天添加、修改、刪除記事等操作。
四、實驗步驟
1.在上機實驗前,小組成員進行選題討論,確定小組感興趣而又伸縮性強的題目多功能日歷。
2.在第一次上機實驗時討論分工,分工明確之后,分頭合作進行。
3.各成員完成自己的任務后,最后進行統(tǒng)籌合并,以及程序最后的優(yōu)化。
4. 根據(jù)實驗結(jié)果,寫出合肥工業(yè)大學實驗報告。實驗報告應當包括:實驗內(nèi)容,程序流程圖,類結(jié)構(gòu),程序清單,運行結(jié)果,以及通過上機取得的經(jīng)驗。
5.詳細的上機實驗步驟見任務分工及程序設計進度表。
五、實驗結(jié)果
經(jīng)過小組成員的共同努力,最終我們小組設計的多功能日歷程序能夠?qū)崿F(xiàn)實驗的基本要求——一年日歷用12頁顯示,每頁顯示一個月的日歷。日歷可以按年或月前后翻動,能夠顯示當前的日期,可以為每頁日歷選擇背景圖片。另外,在完成基本要求的基礎(chǔ)上,我們增添了顯示農(nóng)歷、顯示時鐘、添加備忘錄、修改備忘錄等功能。整體程序運行流暢、功能齊全、符合操作習慣。
下面是程序運行效果截圖:
日歷主界面(可以實現(xiàn)每個月的日歷,可以按年或按月前后翻動,能夠顯示當前日期,并能夠選擇背景圖片):
備忘錄主界面(實現(xiàn)備忘錄的添加,及當前日歷的顯示):
備忘錄主界面(實現(xiàn)備忘錄的`顯示,及對當前備忘錄的修改刪除等):
時鐘主界面(顯示當前時間,實現(xiàn)報整點報時功能):
六、實驗總結(jié)
兩周的課程設計結(jié)束了,在這其中歷盡酸甜苦辣咸各種滋味,不過收獲頗豐。從學習c語言、數(shù)據(jù)庫等等計算機編程類課程開始,自己始終有種感覺,那就是太理論化了、缺少實踐。而這次的java程序設計可以說與以往大不相同,先是在課堂上老師講述了有關(guān)的基礎(chǔ)理論、基本語法知識,而后再加上這兩周的課程設計,可以說是真正能夠體會到程序編程的樂趣,也第一次發(fā)現(xiàn)自己原來對程序設計是如此的感興趣。尤其是由于課程時間較緊,課上時間老師只是簡單給我們講述了一下java swing的基礎(chǔ)知識,并沒有去深入,而在此次課程設計中大量用到的監(jiān)聽事件的有關(guān)知識需要自己去查標準文檔,去網(wǎng)上找相關(guān)系料,這無疑對自己是一個挑戰(zhàn)。但是兩周下來,我做到了,我獨立完成了對備忘錄程序的編寫,累積下來這部分共涉及到包括action listener,mouse listener,menu listener,document listener等各種各類監(jiān)聽18個監(jiān)聽,分為6個類,累計完成程序千余行。而給我印象最深刻的便監(jiān)聽了,可以說是整個備忘錄的大部分代碼都是與監(jiān)聽相關(guān),這也是讓我我學會了對程序監(jiān)聽的運用,當然只是學會遠遠談不上精通。
我編寫的類有test、mainwin、mymenulistener1、policelisten、policelisten2、mywindowlistener。其中test類主要是用來定義備忘錄主窗口的各種組件以及在相關(guān)組件上添加監(jiān)聽以實現(xiàn)備忘錄添加、修改、刪除等功能。mainwin類主要是用來創(chuàng)建test對象,用以顯示窗口的。
課程設計實驗報告
篇七 c語言課程設計實驗報告
c語言課程設計實驗報告
c語言是一門通用計算機編程語言,應用廣泛。下面就隨小編一起去閱讀c語言課程設計實驗報告,相信能帶給大家?guī)椭?/p>
第一章 基礎(chǔ)掌握
1.1 實驗目的
掌握c程序設計編程環(huán)境visual c++,掌握運行一個c程序的基本步驟,包括編輯、編譯、鏈接和運行。(]
1.2 實驗要求
在報告中記錄建立、保存c程序?qū)嵙曔^程。
1.3 實驗基本內(nèi)容
編寫程序,在屏幕上顯示一個短句“hello world”
(1) 程序:
1) 編譯如下程序:
#include
void main
{
printf (“hello world! ”);
}
2)鏈接。執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
(2) 運行結(jié)果:
輸出結(jié)果:hello world!
總結(jié):
掌握c語言程序設計的基本框架,能夠編寫簡單的程序。
第二章 數(shù)據(jù)類型
2.1 實驗目的
(1) 掌握c語言的運算符和表達式的正確使用以及c語言的幾種基本數(shù)據(jù)類型和基本輸入輸出函數(shù)的使用方法。()
(2)通過編程進一步理解和掌握運算符的確切含義和功能。
2.2 實驗要求
(1) 在報告中記錄建立、保存c程序?qū)嵙曔^程。 (2) 完成典型題目,分析遇到的困難和實驗中的收獲。
2.3 實驗基本內(nèi)容
輸入程序,觀察輸出結(jié)果 1>;./*test2.1c*/
1)編譯如下程序: #includevoid main {
char ch; int k;
ch='a',k='b';
printf('%d,%x,%c',ch,ch,ch,ch,k); printf('k=%%d ',k) }
2)鏈接。執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
2>;./*test2.2c*/
1)編譯如下程序: #includevoid main {
float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12;
b2=0.000001;
printf('%f,%l f ',a1+a2,b1+b2);
}
2)鏈接。執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
實驗結(jié)果:
97.61,141,ak=xd
實驗結(jié)果:
擴展:c語言程序?qū)嶒瀳蟾?/ c語言實驗報告 / c語言程序設計報告
1234.120089,1234.120001
總結(jié):
學會c語言的運算符和表達式的正確使用
第三章 選擇結(jié)構(gòu)程序設計
3.1 實驗目的
學會改正程序中的錯誤
3.2 實驗要求
(1) 在報告中記錄建立、保存c程序?qū)嵙曔^程。(]
(2) 完成典型題目,分析遇到的困難和實驗中的收獲。
3.3 實驗基本內(nèi)容
輸入實驗程序,程序有錯,改正程序中的.錯誤
1)輸入如下程序:
#include
#include
void main
{
double a,b,c,d;
printf('輸入一元二次方程a=,b=,c= ');
scanf('a=%l f,b=%l f',&a,&b,&c); if(a==0) { if(b=0) } { } else print f('x=%0.2f ',-c/b); if(c==0) print f('0==0參數(shù)對方程無意義!”); else print f('c!=0方程不成立'); else if(d>;=0) { printf('x1=%0.2f ',(-b+sq rt(d))/(2*a)); printf('x1=%0.2f ',(-b-sq rt(d))/(2*a)); } else {
printf('x1=%0.2f+%0.2fi ',-b/(2*a),s q rt(-d)/(2*a)); printf('x1=%0.2f-%0.2fi ',-b/(2*a),s q rt(-d)/(2*a));
}
}
2)鏈接。()執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
實驗結(jié)果:
運行不了程序 ,做以下修改:
#include
#include
void main
{
//
//
double a,b,c,d; printf('輸入一元二次方程a=,b=,c= '); scanf('a=%l f,b=%l f',&a,&b,&c); c=5; if(a==0) //{ /*if(b=0) { } else printf('x=%0.2f ',-c/b); if(c==0) printf('0==0參數(shù)對方程無意義!”); else printf('c!=0方程不成立'); }*/ else if(d>;=0) { } else { } printf('x1=%0.2f ',(-b+sq rt(d))/(2*a)); printf('x1=%0.2f ',(-b-sq rt(d))/(2*a)); printf('x1=%0.2f+%0.2fi ',-b/(2*a),sq rt(-d)/(2*a)); printf('x1=%0.2f-%0.2fi ',-b/(2*a),sq rt(-d)/(2*a));
}
這樣就可以輸出程序了。
總結(jié): 學會使用邏輯運算符和邏輯表達式,掌握簡單的查錯方法,并改錯。
第四章 循環(huán)程序設計
4.1 實驗目的
熟練使用whiledo…while語句實現(xiàn)循環(huán)程序設計。[)
4.2 實驗要求
(1) 在報告中記錄建立、保存c程序?qū)嵙曔^程。
(2) 完成典型題目,分析遇到的困難和實驗中的收獲。
4.3 實驗基本內(nèi)容
1) 編譯如下程序:
#include
void main
{
int m,n,j,k; printf('input m n '); while(scan f ('%d',&m,&n),m<0&&n<0); j=m; while(j/n!=0) j=j+m; k=(m*n)/j; printf('最小公倍數(shù)是%d 最大公約數(shù)是%d ',j,k); }
2)鏈接。執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
實驗結(jié)果:
input m n
5 2
然后運算出來結(jié)果:
最大公倍數(shù)是5
最大公約數(shù)是0
總結(jié):
學使用for,while,do...while語句實現(xiàn)循環(huán)程序,
第五章 程序設計
5.1 實驗目的
檢驗最近學習成果,進一步鞏固c語言的學習
5.2 實驗要求
1)輸入任意四位數(shù),寫出個,十,百,千位上的數(shù) 2)連接任意兩個字符串
5.3 實驗基本內(nèi)容
1)編譯如下程序: #includevoid main {
int a,b,c,d,x; scanf('%d',&x); if(999<10000) {
a=x/1000;
b=x/100-a*10;
c=x/10-a*100-b*10; d=x-a*1000-b*100-c*10; printf('%d ',x);
1)編譯如下程序: #includemain {
char s1[10],s2[5]; int i,j;
scanf('%s',s1); scanf('%s',s2); i=j=0;
while(s1[i]!='') i++;
printf('a=%d,b=%d,c=%d,d=%d ',a,
b,c,d); }
}
while((s1[i++]=s2[j++])!=''); printf('string no.1. %s ',s1); }
2)鏈接。(]執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
2)鏈接。執(zhí)行build-命令。
3)運行。執(zhí)行build execute 命令。顯示結(jié)果。
4)關(guān)閉程序工作區(qū)。
實驗結(jié)果: abcd
adsg
string no.1.abcdadsf
實驗結(jié)果:
2678 2678
a=2,b=6,c=7,d=8
總結(jié):通過對程序的設計提高編程能力
篇八 軟件課程設計實驗報告
一、 目的、要求
通過該課程設計要使學生樹立起強烈的工程化意識,用工程化思想和方法開發(fā)軟件。切實體會出用軟件工程的方法開發(fā)系統(tǒng)與一般程序設計方法的不同之處,學生在對所開發(fā)的系統(tǒng)進行軟件計劃、需求分析、設計的基礎(chǔ)上,實現(xiàn)并測試實際開發(fā)的系統(tǒng)。通過一系列規(guī)范化軟件文檔的編寫和系統(tǒng)實現(xiàn),使學生具備實際軟件項目分析、設計、實現(xiàn)和測試的基本能力。
二、 主要內(nèi)容
要求學生掌握軟件工程的基本概念、基本方法和基本原理,為將來從事軟件的研發(fā)和管理奠定基礎(chǔ)。每個學生選擇一個小型軟件項目(內(nèi)容參照《計算機綜合實踐指導》,宋雨等編著,清華大學出版社出版),按照軟件工程的生命周期,完成軟件計劃、需求分析、軟件設計、編碼實現(xiàn)、軟件測試及軟件維護等軟件工程工作,并按要求編寫出相應的`文檔。具體的方法可以選用傳統(tǒng)的軟件工程方法或者面向?qū)ο蟮姆椒?,開發(fā)環(huán)境和工具不限。
三、 進度計劃
略
四、 設計成果要求
1.至少提交4個文檔,包括軟件計劃、軟件需求規(guī)格說明書、軟件設計說明書、軟件測試
計劃,要求文檔格式規(guī)范、邏輯性強(可參考《計算機綜合實踐指導》中給出的要求及格式)、圖表規(guī)范;
2.獨自實現(xiàn)了系統(tǒng)的某些功能,基本達到了要求的性能,經(jīng)過了測試,基本能運行。
五、 考核方式
(1)提交的文檔規(guī)范,工作量大,文檔邏輯性強、正確,按《計算機綜合實踐指導》標準考核(附《軟件工程課程設計》實驗報告評分表)占60%
(2)系統(tǒng)驗收、講解、答辯 占25% (3)考勤占15%
軟件課程設計實驗報告
篇九 c語言程序課程設計的實驗報告
c語言程序課程設計的實驗報告
實驗名稱
計算出1000以內(nèi)10個最大素數(shù)之和
實驗目的
1、熟練掌握if、if…else、if…else if語句和witch語句格式及使用方法,掌握if語句中的嵌套關(guān)系和匹配原則,利用if語句和switch語句實現(xiàn)分支選擇結(jié)構(gòu)。
2、熟練掌握while語句、do…while語句和for語句格式及使用方法,掌握三種循環(huán)控制語句的循環(huán)過程以及循環(huán)結(jié)構(gòu)的嵌套,利用循環(huán)語句實現(xiàn)循環(huán)結(jié)構(gòu)。
3、掌握簡單、常用的算法,并在編程過程中體驗各種算法的編程技巧。進一步學習調(diào)試程序,掌握語法錯誤和邏輯錯誤的檢查方法。
實驗內(nèi)容
計算并輸出1000以內(nèi)最大的10個素數(shù)以及它們的'和。
要求:
在程序內(nèi)部加必要的注釋。
由于偶數(shù)不是素數(shù),可以不考慮對偶數(shù)的處理。
雖然在1000以內(nèi)的素數(shù)超過10個,但是要對1000以內(nèi)不夠10個素數(shù)的情況進行處理。
輸出形式為:素數(shù)1+素數(shù)2+素數(shù)3+…+素數(shù)10=總和值。
判斷素數(shù):
源程序
#include
#include
int sushu(int n)/* 判斷素數(shù)的函數(shù) */
{
int t,i;
t=sqrt(n);
for(i=2;i<=t;i++)
if(n%i==0)/* 如果不是素數(shù),返回 0 */
return 0;
return n;/* 如果是素數(shù),返回該數(shù) */
}
void main
{
int i,j=0,n,m=0,a[1000],x;
/*clrscr;*/
printf('please input a number form 1 to 1000:');
scanf('%d',&x);
if(x==2)/* x=2時的處理 */
printf('%dn',x);
else if(x<=1) /* x在1~1000范圍外時的處理 */
printf('error!n');
else
{
if(x%2==0)/* x為偶數(shù)時,把x變?yōu)槠鏀?shù) */
x--;
for(i=x;i>;1;i-=2)/* x為奇數(shù)時,做函數(shù)計算 */
{
n=sushu(i); /* 做判斷素數(shù)的函數(shù)調(diào)用 */
if(n!=0)/* 對素數(shù)的處理 */
{
a[j]=n;/* 把素數(shù)由大至小存入數(shù)組a[ ]中 */
j++;
if(j<11)
m+=n; /* 統(tǒng)計前10個素數(shù)之和 */
}
}
if(j<10)/* 當素數(shù)個數(shù)小于10個時,結(jié)果輸出 */
{
for(i=0;i
{
n=a[i];
printf('%d',n);
printf('+');
}
printf('2=');
printf('%dn',m+2);
}
else for(i=0;i<10;i++)/* 當素數(shù)個數(shù)大于等于10個時,結(jié)果輸出 */
{
n=a[i];
printf('%d',n);
if(i<9)
printf('+');
else
{
printf('=');
printf('%dn',m);
}
}
}
}
測試數(shù)據(jù)
分別輸入1000、100、10測試。
運行結(jié)果
出現(xiàn)問題及解決方法
當素數(shù)個數(shù)小于10時的處理不夠完善,考慮不夠周全。把“+2”的處理做的太勉強。
程序過大,不夠精簡,無用文字太多。
學習耐心與細心不足,如scanf(“%d”,&n);中的“&”經(jīng)常忘記。
編程思想不夠發(fā)散,例如如何判斷素數(shù),只能想出2種方式(其中1種為參考教科書上內(nèi)容);在今后學習中應更多的動腦,綜合運用所學。
基本功不夠,如清屏clrscr等函數(shù)用的不好,有時同樣的問題多次犯,給實驗課老師帶來很大的麻煩。這說明我的知識不夠廣,有很多有用但不做考試要求的書中內(nèi)容沒有學好,認識程度不夠深刻。就算以后c語言這門課程結(jié)束后,也應多看相關(guān)東西,多上機練習,才能真正從本質(zhì)上提高自己。
知識不夠廣泛,如vc++6.0等程序,自己試了好一陣也不會用;說明我電腦水平還是不夠,自學能力不夠。已會的東西掌握的還是不夠好。
實驗心得
通過本次c語言上機實驗,我對這個介于人類與非人類之間的計算機編程語言有了一定的體驗。其間開心過、郁悶過、無奈過、彷徨過……隨著實驗的勝利成功與實驗報告的勝利完成,有點微微的自豪感使人難忘。感謝高克寧老師的高標準、嚴要求,感謝實驗課上小老師們的耐心指點,也感謝我在實驗中經(jīng)歷過的點點滴滴……伴隨著學習的深入,我發(fā)現(xiàn)高深的東西還有很多很多,等待著我自己去挖掘。對c語言,我會更加努力。
篇十 最新大學物理實驗課程設計實驗報告
大學物理實驗(設計性實驗)
實驗報告
指導老師:王建明
姓 名:張國生
學 號:xx0233
學 院:信息與計算科學學院
班 級:05信計2班
重力加速度的測定
一、實驗任務
精確測定銀川地區(qū)的重力加速度
二、實驗要求
測量結(jié)果的相對不確定度不超過5%
三、物理模型的建立及比較
初步確定有以下六種模型方案:
方法一、用打點計時器測量
所用儀器為:打點計時器、直尺、帶錢夾的鐵架臺、紙帶、夾子、重物、學生電源等.
利用自由落體原理使重物做自由落體運動.選擇理想紙帶,找出起始點0,數(shù)出時間為t的p點,用米尺測出op的距離為h,其中t=0.02秒×兩點間隔數(shù).由公式h=gt2/2得g=2h/t2,將所測代入即可求得g.
方法二、用滴水法測重力加速度
調(diào)節(jié)水龍頭閥門,使水滴按相等時間滴下,用秒表測出n個(n取50—100)水滴所用時間t,則每兩水滴相隔時間為t′=t/n,用米尺測出水滴下落距離h,由公式h=gt′2/2可得g=2hn2/t2.
方法三、取半徑為r的玻璃杯,內(nèi)裝適當?shù)囊后w,固定在旋轉(zhuǎn)臺上.旋轉(zhuǎn)臺繞其對稱軸以角速度ω勻速旋轉(zhuǎn),這時液體相對于玻璃杯的形狀為旋轉(zhuǎn)拋物面
重力加速度的計算公式推導如下:
取液面上任一液元a,它距轉(zhuǎn)軸為x,質(zhì)量為m,受重力mg、彈力n.由動力學知:
ncosα-mg=0 (1)
nsinα=mω2x (2)
兩式相比得tgα=ω2x/g,又 tgα=dy/dx,∴dy=ω2xdx/g,
∴y/x=ω2x/2g. ∴ g=ω2x2/2y.
.將某點對于對稱軸和垂直于對稱軸最低點的直角坐標系的坐標x、y測出,將轉(zhuǎn)臺轉(zhuǎn)速ω代入即可求得g.
方法四、光電控制計時法
調(diào)節(jié)水龍頭閥門,使水滴按相等時間滴下,用秒表測出n個(n取50—100)水滴所用時間t,則每兩水滴相隔時間為t′=t/n,用米尺測出水滴下落距離h,由公式h=gt′2/2可得g=2hn2/t2.
方法五、用圓錐擺測量
所用儀器為:米尺、秒表、單擺.
使單擺的擺錘在水平面內(nèi)作勻速圓周運動,用直尺測量出h(見圖1),用秒表測出擺錐n轉(zhuǎn)所用的時間t,則擺錐角速度ω=2πn/t
擺錐作勻速圓周運動的向心力f=mgtgθ,而tgθ=r/h所以mgtgθ=mω2r由以上幾式得:
g=4π2n2h/t2.
將所測的n、t、h代入即可求得g值.
方法六、單擺法測量重力加速度
在擺角很小時,擺動周期為:
則
通過對以上六種方法的比較,本想嘗試利用光電控制計時法來測量,但因為實驗室器材不全,故該方法無法進行;對其他幾種方法反復比較,用單擺法測量重力加速度原理、方法都比較簡單且最熟悉,儀器在實驗室也很齊全,故利用該方法來測最為順利,從而可以得到更為精確的值。
四、采用模型六利用單擺法測量重力加速度
摘要:
重力加速度是物理學中一個重要參量。地球上各個地區(qū)重力加速度的數(shù)值,隨該地區(qū)的地理緯度和相對海平面的高度而稍有差異。一般說,在赤道附近重力加速度值最小,越靠近南北兩極,重力加速度的值越大,值與最小值之差約為1/300。研究重力加速度的分布情況,在地球物理學中具有重要意義。利用專門儀器,仔細測繪各地區(qū)重力加速度的分布情況,還可以對地下資源進行探測。
伽利略在比薩大教堂內(nèi)觀察一個圣燈的緩慢擺動,用他的脈搏跳動作為計時器計算圣燈擺動的時間,他發(fā)現(xiàn)連續(xù)擺動的圣燈,其每次擺動的時間間隔是相等的,與圣燈擺動的幅度無關(guān),并進一步用實驗證實了觀察的結(jié)果,為單擺作為計時裝置奠定了基礎(chǔ)。這就是單擺的等時性原理。
應用單擺來測量重力加速度簡單方便,因為單擺的振動周期是決定于振動系統(tǒng)本身的性質(zhì),即決定于重力加速度g和擺長l,只需要量出擺長,并測定擺動的周期,就可以算出g值。
實驗器材:
單擺裝置(自由落體測定儀),鋼卷尺,游標卡尺、電腦通用計數(shù)器、光電門、單擺線
實驗原理:
單擺是由一根不能伸長的輕質(zhì)細線和懸在此線下端體積很小的重球所構(gòu)成。在擺長遠大于球的直徑,擺錐質(zhì)量遠大于線的質(zhì)量的條件下,將懸掛的小球自平衡位置拉至一邊(很小距離,擺角小于5°),然后釋放,擺錐即在平衡位置左右作周期性的往返擺動,如圖2-1所示。
f =p sinθ
f
θ
t=p cosθ
p = mg
l
圖2-1 單擺原理圖
擺錐所受的力f是重力和繩子張力的合力,f指向平衡位置。當擺角很小時(θ<5°),圓弧可近似地看成直線,f也可近似地看作沿著這一直線。設擺長為l,小球位移為x,質(zhì)量為m,則
sinθ=
f=psinθ=-mg =-m x (2-1)
由f=ma,可知a=- x
式中負號表示f與位移x方向相反。
單擺在擺角很小時的運動,可近似為簡諧振動,比較諧振動公式:a= =-ω2x
可得ω=
于是得單擺運動周期為:
t=2π/ω=2π (2-2)
t2= l (2-3)
或 g=4π2 (2-4)
利用單擺實驗測重力加速度時,一般采用某一個固定擺長l,在多次精密地測量出單擺的周期t后,代入(2-4)式,即可求得當?shù)氐闹亓铀俣萭。
由式(2-3)可知,t2和l之間具有線性關(guān)系, 為其斜率,如對于各種不同的擺長測出各自對應的周期,則可利用t2—l圖線的斜率求出重力加速度g。
試驗條件及誤差分析:
上述單擺測量g的方法依據(jù)的公式是(2-2)式,這個公式的成立是有條件的,否則將使測量產(chǎn)生如下系統(tǒng)誤差:
1. 單擺的擺動周期與擺角的關(guān)系,可通過測量θ<5°時兩次不同擺角θ1、θ2的周期值進行比較。在本實驗的測量精度范圍內(nèi),驗證出單擺的t與θ無關(guān)。
實際上,單擺的周期t隨擺角θ增加而增加。根據(jù)振動理論,周期不僅與擺長l有關(guān),而且與擺動的角振幅有關(guān),其公式為:
t=t0[1+( )2sin2 +( )2sin2 +……]
式中t0為θ接近于0o時的周期,即t0=2π
2.懸線質(zhì)量m0應遠小于擺錐的質(zhì)量m,擺錐的半徑r應遠小于擺長l,實際上任何一個單擺都不是理想的,由理論可以證明,此時考慮上述因素的影響,其擺動周期為:
3.如果考慮空氣的浮力,則周期應為:
式中t0是同一單擺在真空中的擺動周期,ρ空氣是空氣的密度,ρ擺錐 是擺錐的密度,由上式可知單擺周期并非與擺錐材料無關(guān),當擺錐密度很小時影響較大。
4.忽略了空氣的粘滯阻力及其他因素引起的摩擦力。實際上單擺擺動時,由于存在這些摩擦阻力,使單擺不是作簡諧振動而是作阻尼振動,使周期增大。