《程序設(shè)計(jì)專題實(shí)踐》指導(dǎo)書_第1頁
《程序設(shè)計(jì)專題實(shí)踐》指導(dǎo)書_第2頁
《程序設(shè)計(jì)專題實(shí)踐》指導(dǎo)書_第3頁
《程序設(shè)計(jì)專題實(shí)踐》指導(dǎo)書_第4頁
《程序設(shè)計(jì)專題實(shí)踐》指導(dǎo)書_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、執(zhí) 筆 人:楊崇實(shí)驗(yàn)一 利用梯形法求函數(shù)的積分。一 實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了解并掌握利用計(jì)算機(jī)實(shí)現(xiàn)數(shù)值計(jì)算的基本原理與方法,了解數(shù)學(xué)理論與利用計(jì)算機(jī)進(jìn)行實(shí)際應(yīng)用的聯(lián)系與區(qū)別,培養(yǎng)針對數(shù)學(xué)模型進(jìn)行建模的能力,掌握計(jì)算特殊函數(shù)積分的基本方法和技巧。二 實(shí)驗(yàn)內(nèi)容:在Turbo C 平臺下編程利用梯形法求出使用常規(guī)方法無法求出原函數(shù)的特殊函數(shù)的積分值,積分函數(shù)為。要求將積分結(jié)果的精度控制在要求的范圍內(nèi)。三 實(shí)驗(yàn)原理:普通的函數(shù)可以通過尋找原函數(shù)求得定積分值,而某些特殊函數(shù)是無法找到原函數(shù)的,那么,利用牛頓萊布尼茲公式求積分法將無所適從,通過積分中值定理我們知道:在積分區(qū)間a,b內(nèi)存在一點(diǎn),成立,也就是說,

2、底為b-a而高為f()的矩形面積恰等于所求曲面梯形的面積。問題在于點(diǎn)的具體位置一般是不知道的,因而難以準(zhǔn)確f()的值。我們將f()成為區(qū)間a,b上的平均高度,這樣,只要對平均高度f()提供一種算法,相應(yīng)地獲得一種數(shù)值求積分法。如果我們用兩個端點(diǎn)的高度f(a),f(b)取算術(shù)平均值作為f()的近似值,這樣導(dǎo)出的求積公式Tf(a)+f(b)便是我們所熟悉的梯形公式。設(shè)將積分區(qū)間a,b劃分為n等份,步長h=(b-a)/2,分點(diǎn)為xk=a+kh,k=0,1,2,3,.,n。利用低階的牛頓軻特斯公式求得每個子區(qū)間xk,xk+1上的積分值Ik,然后再求和,用來作為所求積分I的近似值。復(fù)化梯形公式:Tn=f

3、(xk)+fxk+1)= f(a)+2f(xk)+f(b)。四、實(shí)驗(yàn)步驟1 打開開始->程序->附件->命令提示符,進(jìn)入Turbo C 2.0,輸入程序。2 按F2存盤。3 按F9鍵檢查語法是否存在錯誤。4 按Ctrl +F9運(yùn)行程序,調(diào)試編譯。五、實(shí)驗(yàn)中應(yīng)注意的問題:1 當(dāng)變量值為0時,根據(jù)羅必塔法則函數(shù)值取1。2 對步長進(jìn)行運(yùn)算時,應(yīng)采用for循環(huán),可避免產(chǎn)生死循環(huán)。3 運(yùn)算時數(shù)值類型應(yīng)為float 或者double,打印數(shù)據(jù)時,小數(shù)點(diǎn)后應(yīng)保留足夠的位數(shù)。4 在取除數(shù)時,由于使用了實(shí)型數(shù)據(jù),因此分子或分母的數(shù)字部分也應(yīng)該采取實(shí)數(shù)形式:如1.0x,否則將無法得到正確結(jié)果。5

4、 上機(jī)時應(yīng)注意隨時存盤,尤其是調(diào)試時,避免因?yàn)樗姥h(huán)造成無法正常退出而丟失源文件或數(shù)據(jù)。六、實(shí)驗(yàn)報(bào)告內(nèi)容:1 實(shí)驗(yàn)原理及實(shí)現(xiàn)方法。2上機(jī)源程序代碼。3 實(shí)驗(yàn)結(jié)果。4 誤差分析。實(shí)驗(yàn)二 矩陣的運(yùn)算一 實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了解并掌握利用計(jì)算機(jī)實(shí)現(xiàn)矩陣計(jì)算的基本原理與方法,了解數(shù)學(xué)抽象概念在實(shí)際應(yīng)用中的引用和計(jì)算方法、技巧,培養(yǎng)針對數(shù)學(xué)模型進(jìn)行建模的能力,掌握矩陣的基本運(yùn)算方法。二 實(shí)驗(yàn)內(nèi)容:在Turbo C 平臺下編程求出矩陣的加減,以及M×N 矩陣和N×M矩陣的乘運(yùn)算。三 實(shí)驗(yàn)原理:矩陣實(shí)際上就是一張表,可以認(rèn)為是數(shù)的集合,它表示了一個一維、二維、空間的抽象特征。本實(shí)驗(yàn)涉及的是

5、二維矩陣。矩陣在進(jìn)行加減運(yùn)算時,進(jìn)行運(yùn)算的兩個矩陣必須是行數(shù)必須相同,列數(shù)也必須相同。也就是說M×N的矩陣A只能與M×N的矩陣B進(jìn)行運(yùn)算,運(yùn)算的規(guī)則是:Cij=Aij±Bij矩陣在進(jìn)行乘運(yùn)算的時候,進(jìn)行運(yùn)算的兩個矩陣應(yīng)為M×N矩陣乘以N×M的矩陣,反之亦然,但相乘的結(jié)果可能不同,運(yùn)算規(guī)則是:Cij=(i=1,2,m,j=1,2,n)在計(jì)算機(jī)中,矩陣的存儲方式是以數(shù)組的方式以行為主或以列為主的形式存放在內(nèi)存中,C語言的缺省存儲方式是以行為主。利用二維數(shù)組存儲矩陣的時候,應(yīng)當(dāng)注意,C語言定義數(shù)組的下標(biāo)起始值為0,即第一個元素的下角標(biāo)為(0,0)而不

6、是(1,1),第(M,N)個數(shù)據(jù)的下角標(biāo)為(M-1,N-1)。四、實(shí)驗(yàn)步驟1 打開開始->程序->附件->命令提示符,進(jìn)入Turbo C 2.0,輸入程序。2 按F2存盤。3 按F9鍵檢查語法是否存在錯誤。4 按Ctrl +F9運(yùn)行程序,調(diào)試編譯。五、實(shí)驗(yàn)中應(yīng)注意的問題:1 C語言數(shù)組下角標(biāo)的定義特性,如數(shù)組個數(shù)為N,則下角標(biāo)從0開始到N-1結(jié)束上機(jī)時應(yīng)充分考慮這一特點(diǎn),防止下標(biāo)越界。2 矩陣運(yùn)算時,循環(huán)結(jié)構(gòu)采用for循環(huán),避免死循環(huán)的發(fā)生。3 數(shù)據(jù)類型的定義要統(tǒng)一,不同類型的矩陣是不可以進(jìn)行運(yùn)算的。4 打印運(yùn)算結(jié)果時,矩陣的打印要遵照一定的格式,應(yīng)該以按行為主打印。5 矩陣

7、數(shù)據(jù)的輸入可采取靜態(tài)裝入,也可以采取運(yùn)行時動態(tài)輸入,但要保證輸入數(shù)據(jù)對號入座。建議按行輸入,每次輸一行。六、實(shí)驗(yàn)報(bào)告內(nèi)容:1 實(shí)驗(yàn)原理及實(shí)現(xiàn)方法。2上機(jī)源程序代碼。3 實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)三 利用二分法求方程的根一 實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了解并掌握利用二分法求方程的跟的基本原理和方法。了解方程求跟問題在工程中的應(yīng)用于理論的聯(lián)系和區(qū)別。培養(yǎng)針對數(shù)學(xué)模型進(jìn)行建模的能力,以及在工程中解決實(shí)際問題的創(chuàng)造能力。二 實(shí)驗(yàn)內(nèi)容:在Turbo C 平臺下編程利用二分法求出高階方程的根,要求根的精度限定在一定的范圍內(nèi),高階方程為x3-x-1=0,設(shè)定有根區(qū)間為1.0,1.5。三 實(shí)驗(yàn)原理:數(shù)學(xué)物理中的許多問題常常歸結(jié)為求

8、解函數(shù)方程f(x)=0,這里,f(x)可以是代數(shù)多項(xiàng)式,也可以是超越函數(shù),方程f(x)0的解x*成為它的根,或稱為f(x)的零點(diǎn)。設(shè)函數(shù)f(x)在a,b上連續(xù),且f(a)f(b)<0,根據(jù)連續(xù)函數(shù)的性質(zhì)可知道方程f(x)在區(qū)間a,b內(nèi)一定有實(shí)根。這時稱區(qū)間a,b為方程f(x)0的有根區(qū)間??疾煊懈鶇^(qū)間a,b,取中點(diǎn)x0=(a+b)/2將它分為兩半,然后進(jìn)行根的搜索,即檢查f(x0)與f(a)是否同號,如果確系同號,說明所求的根x*在x0的右側(cè),這時令a1=x0,b1=b;否則x*必在x0的左側(cè),這時令a1=a,b1=x0。不管出現(xiàn)哪種情況,新的有根區(qū)間a1,b1的長度僅為a,b的一半。對

9、壓縮了的有根區(qū)間a1,b1又可以實(shí)行同樣的步驟,即用中點(diǎn)x1=(a1+b1)/2再分為兩半,然后通過根的搜索判定所求的根在x1的那一側(cè),從而又確定了一個新的有根區(qū)間a2,b2,其長度為a1,b1的一半。如此反復(fù)下去,將會有a3,b3,a4,b4 ,.,ak,bk,當(dāng)區(qū)間長度 bk-ak0時,也就是說當(dāng)二分空間逐漸趨近于一個點(diǎn)x*時,該點(diǎn)即為所求函數(shù)之根。在工程上,往往不可能完成這個接近于無限的過程,其實(shí)也沒有必要,因?yàn)樵诠こ躺希灰Y(jié)果在一定的誤差范圍內(nèi)即可,即| bk-ak | <。算法:1 計(jì)算f(x)在有根區(qū)間a,b端點(diǎn)處的函數(shù)值f(a),f(b)。2 計(jì)算f(x)在區(qū)間中點(diǎn)處的值

10、f()。3 判斷f()=0則即是根,計(jì)算過程結(jié)束;否則檢驗(yàn):若f()與f(a)異號,則根位于區(qū)間a,內(nèi),這時以代替b;若f()與f(a)同號則根位于區(qū)間,b內(nèi),這時以代替a。反復(fù)執(zhí)行步2和步3,直到區(qū)間a,b縮小到允許的誤差范圍之內(nèi),此時區(qū)間中點(diǎn)即可作為所求的根。四、實(shí)驗(yàn)步驟1 打開開始->程序->附件->命令提示符,進(jìn)入Turbo C 2.0,輸入程序。2 按F2存盤。3 按F9鍵檢查語法是否存在錯誤。4 按Ctrl +F9運(yùn)行程序,調(diào)試編譯。5 提高誤差控制值,查看計(jì)算時間高精度求值余低精度求值時運(yùn)算次數(shù)的區(qū)別。五、實(shí)驗(yàn)中應(yīng)注意的問題與思考題:1 求值區(qū)間為估算區(qū)間,如該

11、區(qū)間無根,則應(yīng)該如何考慮程序的健壯性?2 調(diào)整尋根區(qū)間時,定義區(qū)間端點(diǎn)的變量應(yīng)為全局變量,為什么?3 誤差區(qū)間應(yīng)適度,過大則會造成運(yùn)算結(jié)果不準(zhǔn)確,太小則會造成浪費(fèi)大量計(jì)算時間。4 如何選取適當(dāng)?shù)恼`差區(qū)間?六、實(shí)驗(yàn)報(bào)告內(nèi)容:1 實(shí)驗(yàn)原理及實(shí)現(xiàn)方法。2上機(jī)源程序代碼。3 實(shí)驗(yàn)結(jié)果。4 回答思考題。實(shí)驗(yàn)四 基于單向鏈表的學(xué)生信息處理程序一 實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了解并掌握利用線性鏈表、結(jié)構(gòu)體的定義與使用方法。了解線性鏈表的基本運(yùn)算規(guī)則,掌握線形邏輯結(jié)構(gòu)采取非線性存儲情況下的軟件開發(fā)技巧,進(jìn)一步熟悉并掌握C語言中指針的用法。二 實(shí)驗(yàn)內(nèi)容:在Turbo C 2.0 平臺下,開發(fā)基于單項(xiàng)鏈表的學(xué)生信息處理程序

12、,利用鏈表對學(xué)生信息處理,應(yīng)提供創(chuàng)建、編輯、刪除、查詢、排序等基本功能。學(xué)生的信息應(yīng)采用結(jié)構(gòu)體進(jìn)行組織。三 實(shí)驗(yàn)原理: 線性鏈表是常見的線性表之一,它的特點(diǎn)是邏輯結(jié)構(gòu)為線性,即遵守除頭結(jié)點(diǎn)和尾結(jié)點(diǎn)外,其他結(jié)點(diǎn)均有且只有一個錢件,有且只有一個后件,頭結(jié)點(diǎn)只有后件而無前件,尾結(jié)點(diǎn)只有前件而無后件。 線性鏈表的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定對應(yīng),通常是雜亂無章的,通過指針作為前后件的連接手段,即前件保存后件的物理地址。它的結(jié)構(gòu)如下圖:Data NEXT Data NEXT Data NEXT Data NEXT Head其中,Data域?yàn)閿?shù)據(jù)域,用來加載用戶數(shù)據(jù),Next域?yàn)橹羔樣?用來存放后件的物理地址

13、.但這些地址通常不連續(xù)。線性鏈表的存儲方式充分利用了系統(tǒng)的零散空間,對提高計(jì)算機(jī)內(nèi)存利用率有很好的作用。 線性鏈表的創(chuàng)建:創(chuàng)建過程實(shí)際上是鏈表結(jié)點(diǎn)的申請和連接的過程。向系統(tǒng)申請內(nèi)存單元,輸入用戶數(shù)據(jù),將結(jié)點(diǎn)加入到鏈表中,連接前后件,明確關(guān)系后添加下一個結(jié)點(diǎn)。 線性鏈表的刪除:選定要刪除的結(jié)點(diǎn),將該結(jié)點(diǎn)前件的指針域數(shù)據(jù)修改為后件的物理地址值,釋放該節(jié)點(diǎn)占用的內(nèi)存空間。 線性鏈表的查找:給定查找條件,從鏈表頭開始,順延向后查找,當(dāng)找到符合條件的結(jié)點(diǎn)時,返回該結(jié)點(diǎn)的地址值。線性鏈表的編輯:給定查找條件,查找到符合條件的結(jié)點(diǎn)后,修改相應(yīng)的用戶數(shù)據(jù),但不能改變該結(jié)點(diǎn)的指針值。 線性鏈表的排序:按照指定的

14、用戶數(shù)據(jù)用指定的的排序要求(升序或降序)對鏈表的邏輯結(jié)構(gòu)進(jìn)行重組,重組的過程中,只改變邏輯結(jié)構(gòu),而不是物理結(jié)構(gòu),也不改變結(jié)點(diǎn)的數(shù)據(jù)。四、實(shí)驗(yàn)步驟1 打開開始->程序->附件->命令提示符,進(jìn)入Turbo C 2.0,輸入程序。2 按F2存盤。3 按F9鍵檢查語法是否存在錯誤。4 按Ctrl +F9運(yùn)行程序,調(diào)試編譯。5 完成對鏈表的打印,要求程序可以循環(huán)執(zhí)行。五、實(shí)驗(yàn)中應(yīng)注意的問題與思考題:1 刪除鏈表中的結(jié)點(diǎn)時應(yīng)釋放該節(jié)點(diǎn)所占用的空間。為什么?2 定義工作指針時,應(yīng)注意避免造成內(nèi)存泄漏?3 定義學(xué)生信息資料時應(yīng)定義為結(jié)構(gòu)體,信息應(yīng)盡量全面。4 對鏈表進(jìn)行運(yùn)算時應(yīng)保證線性鏈表

15、的邏輯完整性。六、實(shí)驗(yàn)報(bào)告內(nèi)容:1 實(shí)驗(yàn)原理及實(shí)現(xiàn)方法。2上機(jī)源程序代碼。3 實(shí)驗(yàn)結(jié)果。4 回答思考題。實(shí)驗(yàn)五 使用圖形函數(shù)實(shí)現(xiàn)計(jì)算機(jī)繪圖和動畫顯示一 實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了解并掌握利用圖形函數(shù)進(jìn)行繪圖的基本方法和技巧,熟悉圖形函數(shù)的使用,了解并掌握計(jì)算機(jī)坐標(biāo)系統(tǒng)的相關(guān)知識。二 實(shí)驗(yàn)內(nèi)容:在Turbo C 2.0 平臺下,使用圖形函數(shù)繪制滑行小車,具體圖形繪畫模式由學(xué)生自主開發(fā)。應(yīng)了解并掌握計(jì)算機(jī)坐標(biāo)的特性和使用方法,做好繪畫對象的數(shù)學(xué)建模。三 實(shí)驗(yàn)原理: PC機(jī)顯示系統(tǒng)一般是由顯示器和顯示卡組成。顯示器(Monitor)是獨(dú)立于主機(jī)的一種外部設(shè)備。顯示卡(Adapter)是插在PC主機(jī)上的一塊

16、電路板。PC機(jī)對顯示屏幕的所有操作都是通過顯示卡來實(shí)現(xiàn)的。 顯示系統(tǒng)的主要特性 1顯示分辨率 顯示分辨率是指屏幕上所能顯示的像素點(diǎn)數(shù),通常用列數(shù)和行數(shù)的乘積來表示。為了獲得良好的顯示效果,要求顯示器的分辨率與對應(yīng)分辨率的顯示卡相匹配。通常,高分辨率的顯示效果比低分辨率的效果好。但是,顯示分辨率的提高對顯示器與顯示卡的硬、軟件要求更高。特別是分辨率的提高在很大程度上受到顯示器的顯示尺寸和掃描頻率的限制,也受到顯示卡的顯存的限制。 根據(jù)應(yīng)用情況的不同,在不超過顯示器最高分辨率的條件下,可以通過對顯示卡的設(shè)置而使用不同的分辨率。 2顯示速度顯示速度是指在屏幕上顯示圖形和字符的速度。顯示速度與顯示分辨

17、率和顯示器的掃描頻率密切相關(guān)。顯示分辨率越高,整個屏幕上的像素點(diǎn)數(shù)就越多,顯示速度就越慢。在這種情況下,為了提高顯示速度,就需要提高掃描頻率。 如果顯示器只有一種掃描頻率,則它只能與一種顯示卡相匹配使用。隨著顯示技術(shù)的發(fā)展,目前一般的顯示器可以適應(yīng)具有多種分辨率與顯示速度的顯示卡。 顏色與灰度是衡量顯示系統(tǒng)的重要參數(shù)。單色顯示器只有亮和暗兩種灰度;彩色顯示器的顏色和灰度要受顯示內(nèi)存的限制,分辨率越高,顏色越豐富,所需要的顯示內(nèi)存就越多。 4圖形顯示能力 圖形顯示能力是顯示系統(tǒng)對屏幕上的每一個像素點(diǎn)都可以設(shè)置成不同的值的能力。通常,圖形顯示對硬件的要求比字符顯示要求高得多,同時,圖形顯示對顯示緩

18、沖區(qū)的要求也比字符顯示時高得多。顯示卡的種類常用的顯示卡有以下幾種1MDA卡 MDA卡(Monochrome Display Adapter單色字符顯示器適配卡)與單色字符顯示器配接,它只支持字符顯示功能,無圖形功能。 2HGC卡 HGC卡(Hercules Graphics Card單色顯示圖形卡)不僅支持字符顯示,而且支持單色圖形功能。在圖形方式下,其圖形顯示分辨率最高可達(dá)720348點(diǎn)陣。通過軟件的設(shè)置,還可以支持640400單色圖形顯示以及模擬CGA卡圖形方式。 3CGA卡 CGA卡(ColorGraphicsAdapter-彩色圖形顯示卡)支持字符圖形兩種方式。 在字符方式下,它支持

19、80列、25行及奶列、25行的方式,顏色可選16種。但是字符的質(zhì)量比較差,只有8X8點(diǎn)陣。在圖形方式下,它支持最大為640200分辨率,但只有黑、白兩種顏色。此外,它還支持320200的分辨率,每個像素點(diǎn)可以有四種顏色。CGA卡有16K的顯示緩沖區(qū),用于顯示字符及屬性或圖形方式下的圖形數(shù)據(jù)。 4EGA卡 EGA卡(Enhanced Graphics Adapter增強(qiáng)型圖形顯示卡)的字符顯示能力和圖形顯示能力都比CGA卡有了較大的提高,顯示分辨率達(dá)到640350,最高分辨率圖形方式的顏色達(dá)到了16種。EGA卡的顯示模式也比CGA卡豐富,并且兼容CGA卡及MDA卡的顯示模式。 5VGA卡 VGA

20、卡(Video Graphics Array一一視頻圖形陣列)是一種功能十分強(qiáng)大、顏色豐富的顯示卡。VGA的標(biāo)準(zhǔn)分辨率可達(dá)到640480,并且具有16種顏色。一些兼容的VGA卡(如TVGA卡、EVGA卡)的分辨率可達(dá)640480(256種顏色)、800600(16種顏色)或1024768(16種顏色)。VGA卡兼容MDA卡、CGA卡、EGA卡的所有顯示模式。 隨著顯示技術(shù)的發(fā)展,目前的顯示卡的分辨率一般都可以達(dá)到1024X768,顯示32位真彩(232種顏色)。 視頻BIOS 視頻BIOS(BasicIOSystem基本輸入輸出系統(tǒng))是與顯示卡配套的一個重要組成部分。用戶通過調(diào)用它可以完成一些

21、與顯示有關(guān)的控制功能。對于要用到顯示系統(tǒng)的一般程序設(shè)計(jì)都可以通過調(diào)用視頻BIOs或視頻函數(shù)庫來完成。但要想獲得更高性能的顯示程序,還需要對顯示卡的寄存器和顯示內(nèi)存直接進(jìn)行編程。顯示模式 顯示模式按功能可以分為字符模式和圖形模式兩大類。 字符模式也稱為字母數(shù)字模式,即AN模式(A1phaNumbermode)。在這種模式下,顯示緩沖區(qū)中存放的是顯示字符的代碼和屬性,而顯示屏幕被分為若干個字符顯示行和列。圖形模式(Graphics mode)也稱為APA模式(A1l Points Addressable mode)。在這種模式下,顯示緩沖區(qū)中存放的是顯示器屏幕上的每個像素點(diǎn)的顏色或灰度值,而顯示屏

22、幕被劃分為像素行和像素列。 由于顯示卡的種類很多,其中有些顯示模式在不同類型的顯示卡及不同廠家的顯示卡之間是通用的,這類顯示模式稱為標(biāo)準(zhǔn)模式。還有些模式是專用的,稱為非標(biāo)準(zhǔn)模式。通常,顯示模式號小于14H的是標(biāo)準(zhǔn)模式;其他則為非標(biāo)準(zhǔn)模式。圖形模式的初始化 不同的顯示器適配器有不同的圖形分辨率。即使是同一顯示器適配器,在不同模式下也有不同分辨率。因此,在屏幕作圖之前,必須根據(jù)顯示器適配器的種類將顯示器設(shè)置成為某種圖形模式。在未設(shè)置圖形模式之前,微機(jī)系統(tǒng)默認(rèn)屏幕為文本模式(80列,25行字符模式),此時所有圖形函數(shù)均不能工作。 設(shè)置屏幕為圖形模式,可用下列圖形初始化函數(shù): void far ini

23、tgraph (int far* gdriver,int far *gmode,char *path); 其中g(shù)driver和gmode分別表示圖形驅(qū)動器和模式,path是指圖形驅(qū)動程序所在的目錄路徑。圖形驅(qū)動程序由Turbo C出版商提供,文件擴(kuò)展名為BGI。根據(jù)不同的圖形適配器有不同的圖形驅(qū)動程序。例如對于EGA、VGA圖形適配器的圖形驅(qū)動程序?yàn)镋GAVGA.BGI。有時編程者并不知道所用的圖形顯示器適配器種類,而且我們?yōu)榱藢⒕帉懙某绦蚩梢杂糜诓煌瑘D形驅(qū)動器,增強(qiáng)程序的通用性,我們通常不指定圖形顯示器適配器種類,而使用Turbo C提供了一個自動檢測顯示器硬件的函數(shù),其調(diào)用格式為:void

24、 far detectgraph ( int *gdriver, *gmode);其中g(shù)driver和gmode意義同上?;緢D形函數(shù)基本圖形函數(shù)包括畫點(diǎn),線以及其它一些基本圖形的函數(shù)。具體內(nèi)容詳見上機(jī)參考書C程序設(shè)計(jì)上機(jī)指導(dǎo)譚浩強(qiáng)編著 北京 清華大學(xué)出版社 1999屏幕坐標(biāo)系統(tǒng)PC機(jī)的屏幕坐標(biāo)原點(diǎn)位于屏幕的左上方。從左至右為X軸正方向,從上至下為Y軸正方向。如下圖第三象限 第四象限(0,0)X屏幕第一象限第二象限 Y坐標(biāo)系統(tǒng)的單位為像素,如系統(tǒng)分辨率為640×480時,屏幕的橫向(X軸)為640點(diǎn),縱向(Y軸)為480點(diǎn)。在采用計(jì)算機(jī)進(jìn)行繪圖和仿真時,應(yīng)該注意屏幕坐標(biāo)系統(tǒng)與迪卡爾坐

25、標(biāo)系的區(qū)別。小車?yán)L圖示例見下圖。 (0,0) X 200 280 803002040 120 40 Y四、實(shí)驗(yàn)步驟1 打開開始->程序->附件->命令提示符,進(jìn)入Turbo C 2.0,輸入程序。2 按F2存盤。3 按F9鍵檢查語法是否存在錯誤。4 按Ctrl +F9運(yùn)行程序,調(diào)試編譯。五、實(shí)驗(yàn)中應(yīng)注意的問題與思考題:1小車向前走動的時候循環(huán)結(jié)構(gòu)應(yīng)采取for循環(huán),可避免產(chǎn)生死循環(huán)。2單次循環(huán)結(jié)束后應(yīng)該清空屏幕,為什么?3延時函數(shù)設(shè)置值與計(jì)算機(jī)硬件速度有關(guān),可酌情設(shè)定,但不宜延時太長。4如何讓小車在某個位置停止?如何讓小車向后退?5 小車的外觀自行設(shè)計(jì),但應(yīng)充分考慮各元素,避免產(chǎn)生不協(xié)調(diào)運(yùn)動。六、實(shí)驗(yàn)報(bào)告內(nèi)容:1 實(shí)驗(yàn)原理及實(shí)現(xiàn)方法。2上機(jī)源程序代碼。3 實(shí)驗(yàn)結(jié)果。4 回答思考題。實(shí)驗(yàn)六 使用圖像函數(shù)制作圓盤式時鐘的動畫顯示一 實(shí)驗(yàn)?zāi)康模和ㄟ^實(shí)驗(yàn)了

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論