張浩然

摘要:C#語(yǔ)言是微軟公司研發(fā)的最新語(yǔ)言,是一種面向?qū)ο蟮摹⑦\(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。本文旨在介紹利用基于C#編程語(yǔ)言的winform開(kāi)發(fā)工具,實(shí)現(xiàn)用概率法計(jì)算π的演示系統(tǒng)。本系統(tǒng)由GDI技術(shù)、計(jì)算機(jī)圖形學(xué)、概率算法作為實(shí)現(xiàn)原理,由winform工具顯示其演示過(guò)程,同時(shí)本地配置.Net Fromwork框架環(huán)境保證系統(tǒng)正常運(yùn)行。
關(guān)鍵詞:C# winform 概率法
中圖分類(lèi)號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)09-0192-01
C#語(yǔ)言是微軟公司研發(fā)的最新語(yǔ)言,其優(yōu)勢(shì)特點(diǎn)明顯,借助此語(yǔ)言的優(yōu)勢(shì),由winform工具顯示其演示過(guò)程,實(shí)現(xiàn)用概率法計(jì)算π的演示系統(tǒng)。
1 系統(tǒng)要求
1.1 系統(tǒng)綜合要求
本系統(tǒng)要求是一個(gè)設(shè)計(jì)合理、實(shí)現(xiàn)方便的利用隨機(jī)性算法計(jì)算π的程序,特別是需要注意程序的表現(xiàn)形式,要合理、明了、簡(jiǎn)單,有說(shuō)服力。在此基礎(chǔ)上可以提供利用隨機(jī)性算法計(jì)算一些常見(jiàn)函數(shù)圖形的計(jì)算定積分近似值輔助程序。
1.2 系統(tǒng)界面要求
界面是用戶(hù)接觸系統(tǒng)的第一個(gè)環(huán)節(jié),是人機(jī)交互的樞紐,界面的設(shè)計(jì)是否合理關(guān)系到整個(gè)系統(tǒng)的用戶(hù)體驗(yàn),所以界面設(shè)計(jì)是重中之重,本系統(tǒng)要求界面必須簡(jiǎn)潔明了,易操作,方便用戶(hù)使用,重要的輸入框和結(jié)果顯示必須放在明顯的地方,使用戶(hù)可以一眼看到,盡可能的提高用戶(hù)體驗(yàn)程度。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)為滿(mǎn)足功能需求,設(shè)計(jì)了四個(gè)功能窗體界面,主窗體界面功能為計(jì)算π的近似值:由用戶(hù)在輸入框內(nèi)輸入投放的點(diǎn)的數(shù)量,點(diǎn)擊“計(jì)算π”按鈕,空白區(qū)域會(huì)自動(dòng)開(kāi)始演示隨機(jī)點(diǎn)的降落過(guò)程,可以清晰的顯示出隨機(jī)點(diǎn)的降落位置,然后再右下角顯示出計(jì)算結(jié)果。在該窗體中還設(shè)置了三個(gè)跳轉(zhuǎn)按鈕:“計(jì)算sin”、“計(jì)算cos”、“計(jì)算半立方拋物線(xiàn)”,用來(lái)跳轉(zhuǎn)到相應(yīng)的功能界面。
3 開(kāi)發(fā)工具簡(jiǎn)介
3.1 Visual Studio 2010
Visual Studio是微軟公司推出的在Windows平臺(tái)應(yīng)用程序d的開(kāi)發(fā)環(huán)境,是一個(gè)非常龐大的軟件,甚至包含代碼測(cè)試功能,而且由于其強(qiáng)大的編碼輔助功能,還被廣大程序員稱(chēng)為“宇宙第一IDE”。
3.2 C#
C#的問(wèn)世是來(lái)源于C和C++,不僅保持著 C++的高運(yùn)行效率還提供了VB簡(jiǎn)單的可視化操作。C#讓編寫(xiě)各種基于MICROSOFT .NET平臺(tái)的應(yīng)用程序變得簡(jiǎn)單快捷。
3.3 Winform
Winform具備功能強(qiáng)大、操作方便、使用安全、控件靈活、數(shù)據(jù)管理等特點(diǎn),能夠設(shè)計(jì)窗體和可視控件,還可以在瀏覽器中運(yùn)行的不可信控件和用戶(hù)硬盤(pán)上安裝的完全可信的應(yīng)用程序,開(kāi)發(fā)人員可以定義自己有特色的新的控件,方便的數(shù)據(jù)顯示和操作。
4 主要界面設(shè)計(jì)
(1)計(jì)算π界面實(shí)現(xiàn):用戶(hù)在“測(cè)試總點(diǎn)數(shù)n”后面的輸入框內(nèi)輸入要投放的點(diǎn)數(shù),左邊標(biāo)有取值范圍,需要用戶(hù)按范圍輸入。(2)利用sin、cos函數(shù)圖像、半立方拋物線(xiàn)求陰影面積界面實(shí)現(xiàn):由用戶(hù)按上方的取值范圍輸入起點(diǎn)和終點(diǎn),點(diǎn)擊“開(kāi)始計(jì)算按鈕”后,系統(tǒng)開(kāi)始計(jì)算,計(jì)算結(jié)果會(huì)顯示在界面的右下角處。
5 主要功能設(shè)計(jì)
5.1 計(jì)算π功能實(shí)現(xiàn)
當(dāng)系統(tǒng)開(kāi)始計(jì)算時(shí),界面會(huì)實(shí)時(shí)更新落點(diǎn)的位置,但是有一個(gè)難題,就是無(wú)法讓一個(gè)像素點(diǎn)改變顏色,所有我采取了另一種方法,就是畫(huà)線(xiàn)!假設(shè)投放的隨機(jī)點(diǎn)的坐標(biāo)為(x,y),則由該點(diǎn)當(dāng)做起點(diǎn),將(x+1,y+1)當(dāng)做終點(diǎn),兩點(diǎn)之間畫(huà)直線(xiàn),這樣既可以達(dá)到想要的效果,而且由于這條線(xiàn)1個(gè)像素的長(zhǎng)度,所以并不影響視覺(jué)效果;當(dāng)計(jì)算結(jié)束后,結(jié)果會(huì)顯示在右下角處。
5.2 利用sin、cos函數(shù)圖像、半立方拋物線(xiàn)求陰影面積功能實(shí)現(xiàn)
統(tǒng)開(kāi)始計(jì)算時(shí),界面會(huì)實(shí)時(shí)更新落點(diǎn)的位置,使用戶(hù)可以更直觀的看到這個(gè)過(guò)程,當(dāng)計(jì)束后,結(jié)果會(huì)顯示在右下角處。
6 測(cè)試結(jié)果與數(shù)據(jù)分析
在系統(tǒng)的各項(xiàng)的開(kāi)發(fā)環(huán)節(jié)都陸續(xù)完成之后,為了測(cè)試系統(tǒng)運(yùn)行的準(zhǔn)確性,進(jìn)行了大量的數(shù)據(jù)測(cè)試,并得到了一些測(cè)試結(jié)果。
6.1 概率法計(jì)算π的近似值的測(cè)試結(jié)果(見(jiàn)表1)
π的取值大概在3.1415~3.1416之間,通過(guò)測(cè)試得到的結(jié)果可以看出,當(dāng)投放的點(diǎn)足夠多時(shí),此系統(tǒng)計(jì)算π的近似值得出的結(jié)果還是比較接近真實(shí)值的。
6.2 測(cè)試計(jì)算sin函數(shù)定積分的近似值
測(cè)試的函數(shù)表達(dá)式為:f(x)=sin(x/180 * π) * 100,投放的點(diǎn)數(shù)為5000點(diǎn),可以看出,此系統(tǒng)經(jīng)過(guò)計(jì)算所得出的近似值與實(shí)際值還是有一定的誤差的,但是誤差在10以?xún)?nèi),是可以接受的。
6.3 測(cè)試計(jì)算定積分的近似值
測(cè)試的函數(shù)表達(dá)式為:f(x) = cos( x/180 * π) * 100),投放的點(diǎn)數(shù)為5000點(diǎn),可以看出,此系統(tǒng)經(jīng)過(guò)計(jì)算所得出的近似值與實(shí)際值還是有一定的誤差的,但是誤差也比較小,同樣可以接受。
參考文獻(xiàn)
[1]范策.算法與數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M].北京:機(jī)械工業(yè)出版社,2004.
[2]許卓群.數(shù)據(jù)結(jié)構(gòu)與算法[M].北京:高等教育出版社,2005.
[3]葉其孝.大學(xué)生數(shù)學(xué)建模競(jìng)賽輔導(dǎo)教材(一)[M].長(zhǎng)沙:湖南教育出版社,1993.
[4]趙靜.數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)[M].北京:高等教育出版社,2000.
數(shù)字技術(shù)與應(yīng)用2016年9期