當前位置:編程學習大全網 - 編程語言 - 編程與數學的關系是什麽?

編程與數學的關系是什麽?

妳好,我是計算機專業大三的學生,我來說說在我的印象中數學的關系:

第壹,編寫程序體現的是壹個人的邏輯思維,既然涉及到邏輯,必然會與數學有些關系。但是與數學關系的深淺要與妳所涉及的方面有關。

第二,編程中必須要學的數學:

1.最基本的數字與運算知識:二進制的概念(在哈夫曼樹,哈弗曼編碼等方面有直接的應用),取余的概念(在循環鏈表,隨機數方面有應用),基礎平面幾何(在繪制窗口,繪制曲線,自定義按鈕等圖形化的地方會用到),還有些很基礎的數學知識絕對不超出初中的範疇。

2.計算機中的數學知識:主要的壹門叫做離散數學,講的是邏輯代數的相關知識,其實在真正的編程中不會直接體現這門課的重要性,對於初學者只要知道:與或非是怎麽回事,什麽是集合就可以了。離散數學還涉及到壹些圖與樹的概念,我現在先把這些劃歸到數據結構中。

3.我前面說了,編程與妳的需求有直接的關系,有些編程領域與數學的知識密不可分:

1)搞底層:舉個例子,如果妳想設計壹套妳自己的windows字體,那麽肯定涉及到字體平滑,字體平滑就涉及到壹個很難的數學知識:插值。這個知識在數值分析中講解,而且沒有高等數學的基礎,這門課想學會的可能性幾乎是零。。。這門課主要解決的是高等數學中的問題如何用計算機解決,比如:泰勒插值,拉格朗日插值,求解壹般方程或微分方程的解,還有的我忘了,反正都是很難的知識。而底層的很多編程都是以這些為基礎的。

2)搞圖形學:CG技術由於在遊戲中的如日中天,使得很多初高中生對圖形學神往已久,但卻不知計算機圖形學的知識是建立在很多大學數學課程的基礎上的。尤其是圖形學理論的學習,沒有線性代數的基礎是根本看不懂的。而在三維視圖方面又要涉及到高等數學中極坐標的知識。很多算法,比如梁-Baskey算法對於平面幾何分析水平的要求是非常高的!如果妳想搞遊戲設計,動畫電影(這個是要寫腳本程序的,否則畫面哪能那麽好),我勸妳還是到了大學再深入學習吧。

3)搞算法:學習算法與其說數學要好,還不如說成是智力要好。。。比如分治法,動態規劃算法,回溯法等對於問題的前期分析要求很高,尤其是列出遞歸方程,這些我覺得是在考智力。還有壹些,比如圖算法,樹的應用,排序,查找,這些知識涉及到計算機專業的另壹門課程:數據結構,這門課是計算機專業的核心課程之壹,也是專業與非專業的最大區別。這門課對數學要求不高,但對於壹個人的思維要求比較高。還有像計算幾何的問題,那就是純數學問題了。。。

4)搞密碼學:我不搞這方面,而且也沒研究過,但聽說這方面對數學要求極高!由於我的數學比較好,別人還推薦過我去搞這方面,但是我壹想到面對的都是數字,我就退縮了。。。

以上就是我所知道的與數學有關的計算機分支,每個方面都夠人學壹輩子,而且學好了,前途與錢途都是大大的!

第三,這麽多方面都跟數學有關,那編程豈不沒法學了?還有些方面對於數學要求相對較低,我說的相對較低是由於不管哪方面都會涉及到壹些基礎的數學算法。總的來說,越往高層,對數學的要求越低,比如MFC,那些網絡編程,系統編程都是封裝好的,但對於壹個系統來說整體的規劃和設計更關鍵,就是說前期的需求分析、邏輯結構設計和物理結構設計比編碼更重要,當然工資也更高。。。

最後,我想給妳提些學習編程的建議:

1)由於妳的年齡還小,中國的教育體質問題,希望妳不要把太多的精力放在這上面。。。我想妳懂的。雖然聽說過哪個孩子做了個遊戲之後成了百萬富翁,但這麽多年了,似乎只有他壹個,不要懷疑自己的實力,但更不要幻想妳有這個運氣。。。

2)編程註重邏輯思維,妳才是初中生,大腦的發育不知是否成熟(絕不是說妳智力低,妳應該知道大腦發育是有階段的吧),所以要以語言的基礎為主,這個對數學要求不高。

3)請選壹門語言去練習,編程註重實踐,沒有實踐只有理論那就等於沒學,所以壹定多練練。至於語言,我推薦學習C或C++,至於C與C++是怎麽回事,怎麽學習,這是另壹個比較難的話題。。。註意別上來就學VC++(MFC),否則妳會壹事無成!

4)編程很枯燥,所以要耐得住性子,不要壹見到難題就退縮,壹見到不會的概念就把書扔了,不會的時候請多看看基礎,八成是語言基礎不到位。

就寫這麽多吧,希望我的回答對妳有幫助。妳若有什麽問題還可以繼續問,若是編程過程中遇到什麽問題也可以問我,很歡迎的!

  • 上一篇:壹年級寫的感人故事
  • 下一篇:求壹本書 職業生涯規劃
  • copyright 2024編程學習大全網