遲呈英 王玄同 王子涵 戰(zhàn)學(xué)剛
摘 要:在實踐過程中,人們往往忽略了數(shù)學(xué)的重要性。我們通過理論分析和編程實例,對數(shù)學(xué)解題方法與程序設(shè)計過程進(jìn)行對比,討論了數(shù)學(xué)解題方法與程序設(shè)計關(guān)系,闡述了數(shù)學(xué)思維在程序設(shè)計中的重要性。
關(guān)鍵詞:數(shù)學(xué)解題方法;程序設(shè)計;遞歸函數(shù)
中圖分類號:TP311.1 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
計算機(jī)程序,簡稱程序,是指一組指示計算機(jī)每一步動作的指令,用某種程序設(shè)計語言編寫,運(yùn)行于某種計算機(jī)之上。與程序相關(guān)的另一個概念是軟件。軟件包括程序、支撐程序運(yùn)行所需的數(shù)據(jù)資源、以及與這些程序相關(guān)的文檔。程序設(shè)計是給出解決特定問題程序的過程,程序設(shè)計過程通常包括分析、設(shè)計、編碼、測試、排錯等不同階段。程序設(shè)計語言是人與計算機(jī)交流的工具。當(dāng)然,從工程角度來看,它也是軟件人員之間的交流工具。
澄清了程序、程序設(shè)計、程序設(shè)計語言等概念后,我們換一個角度考察機(jī)器,即計算機(jī)。從機(jī)器功能方面,我們可以將計算機(jī)看作是具有很大存儲容量的計算機(jī)器,其計算功能是通過自然數(shù)系統(tǒng)、布爾代數(shù)、整數(shù)系統(tǒng)和有理數(shù)系統(tǒng)完成的。
自然數(shù)系統(tǒng)和布爾代數(shù)是基本的,整數(shù)系統(tǒng)和有理數(shù)系統(tǒng)可以由前兩項通過編碼完成(事實上,早期的計算機(jī)就是這樣做的),也可以由硬件直接實現(xiàn)。這樣,我們可以把程序看作是通過上述幾個代數(shù)系統(tǒng)對計算過程的描述。當(dāng)然,我們所使用的計算機(jī)作為具體計算過程的執(zhí)行者,其本身的特性是程序設(shè)計語言和程序設(shè)計者必須考慮的。正因為如此,我們可以將程序設(shè)計語言看作是受計算機(jī)特性約束的數(shù)學(xué)語言。
4 結(jié)論(Conclusion)
數(shù)學(xué)是各門科學(xué)的基礎(chǔ),起初計算機(jī)科學(xué)只是數(shù)學(xué)的一個分支,隨著時代的發(fā)展,人們越來越理解計算機(jī)與數(shù)學(xué)是
密不可分,計算機(jī)事實上就是一個計算工具。程序設(shè)計解決問題都是實際應(yīng)用問題,涉及各種各樣的科學(xué)計算,而實際問題轉(zhuǎn)換為程序,要經(jīng)過一個對問題抽象的過程,建立起完善的數(shù)學(xué)模型,才能設(shè)計一個問題解決的程序。這需要程序員具有良好的數(shù)學(xué)基礎(chǔ)。軟件編程的思想最重要是算法,而算法是建立在數(shù)學(xué)思維上的,其實說白了,程序只是一件衣服,算法才是它的靈魂,算法就來自于數(shù)學(xué),沒有深厚的數(shù)學(xué)思維功底,是弄不懂算法的。反過來,部分人對數(shù)學(xué)的重視程度不夠,在實際工作中往往會遇到困難。作者之一在過去30多年里,問過30多名數(shù)學(xué)本科以上學(xué)歷的人,一加一為什么等于二?竟然沒有一人完全回答正確!數(shù)學(xué)解題方法的合理運(yùn)用,可以給編程帶來很大方便,現(xiàn)在一些軟件的編寫,越來越多的用到數(shù)學(xué)推導(dǎo)和歸納。要在如此眾多的程序設(shè)計人員里面取得優(yōu)異成績,堅實的數(shù)學(xué)基礎(chǔ)和能力是很重要的。
參考文獻(xiàn)(References)
[1] 張金玲.關(guān)于數(shù)學(xué)問題的解法與計算機(jī)算法的討論[J].邢臺學(xué)
院學(xué)報,2006(12):105-106.
[2] Bjarne Stroustrup.Programming:Principles and Practice in
C++. Addison Wesley,2009.
[3] 馬良齋.從遞歸算法看數(shù)學(xué)在計算機(jī)程序設(shè)計方面的作用[J].
河西學(xué)院學(xué)報,2007(5):66-67.
[4] Edmund Landau.Grundlagen der Analysis(Das Rechnen mit
Ganzen,Rationalen,Irrationalen,Komplexen Zahlen)Chelsea
Publishing Company,1960 3rd ed.
[5] C.Bohm and G.Jacopini.Flow diagrams,Turing machines and
languages with only two formation rules.Communications of the
ACM,366-371,May 1966.