因為沒有數學,就沒有現在的計算機科學。所以,請務必學好數學!

2020-12-21 騰訊網

數學在計算機科學中的重要性

數學是一門工具性很強的科學,它與別的科學比較起來還具有較高的抽象性等特徵。起初是計算機科學工作者離不開數學,而數學工作者認為計算機對他們可有可無,但是現在是互相都離不開對方了,計算機也提高了數學工作者在人們心目中的地位,大部分的數學工作者開始認識到計算機的重要性,並越來越多地進入到計算機領域發揮作用。

但是隨著人工智慧、GPS(全球定位系統)等飛速的發展和計算機運算性能飛躍性的提升,計算機的優勢越來越深入到思維領域,於是計算機將高深的數學理論用到實際中來,十分有效地解決了許多實際問題,例如著名難題四色問題就是被計算機證明的。問題的求解過程中有許多具有實用價值的數學分支,如分析幾何、小波分析、離散數學、仿生計算、數值計算中的有限單元方法等。它讓人們知道電腦程式設計結合的就是數學知識和數學思想。

軟體編程是基於數學模型的基礎上面的,所以,數學是計算機科學的主要基礎,以離散數學為代表的應用數學是描述學科理論、方法和技術的主要工具。軟體編程中不僅許多理論是用數學描述的,而且許多技術也是用數學描述的。從計算機各種應用的程序設計方面考察,任何一個可在存儲程序式電子數字計算機上運行的程序,其對應的計算方法首先都必須是構造性的,數據表示必須離散化,計算操作必須使用邏輯或代數的方法進行,這些都應體現在算法和程序之中。

此外,到現在為止,算法的正確性、程序的語義及其正確性的理論基礎仍然是數理邏輯,或進一步的模型論。真正的程序語義是模型論意義上的語義。於是軟體編程思想運行的嚴密性、學科理論方法與實現技術的高度一致是計算機科學與技術學科同數學學科密切相關的根本原因。

從學科特點和學科方法論的角度考察,軟體編程的主要基礎思想是數學思維,特別是數學中以代數、邏輯為代表的離散數學,而程序技術和電子技術僅僅只是計算機科學與技術學科產品或實現的一種技術表現形式。

軟體編程與數學思維的聯繫

數學在計算機領域的發展

如今形形色色的軟體,都與數學有必然的聯繫,它們相互相成。例如,邏輯學在學科中的應用從早期的數理邏輯發展到今天的程序設計模型論;數學在學科中的應用從早期的抽象代數發展到今天的圖形學、工程問題方面;幾何學的應用從早期的二維平面計算機繪圖發展到今天的三維動畫軟體系統,並在與複分析的結合中產生了分形理論與技術;在遊戲、圖形軟體開發中引用了線性代數中大量的坐標變換,矩陣運算;在數據壓縮與 還原、信息安全方面引入了小波理論、代數編碼理論等。

軟體編程的思維定式

軟體編程的思維定式決定了一個人編程的水平,在編程過程中,數學思維清晰,編寫出來的程序讓人耳目一新。結合教學,通過調查分析,了解到超過85%的學生,他們在編程時是根據語法而編寫程序,完全脫離了軟體編程的思維,這種思維定式使得他們編寫的程序相當糟糕,沒有一點邏輯。

之所以造成這種軟體編程的思維,是因為他們平時對數學思維的培養不夠重視。很多學計算機的學生想:學高數,這有什麼用?

學線性代數有什麼用?學離散數學,有什麼用?於是他們很少去上這些課,馬馬虎虎,整天悶在寢室裡,玩玩遊戲,裝裝軟體,看看C語言。只知道概率問題和矩陣知識在其它課程上起到了互補作用,學的不是很深。

但是當他們看到>時,感到其中的內容對他們而言感覺相當的艱澀難懂,這時他們就隱約感覺到了數學思維的作用了。在此之前,他們不僅荒廢了大學的高等數學,連初中的初等數學也忘的好多,當他們進行高抽象思維時,確實感覺自己的思維已經很遲鈍了。

學計算機的學生之所以覺得《數據結構》這門課程很難,就是因為他們的數學思維鍛鍊的不夠!其實生活中有很多這樣的例子:

對於一個剛畢業的,編應用軟體的大學生,在編程中用到《線性代數》的矩陣時,恐怕便會想,在大學把線性代數學好就好了;

當在程序中用到動態鍊表、樹時,恐怕也會想「在大學時花點時間去學《數據結構》,會多麼的有意義」;當學數據結構時,恐怕也會想「學《離散數學》時為什麼要逃那麼多的課,要不然學離散的時候就會很輕鬆」。所以數學思維不夠,在軟體編程會有很多的疑慮,顯的有點縮手縮尾,而且寫的程序也不夠健全,缺乏邏輯。

軟體編程與數學思維的融合

很多專業人士覺得數學和軟體編程能力就像太極和拳擊,軟體編程能力很強就好比出拳速度很快很重,能直接給人以重擊;數學很好的話就好像一個太極高手,表面上看沒有太大的力量但是內在的能量是更強大的,但是好的拳擊手是越年輕越好,而太極大師都是資歷越深越厲害。所以數學是成就大師的必備能力,雖然很多學生看上去感覺沒有什麼用途,但是到了一定的水平之後就會體會它的力量了。

數學思維在軟體編程中的應用

目前很多出名的IT公司在筆試的時候,都會在程序設計題中考察應聘者的數學思維能力,因此,這應該引起廣大學生在平時的學習中注意鍛鍊自己的數學思維,有機會的話參加一下數學建模比賽,你便會有很深刻的體會 ---原來數學和計算機結合得這樣緊密。下面典型的代碼,在設計過程中充分的運用了數學思維。

題目一:從3個紅球,5個白球,6個黑球中任意取出8個球,且其中必須有白球,輸出所有可能的方案。

程序一:

#include "stdio.h"

void main()

{

int i,j,k; //I代表紅球,j代表白球,k代表黑球

printf("\n red write black\n");

for(i=0;i

for(j=1;j

{

k=8-i-j; //黑球的個數

if(k>=0&&k

{

printf("%3d,%3d,%3d",i,j,k); //輸出組成方案

}

}

}

從上面的例子中我們可以隱隱知道數學思維在軟體編程中的應用。儘管學習數學帶給計算機專業人士的回報大過常人,但現今社會裡每個人都能由此受益,是讓人們提高自己思維能力,變得聰穎的絕佳方法。這種思維能力能讓人們在各方面受益!但實際上,數學上功底紮實,在軟體編程上的優勢盡顯,項目的設計模式格外地優化,程序邏輯條理也格外地清晰。因為數學可以培養人的邏輯思維能力,而程序設計需要很強的邏輯思維能力。

這些讓我們深刻的體會到數學思維與軟體編程的耦合性,其實我們國家的計算機軟體水平的落後不是因為我們缺少程式設計師,而是因為缺乏懂數學的高質量的程式設計師。一個具有數學修養的程式設計師在寫代碼時更有可能寫出邏輯嚴密的最簡化的高質量代碼。而目前一些龍頭IT公司,比如微軟公司總裁比爾·蓋茨年青時就對數學很痴迷,而他們的項目經理,必須得具備超強的數學思維,而且有些還是數學專業的博士,從這也可以看出微軟公司對於數學人才的重視程度。

軟體編程的思想最重要是算法,而算法是建立在數學思維上的,其實說白了,程序只是一件衣服,算法才是它的靈魂,算法就來自於數學,沒有深厚的數學思維功底,是弄不懂算法的。所以,如果你想從事軟體編程,那麼就認真的培養自己的數學思維吧!

相關焦點

  • 如何學好數學,學好中學數學有訣竅,由薄到厚、由厚到薄
    相信通過上前面的內容大家能意識到數學有多重要了,那如何學好數學呢,我儘量用最簡單的語言告訴所有小夥伴。 既然前面說學好數學很重要,那麼我們認識下我們在學習過程中可能會犯的錯誤有哪些吧。
  • 初中數學:《勾股定理》典型例題分析講解!考試必考,務必收藏好
    初中數學:《勾股定理》典型例題分析講解!考試必考,務必收藏好「勾股定理」是初中數學當中非常重要的一項內容,是幾何、函數等內容的分支,串聯著這些考點內容,因此想要學好勾股定理,肯定還是要多花一些心思的。正所謂「幾何思維」,如果解答類似的題型,沒有自己的想法的話,那麼肯定是難以取得好成績的,所以同學們必須要找準自己的薄弱點,並做針對性的訓練。其實,勾股定理本身的定義不難理解,直角三角形兩條直角邊的平方和等於斜邊的平方,相信很多同學都知道這個公式。
  • 二年級數學乘法練習題 乘法是數學學習基礎內容之一,務必學好
    乘法是小學數學學習中最為基礎的內容之一,也是二年級上冊的重中之重。能熟練地掌握這部分內容,對於基本數學概念的理解和計算能力的形成都有著很大的影響,對下冊學習除法也有著直接影響,而且也會影響孩子們以後學習數學的興趣。所以,務必要學好乘法。
  • 「金仕教育」數學專業就業方向,美國本科數學專業到底是學什麼?
    德國數學家卡爾·弗裡德裡希·高斯(Carl Friedrich Gauss)稱數學為「科學的皇后」,因為它使人們對物理現實有了更多的了解。一些學校區分純數學和應用數學。描述這兩種數學專業之間差異的一種方法是,應用數學是實際投入使用的數學,而純數學更像是在電影《善意狩獵》或《美麗心靈》中看到的。
  • 任正非可以成為中小學生學好數學的好榜樣
    因為華為是中國高科技第一次全面超越、並且大幅度領跑的原創技術,。這讓霸道的美國慌了手腳,所以它不惜動用國家的力量,甚至動用無恥的手段迫使西方的劍橋等大學斷絕與華為的合作關係。所以,要讓孩子們知道,無論是以後自己要研究晶片還是人工智慧產業,都與數學密不可分,我們都要學好數學,才能成為華為的、乃至於我們國家的明日之星。2.華為一直對數學學科、對數學家們無比的重視,因為這些數學家正是華為的寶貝。
  • 學好數學不得不注意的幾個要點
    如何學好數學也就成為了一個永遠被大家熱議的話題,該如何來學好數學呢?首先就是興趣,一定要培養數學學習興趣。有句話說得好,興趣是最好的老師。可是很多同學壓根就沒有數學學習的興趣怎麼辦?那就開始強迫著自己去學習,去發現數學的美和價值,多去想想自己數學學好之後的一些事情。
  • 豌豆思維怎麼樣幫孩子樹立學好數學的自信心?
    我家啵妞從小就被人誇聰明伶俐,因為在她小時候每天睡前我都陪她讀故事,在 2 歲的時候就給她做英語啟蒙。因此啵妞從小就看起來像是一個語言天賦極高、知識面又廣的小女孩。至於數學思維方面的啟蒙我一直都沒有重視,心想小學不過就教簡單的算術,但是沒想到剛上一年級的啵妞在期中考試後自信心就大受創,跟我說同學笑她總是連簡單的題目都算錯。啵妞說她討厭數學,是數學害她不能名列前茅。看到啵妞這厭學的心理我才意識到得幫她找到學好數學的方法,於是決定嘗試李開復都推薦的豌豆思維怎麼樣。
  • 你為什麼學不好數學,學好初中數學真的和智商關係不大
    常有家長問我,老師,我們家孩子學不好數學,是不是他笨,智商跟不上啊?我想要說的是,學好初中數學真的和智商關係不大。那麼,為什麼還是有很多學生數學考試不及格,甚至還會出現個位數呢?1.學習態度的問題十個數學不及格的學生,至少有八個是學習態度的問題。初中數學學習上,態度起了很關鍵的作用。學習態度是一個比較空泛的概念,你是主動學習的,還是被動學習的?你課前有沒有預習,課上有沒有認真聽講,課後的作業是不是獨立完成的?
  • 七年級數學學習方法:怎樣輕鬆學好初中數學
    中考網整理了關於七年級數學學習方法:怎樣輕鬆學好初中數學,希望對同學們有所幫助,僅供參考。   第一,要有良好的預習習慣。預習是學好數學的一個必不可少的環節,它可以讓我們對一課的內容有一個大致的了解,知道它的學習方向。這樣就可以讓你在課堂上遊刃有餘,養成良好的預習習慣,還會使同學們的自學能力大大提高。
  • 如何高效學好數學?這些做法讓整個學習的過程更有效率!
    學習數學並非一蹴而就,理解、掌握和複習都需要下功夫和專心練習,這些都是在學校日常和生活中學習的重要技能。如何讓整個學習的過程更有效率,牢固掌握知識,也是有方法和技巧。請看下面幾位朋友參與的 [遇見] 徵集 "如何高效學好數學?"贈書活動所分享的原創技巧。
  • 初中數學:圖形計算公式匯總,很全面!學好數學就靠它了!
    數學是一門基礎學科,對於許多同學來說,數學學習的好壞與否,會直接影響到後面化學、物理、生物等學科的學習,由此可見學好數學是多麼的重要。而在數學的學習中,幾何題目是同學們掌握起來比較吃力的部分。特別是那些比較難一點的幾何題目。
  • 數學真的沒有用嗎?
    為什麼人們會覺得數學沒有用:現在人們大部分人都認為數學會個加減乘除就夠用了,為什麼還要學函數、複變函數、線性代數等等複雜的數學。以至於人們自嘲「我用到數學最多的地方可能就是去買東西的時候了吧。」而到底是什麼造成這樣呢?這是因為現在的數學太過抽象了。
  • 馬雲:數學的用處是無用之用數學學的是不同之同
    7月2日消息,據悉,在第二屆阿里巴巴全球數學競賽頒獎典禮上,馬雲表示,我們要感謝數學,因為沒有那些偉大的數學家就不會有計算機,也不會有我們現在的網際網路。不敢想像今天的疫情下,沒有計算機和網際網路我們會如何生存。
  • 常說學好數理化,走遍天下都不怕。為什麼數學排第一?
    談及數學,相信不少人會覺得這戳到了他們讀書時代的痛處,誰沒有被數學折磨過呢?對絕大多數人來說,數學是一生中學得最多的一門課程:從小學到中學,從中學到大學,包括到了研究生的學習階段,都在學習數學。可為什麼要花這麼多時間來學習數學?又為什麼一定要努力學好數學呢?
  • 初中數學跟不上,與小學沒學「奧數」有關嗎?數學老師告訴你答案
    所以說,奧數班其實更注重學生大腦思維的邏輯性培養。2、學習奧數對初中數學有影響嗎?從某種意義上說,還是有一點用處的,不過用處不大。因為學生上初一的時候,學校教的數學必須跟六年級所學的知識有所關聯,所以小學的時候學過奧數的學生,會比沒有學過的學生,要跟他容易理解一些。
  • 初中七年級數學學習方法:初一數學怎麼學?
    中考網整理了關於初中七年級數學學習方,希望對同學們有所幫助,僅供參考。   數學要學得好,都說是要多做,但我認為還要不僅多做,還要學會理解,在理解的基礎上,你才能在做其他題目時得於運用。初一的幾何其實不難學,看你勤不勤啦。這是基礎部分,你就把老師上課講的搞懂,課後,先回顧一下,再做作業,要學會運用老師說的。從簡單的題目開始做。
  • 高中女生「數學成績好」,多數有這4個特徵,能中一個也很好
    ,數學和數字有著密切關係,這些數學成績好的高中女生,普遍對數字敏感,因為她們具有很好的觀察能力和記憶能力,看到數字,就能相關的數學現象,時間長了,還會形成條件反射。 2、善於思考 數學非常考驗一個人的思考能力,因為數學的理念、現象等,抽象難懂
  • 李大潛:數學建模是開啟數學大門的金鑰匙—新聞—科學網
    3月2日,復旦大學在線開課第一天,該校數學科學學院的同學們迎來了改革後的《數學模型》課程。 為什麼要學習這門課程?怎樣才能學好這門課程?
  • 教娃念「123」不科學?陪孩子「玩」數字,才是真正的數學啟蒙
    俗話說「學好數理化,走遍全天下」,可見不管古今,學好數學對一個人的發展都有很大的影響。 但在數學啟蒙上,家長們都存在一個誤區:孩子2、3歲就能從1數到100,肯定是天才。卻很少有家長考慮過,孩子是否真正會運用數字。
  • 怎麼學好alevel課程數學科目?
    alevel課程是很多學子關注的對象,你了解alevel數學嗎?如何學好alevel數學課程呢?數學,一個被眾多A-level考生列為「十大最難」科目之一,但是卻在英國本科留學申請中發揮著重要作用。無論是申請工程類、計算機、物理等理科工類專業,還是會計與金融、經濟學、管理學等商科專業,甚至是一些藝術類專業也都傾向錄取有數學成績的學生。但是,卻有很多學生學不好數學alevel課程。且不說A-level數學中的一些專業詞彙又長又難記,有時候做中文數學題目都覺得吃力。數學學不好,不是我們天生不聰明,而是我們缺少一些系統的有效的學習方法。