計算機編程算法和數學有什麼關係?

恆少Jacky


謝謝,這是一個比較普遍的問題,而且被問了很多次,在大學裡面孩子們在選擇方向的時候,如果是知道編程這個方向,基本上都會問出這個問題。我自己本身,教過中學,目前在大學裡工作,雖然不是做編程的,但是主要做計算機設計與媒體方向,是和計算機相關。



回到這個問題,我覺得應該從以下幾個方面去了解

第一,我覺得編程的人一般都是具有良好的邏輯思維的人,因為,如何用程序語言的方式,把一件事情,說清楚,這本身就是一個邏輯問題。因為依靠程序去實現一個目的,所使用的方式不止一種。而數學,被認為與邏輯,非常相關的一個學科。

第二,大學裡軟件類的編程相關專業中要學數學,比如高等數學,線性代數,離散數學,數據庫等,而且都是專業課和考試課。


第三,編程和數學有關,但並不是說,不學數學,編程就沒法學,其實是越往高層,對數學的要求,就會越低,比如,以前網絡編程系統編程,大都是封裝好的,但對於一個系統來說,整體的規劃和設計更關鍵,這就是說前期的需求分析,邏輯結構設計,和物理結構設計比編碼更重要。

最後一點,我想補充的,很多人認為學設計,就和編程沒有關係,其實這也是不對的。特別是圖形學理論的學習,沒有線性代數基礎,是根本看不懂的,還有在三維視圖方面,又涉及到高等數學當中的座標知識。很多算法,對於平面幾何分析水平的要求也是很高的,比如說,如果你想搞遊戲設計,動畫電影,很多時候也是要編寫腳本的,否則畫面,是沒有那麼好的。

總的來說,他們之間還是有一定關係的。謝謝


精彩輯選


計算機編程和數學有很大關係

計算機編程和數學都是具有很強邏輯性。

編程和數學都可以鍛鍊邏輯思維能力。而且是以可以相互促進的兩門學科。這就是為什麼,很多學數學的人最後轉行做編程的原因,因為他們是想通的。

學計算機編程需要有底層數學知識。

不會高等數學的話,編程只能是做一些基礎性的,日常性的事情。但如果數學足夠好,就可以做更精密的一些,誤差更小,精確度更高,也更有可能做創造性的內容。


阿慧麼麼


站在程序員角度,常用算法與數學沒有一毛錢的關係,僅是評估算法是定量分析下。但對多數程序員而言,這些常用算法還需要再自己評估嗎?平時只是調用庫函數而已。

站在科研人負角度,解決某一具體問題,通常要採用數學模型進行建模分析,但這個模型與實用算法之間通常有非常大的差距。

結論:是程序員的話,深刻理解常見算法,並應用其解決自己工作中的常見問題,不要老想到數學家的事!是科研人員的話,多多發論文,多申請基金,反正現在國家在基金支助上不差錢,就不要想著什麼實用了,這麼多年都證明:真正實用的是少數!


清零19491001


一般來說兩者是沒有聯繫的,只是兩者都需要很強的邏輯能力。對於日常使用計算機編程算法不需要數學,只是在具體使用中由於用途中會使用數學公式或者數學方法,這時編程語言需要執行數學公式,兩者就結合在一起了,比如在用程序語言進行圖像處理就常常會用到傅立葉變換,或者拉普拉斯算子之類的數學方法。

另外理工科領域在大學之後的計算常常要藉助計算機進行循環計算或者大批量數據處理,有時為了特定的目標需要自己編寫程序,比如使用神經算法實現優化計算。常常需要編程進行統計學的計算。


樓雁南


編程算法強調的是邏輯,簡單說就是第一步怎麼做,第二步怎麼做,直到結束。數學算法是利用數與數之間的關係進行比較快的運算。如果數學算法有很好的基礎,對於編程是有很大的幫助的。例如判斷一個數n是否為質數,一般方法判斷[2,n-1]區間內的整數是否存在能整除n,不存在就是質數。如果有數學算法的底子就知道,只需要判斷2到根號n之間的整數是否存在能整除n,不存在就是質數。這樣做的好處就是,搜索的範圍小了,求解速度快。


一笑不樂


嚴格的來說,計算機編程算法,是數學的一個具體分枝,在高中數學中,大家都要學習程序框圖,而程序框圖,是編程的關鍵。在計算機早期的發展過程中,計算機程序設計是歸入數學系,要學習布爾代數,邏輯等很多課程,隨著社會的發展,計算機的應用越來越廣泛,計算機和其他的知識結合越來越多,計算機發展成為一個專門的學科,但,它的基礎是數學,是邏輯思維。


分享到:


相關文章: