❶ 數學對編程的作用,最好是程序員來回答.
其實編程可以看做是數學的模式化,數學培養的是分析問題解決問題的能力,在編程初級來講,數學是體現不了多大的作用,因為初級的編程只要求對於法和簡單演算法的掌握,用不到太高深的東西,但在數據結構,演算法中,數學就尤為重要了,有時候需要用數學來證明一些類似於最短路,最短時間,空間復雜度,時間復雜度的問題,還有通過數學計算出最優的解法,初級編程很那理解,但當你要將一段功能很強大的程序寫到一個只有幾十K甚至更小的空間里,你就會發現用數學推導的作用了。舉個簡單的例子,關於計算機軟體方面的考研,名師們一般都喜歡數學更好一些的學生,哪怕專業課稍差一些
❷ 編程與數學的關系是什麼
數學是一門工具性很強的科學,它與別的科學比較起來還具有較高的抽象性等特徵。起初是計算機科學工作者離不開數學,而數學工作者認為計算機對他們可有可無,但是現在是互相都離不開對方了,計算機也提高了數學工作者在人們心目中的地位,大部分的數學工作者開始認識到計算機的重要性,並越來越多地進入到計算機領域發揮作用。但是隨著人工智慧、GPS(全球定位系統)等飛速的發展和計算機運算性能飛躍性的提升,計算機的優勢越來越深入到思維領域,於是計算機將高深的數學理論用到實際中來,十分有效地解決了許多實際問題,例如著名難題四色問題就是被計算機證明的。問題的求解過程中有許多具有實用價值的數學分支如分析幾何、小波分析、離散數學、仿生計算、數值計算中的有限單元方法等。它讓人們知道計算機程序設計結合的就是數學知識和數學思想。
軟體編程是基於數學模型的基礎上面的,所以,數學是計算機科學的主要基礎,以離散數學為代表的應用數學是描述學科理論、方法和技術的主要工具。軟體編程中不僅許多理論是用數學描述的,而且許多技術也是用數學描述的。從計算機各種應用的程序設計方面考察,任何一個可在存儲程序式電子數字計算機上運行的程序,其對應的計算方法首先都必須是構造性的,數據表示必須離散化,計算操作必須使用邏輯或代數的方法進行,這些都應體現在演算法和程序之中。此外,到現在為止,演算法的正確性、程序的語義及其正確性的理論基礎仍然是數理邏輯,或進一步的模型論。真正的程序語義是模型論意義上的語義。於是軟體編程思想運行的嚴密性、學科理論方法與實現技術的高度一致是計算機科學與技術學科同數學學科密切相關的根本原因。從學科特點和學科方法論的角度考察,軟體編程的主要基礎思想是數學思維,特別是數學中以代數、邏輯為代表的離散數學,而程序技術和電子技術僅僅只是計算機科學與技術學科產品或實現的一種技術表現形式。
(一)數學在計算機領域的發展
如今形形色色的軟體,都與數學有必然的聯系,它們相互相成。例如,邏輯學在學科中的應用從早期的數理邏輯發展到今天的程序設計模型論;數學在學科中的應用從早期的抽象代數發展到今天的圖形學、工程問題方面;幾何學的應用從早期的二維平面計算機繪圖發展到今天的三維動畫軟體系統,並在與復分析的結合中產生了分形理論與技術;在游戲、圖形軟體開發中引用了線性代數中大量的坐標變換,矩陣運算;在數據壓縮與還原、信息安全方面引入了小波理論、代數編碼理論等。
(二)軟體編程的思維定式
軟體編程的思維定式決定了一個人編程的水平,在編程過程中,數學思維清晰,編寫出來的程序讓人耳目一新。結合教學,通過調查分析,了解到超過85%的學生,他們在編程時是根據語法而編寫程序,完全脫離了軟體編程的思維,這種思維定式使得他們編寫的程序相當糟糕,沒有一點邏輯。
之所以造成這種軟體編程的思維,是因為他們平時對數學思維的培養不夠重視。很多學計算機的學生想:學高數,這有什麼用?學線性代數有什麼用?學離散數學,有什麼用?於是他們很少去上這些課,馬馬虎虎,整天悶在寢室里,玩玩游戲,裝裝軟體,看看C語言。只知道概率問題和矩陣知識在其它課程上起到了互補作用,學的不是很深。但是當他們看到<<數據結構和演算法>>時,感到其中的內容對他們而言感覺相當的艱澀難懂,這時他們就隱約感覺到了數學思維的作用了。在此之前,他們不僅荒廢了大學的高等數學,連初中的初等數學也忘的好多,當他們進行高抽象思維時,確實感覺自己的思維已經很遲鈍了。學計算機的學生之所以覺得《數據結構》這門課程很難,就是因為他們的數學思維鍛煉的不夠!其實生活中有很多這樣的例子:對於一個剛畢業的,編應用軟體的大學生,在編程中用到《線性代數》的矩陣時,恐怕便會想,在大學把線性代數學好就好了;當在程序中用到動態鏈表、樹時,恐怕也會想「在大學時花點時間去學《數據結構》,會多麼的有意義」;當學數據結構時,恐怕也會想「學《離散數學》時為什麼要逃那麼多的課,要不然學離散的時候就會很輕松」。所以數學思維不夠,在軟體編程會有很多的疑慮,顯的有點縮手縮尾,而且寫的程序也不夠健全,缺乏邏輯。
(三)軟體編程與數學思維的融合
很多專業人士覺得數學和軟體編程能力就像太極和拳擊,軟體編程能力很強就好比出拳速度很快很重,能直接給人以重擊;數學很好的話就好像一個太極高手,表面上看沒有太大的力量但是內在的能量是更強大的,但是好的拳擊手是越年輕越好,而太極大師都是資歷越深越厲害。所以數學是成就大師的必備能力,雖然很多學生看上去感覺沒有什麼用途,但是到了一定的水平之後就會體會它的力量了。
❸ 線形代數,離散,概率論,高數分別對計算機編程起什麼作用
1.線代、高數、概率數學對計算機編程基本沒用處,稍稍有些用的是離散;
2.計算機編程起初主要是為了解決數學計算問題;
3.如果你想解決數學問題,應該要學習這些數學,如果編程是為了其它目的,不學也可以。
❹ 為什麼說線性代數對學計算機的很重要
線性代數對學計算機很重要。應用計算機的高速運算功能解決實際問題離不開線性代數的知識。
計算機圖形學、計算機輔助設計、密碼學、虛擬現實等技術無不以線性代數為其理論和演算法基礎的一部分。線性代數所體現的幾何觀念與代數方法之間的聯系,從具體概念抽象出來的公理化方法以及嚴謹的邏輯推證、巧妙的歸納綜合等,對於強化人們的數學訓練,增益科學智能是非常有用的。
線性代數的含義隨數學的發展而不斷擴大。線性代數的理論和方法已經滲透到數學的許多分支,同時也是理論物理和理論化學所不可缺少的代數基礎知識。總之,線性代數對學計算機很重要,方法和思想並重。
(4)普通代數對編程的作用為什麼擴展閱讀:
定理:
1、矩陣非奇異(可逆)當且僅當它的行列式不為零。
2、矩陣非奇異當且僅當它代表的線性變換是個自同構。
3、矩陣半正定當且僅當它的每個特徵值大於或等於零。
4、矩陣正定當且僅當它的每個特徵值都大於零。
5、解線性方程組的克拉默法則。
6、判斷線性方程組有無非零實根的增廣矩陣和系數矩陣的關系。