崔羽
隨著計算機行業的高速發展,各色各樣的應用軟件應接不暇,計算機作為人類文明發展最重要的工具之一,其首要功能還是幫助人類進行學術或者科學研究。因此,本文旨在介紹利用基于C#編程語言的winform開發工具顯示其演示過程,,實現用概率法計算π的演示系統。
【關鍵詞】C#概率算法 π值 winform
C#是微軟公司發布的一種面向對象的,并且運行于.NET Framework之上的高級程序設計語言,在微軟職業開發者論壇上亮相。C#是微軟公司的研究成果,其功能看起來和Java有著驚人的類似,包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但又與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的。
1 研究的意義
概率算法的一個基本特征是對所求解問題的同一實例,用同一概率算法求解兩次,有可能會得到兩種完全不同的結果,求解所需要的時間也有可能會有非常大的差異。通常情況下,可將概率算法大致分為四大類,即數值概率算法,蒙特卡羅算法,拉斯維加斯算法以及舍伍德算法。
其中,數值概率算法大多情況時用于對數值問題來進行求解,這類算法所得到的解大多是近似解,而且近似解的精度會隨著計算時間的延長而不斷的提高。在許多的情況下,要計算出問題的精確解是不可能或者是沒有必要的,因此用數值概率算法可得到相當滿意的解。尤其是,數值概率算法在求解諸如定積分,非線性方程以及諸多實際問題中應用廣泛,很多情況下可以減小算法時間和空間的復雜度。把其隨機性引入到算法中去,會使得算法設計和分析的靈活性及解決問題的能力能夠改善很多。
2 需求分析
主界面為計算π的窗體,用戶在測試總點數的輸入框中輸入想要測試的落點總數,然后點擊“計算π”按鈕開始演示,要求畫出清晰直觀的圖像來表現落點的位置,且計算出結果。
點擊“計算sin”按鈕進入計算sin的窗體:輸入起點和終點,點擊“開始計算”按鈕開始演示,要求畫出清晰直觀的圖像來表現落點的位置,且計算出結果。
點擊“計算cos”按鈕進入計算cos的窗體:輸入起點和終點,點擊“開始計算”按鈕開始演示,要求畫出清晰直觀的圖像來表現落點的位置,且計算出結果。
點擊“計算半立方拋物線”按鈕進入計算立方拋物線的窗體:輸入起點和終點,點擊“開始計算”按鈕開始演示,要求畫出清晰直觀的圖像來表現落點的位置,且計算出結果。
3 系統詳細設計
3.1 計算π值界面的實現
用戶在“測試總點數n”后面的輸入框內輸入要投放的點數,左邊標有取值范圍,需要用戶按范圍輸入,界面效果圖如圖1。
3.2 計算π功能實現
當系統開始進行計算的時候,界面就會對落點的位置實時進行更新,但無法讓一個像素點改變顏色,那么,假設投放隨機點的坐標是(x,y),把此點看做起點,將(x+1,y+1)看為終點,在這兩點之間畫直線,這樣就可以達到預想的效果,這條線僅有像素的長度,并不能影響其視覺效果,計算結束后,結果顯示在右下角,效果圖如圖2。
4 對系統進行測試并對結果進行分析
在系統的各項開發環節陸續完成之后,為了測試系統運行的準確性,通過概率法計算π的近似值對大量的數據進行測試,測試結果如表1。
目前已知的π的取值大概在3.1415~3.1416之間,通過測試得到的結果可以看出,當投放的點足夠多時,此系統計算π的近似值得出的結果還是比較接近真實。
參考文獻
[1]邢永康,馬少平.統計語言模型綜述[J].計算機科學,2003(09):22-26.
[2]張敬芝,高強,耿樺,等.統計自然語言處理中的線性插值平滑技術[J].計算機科學,2007(34):223-225.
[3]許卓群等.數據結構與算法[M].北京:高等教育出版社,2005.
[4]葉其孝主編.大學生數學建模競賽輔導教材(一)[M].長沙:湖南教育出版社,1993.
[5趙靜,但琦主編.數學建模與數學實驗[M].北京:高等教育出版社,2000.
[6]盛驟,謝式千,潘承毅.概率論與數理統計(第二版)[M].北京:高等教育出版社,1989.
作者單位
武警警官學院 四川省成都市雙流縣 610213