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