數學中編程
兩者都具有大量抽象場景
2+2+2=6數學抽象出2*3=6
而在程序上依舊可以做到一樣的抽象 更多是方法
兩者的最終目的都是解決問題
數學是為了解決生活中常見的問題 就像上面的2*3 買了2瓶三塊錢的可樂 一共多少錢
編程也是解決生活中的問題 如計算器最終是要有一個結果
都需要良好的邏輯思維 (這個不用舉例)
數學的發展造就了編程
第一台計算機造出來就是為了計算
㈡ 編程 和 數學 的關系是什麼
數學是基礎學科,有豐富的數學基礎可以對理解編程中的邏輯有幫助。
編程對不同的人有不同的意義:
對於一般的程序員就是代碼的產出和可運行程序(數學在這裡面並不是特別重要,更重要的是對各種框架的理解、熟練掌握、設計模式等)。
對於演算法工程師來說,數學就很重要了(例如機器學習,密碼學,計算機圖形學等,當然這個對題主來說還太遙遠)。
題主說的函數實際上就是為了實現目的的一種封裝形式,而遞歸只是在函數中調用自身(當然需要終止條件)。
(2)數學中編程擴展閱讀:
編程的核心是什麼,總結起來就是編程思想和邏輯演算法,編程思想需要不斷的總結歸納,框架思想也是編程思想的一種,需要從千千萬萬的代碼邏輯種抽象出解決問題的方案或者框架。
說的通俗一點就是解決問題的能力,問題也是分為很多種,有直接簡單的問題,有長期復雜的問題,也有未來還沒有發生的問題,解決方案有直接的辦法,也有通過設計框架來解。
所以格局低一點的人可能就是著重眼前實際問題的解決,格局高的人就會想著設計一個框架也就是業內常說的輪子來規避類似問題的發生,這就是普通程序員和頂級高手的差距,出發點和格局都不在一個步調上。
至於具體解決問題的模式設計,就會涉及到邏輯演算法,簡單的可能非常容易理解,復雜一點或者多種組合了基本上就需要用到數學知識了,所以只有認識到這一層面才會覺得數學這東西對於編程顯得特別重要。
特別針對一些復雜問題或者解決根本問題上,由於自身條件或者所處的工作崗位決定,有些程序員甚至一輩子都不會接觸到,但並不意味著不存在,數學對於編程邏輯的重要性不言而喻。
不管是分析解決問題,還是喜歡從更大的格局來解決問題,不要小瞧數學對編程的影響,雖然不是每個編程角落都能和數學扯上關系,但對於重要場景一定不會缺席,但也沒有必要為了學習編程專門去學一遍數學,如果是在校學生看到可能意義會更加重大一些。
所以講數學邏輯好的人,學習編程是有一定優勢的,喜歡邏輯推理的人從骨子看是非常適合做一名優秀的程序員,當然真的優秀,還需要發自內心的熱愛。
參考資料來源:
知網論文-數學演算法對計算機編程優化的分析與研究
㈢ 學編程需要哪些數學知識
1.學習方法:本人認為這比什麼都重要如果這個沒掌握的話,可能直接影響你的成敗。眾所周知。。計算機知識 尤其是編程涉及到的知識可以說浩如煙海---那麼面對這么多的知識該怎麼去學呢?
---重點:1重實踐,不要去想,把一個知識點完全徹底的掌握,那將是非常恐怖的,有編程經驗的朋友都知道,編程里每個知識點深糾起來的話是非常困難的,更不要說是新手了。。那麼知識點該掌握到什麼程度呢? 個人認為:1-知道它是做什麼 2-知道怎麼使用。 這就足夠了。。。。不要去管他的原理是什麼,能把東西做出來才是王道。。。
---重點:2多寫, 這個在編程界可以說是真理了,真正寫程序的人都知道,一段程序你理解了並不代表你就會寫了,那麼怎麼樣才能提高「寫」的能力呢? 本人認為要注意一下幾點 1- 練習多做是必然的。 2- 做練習時不要因為覺得代碼簡單就只看不敲,哪怕多敲一遍HelloWorld 都是有好處的。 3- 相似的代碼不要復制,我見過很多朋友,遇到兩段程序類似,就懶的敲直接粘貼過去修改。。。請記住這是軟體開發人員的做法,而你不是,目前你還只是一個學習者而已。所以 原則就是 能敲的就不要復制。
---重點:3把精力用在理解上而不要用在背上 寫程序的朋友都知道,函數---關鍵字---常用類什麼的,都非常的熟悉,為什麼我們背過嗎?沒有 寫的多了自然就記的牢了, 所以建議新手不要去死背什麼概念,或語法 一定要理解它的作用。。。
---重點:4 筆記,我認為這點很重要,我自學時全是看書,和視頻教程,然後總結對自己有用的東西。記在本上,而將來如果印象不深刻了由於是自己用自己理解的方式寫的,簡單翻一翻就能回憶起來,而如果,你忘了再去翻視頻 或 翻書的話。。那麼即使你曾經學過,也可能一時想不起來。。。
1.關於數學。。。這個問題,我覺得是目前爭論最多的話題,我見過N多人說 學編程要學XX數學---什麼微積分---什麼離散---嚇的新手連想都不敢想,我只想對這些人說一句,如果你懂,請你們幫助新手,如果你們不懂 請你們閉嘴 謝謝不要 誤人子弟。。。那麼下面我來 具體回答一下數學方面的問題。。。
1- 編程用數學嗎? 用! 回答是肯定的,但要看你是做哪方面的程序。 懂編程的都知道,現在編程基本分B/C構架,即:客戶端/瀏覽器端 與 C/S構架 即:客戶端/伺服器端 前者基本上就是JAVA PHP ASP.NET 等等。。。其中有多少地方用到了數學,如果還堅持沒數學學不了編程的朋友請站出來回答下我的問題。。。
至於C/S 如果不是做系統級的程序員 或 大型3D圖象處理 或者是音頻處理的軟體我請問又有多少地方用到了數學?如果你覺得x/y=z 這也算高等數學的話,我無話可說。。。。總結--除了3D等圖象處理編程 或 音頻處理編程 或系統級編程以外 其他編程對數學要求並不很高。。。。
2.關於英語, 我認為這個是個不可迴避的話題,學編程一點英語不懂我覺得不太現實,畢竟有很多文檔也是用英文寫的,而且程序員都知道,編程時經常要用簡單的英文,哪怕是定義個變數名,也要用英文起名, 沒見過哪個程序員定義的變數叫什麼aaa或bbb的。 那麼新手該怎麼面對英語呢, 我覺得很容易,按照書上或教程上去做就足夠了,1 編寫程序時 按規范要求去做,首先變數名,用見名知意思的英文單詞, 寫注釋時 也用英文短句。。。 拋異常時 也用英文來標注等等。。。。慢慢積累,時間久了你就會發現其實計算機里的英語 就只有那麼幾句而已。。。
3.關於學校 這個我也想提一下,有很多想以程序員為工作的朋友可能都考慮過找個培訓班---但我的建議是。不要去---起碼一般的不要去,為什麼?效果不好,就這么簡單,我親自到XXX著名編程培訓學校試聽過。。。結果很遺憾 一周才那麼幾天課,我3天閱讀的知識點比他們1個興趣 教的還多。。。而且上機和理論還是分開,新學的知識不能立刻上機實踐等等。。我覺得都是很嚴重的弊病。。。跟嚴重的那些所謂的學校給學生們造成了一種假象。。。只要在學校里考試合格了,出去就能做程序員,甚至軟體工程師了。。。最後他們將發現,原來他們在學校里學的 只是基礎中的基礎而已 - -
4. 自學的資料,我個人認為,自學第一重要的是 視頻教程,懂的人都知道,編程學習時重點並不完全是知識點,而是如何運用那些知識點,這也是項目經驗今天被人們這么看中的主要原因。。。所以視頻教程絕對是不二的選擇,現在網上的視頻教程非常之多 各種各樣的都有 具體怎麼找相信不用我教了 google 電驢 迅雷--我就是靠他們活過來的 。。。而且視頻教程還有一點是學校比不了的,那就是 你可以隨時看 重復看,一個知識點沒明白 你可以反復的聽10遍 20遍都沒問題, 學校恐怕就不行了吧。 另一個優點是可以在你狀態好時看, 大家都有狀態不好的時候,累了-困了 很正常,可在學校,誰管你? 老師講完了 聽不懂你自己的問題,而視頻呢,好辦 累了 先休息一會 有精神了 想怎麼看就怎麼看。。。我覺得 找到好的視頻教程。。比任何老師都重要。。至於出現問題不懂怎麼辦? 相信能來到著找到我這篇文章的朋友 都有辦法解決的。。
5.書 --- 我非常喜歡看視頻教程,但我堅決反對只看視頻不看書,為什麼?很簡單視頻傳授的是 寫程序的經驗 而書則是細膩的為你講解其中的原理。。所以我的建議是 先把一個知識的視頻看一遍,然後再把書翻一遍 然後自己再寫2遍 量變必然引起質變 我相信這是放之四海 而皆準的道理(指編程行業)
6.時間+態度 我認為這也很重要,很多人經常這樣問我,我1個月能學會編程么? 我半年能成為編程高手么? 我覺得有這樣心理的人比適合學編程。。。 學編程最忌心浮,一個知識點還沒弄明白 就想寫個項目出來 這是不可能的,這樣最後只能導致你自己喪失信心,編程要一步一步的來,相信我哪怕用一天時間才掌握了一個知識點,起碼比你用一天的時間 看完整本書強。。因為前者起碼你還是有點收獲的(指新手,老手兩天一本書很正常有經驗了嗎 - -) 這里我可以給大家一我的學習時間大家可做為參考。。。我是從0基礎開始一直到現在掌握j2ee基本所有的基礎開發技能 用時一年半,本人覺得不算慢 每天最少看書+練習5小時 每天不停這個是我的進度。
此文獻給想學編程卻又礙於各個方面左右不定的人,和正在學的初學者!
參考文獻:http://hi..com/vigorlin/profile!
㈣ 關於編程和數學的關系
中文都叫函數,只是翻譯的問題,你看英文function,說的其實就是一個功能,一個作版用。在解決一個問題的過權程中,編程和數學負責的部分其實不一樣。數學讓你可以把一段描述變成式子來計算,編程相當於是一台計算器,計算器不能直接從問題描述得到式子,只是在你把問題轉換成數學問題之後,幫你計算。
數學優秀的人不一定編程優秀,但優秀的程序員數學一定不會差。你可以看看一些編程類競賽的題目,比如acm,其實就是一道數學題,同時還對你的編程能力有要求。
希望對你有所幫助。
㈤ 編程中的數學符號
他們是數學函數,開發環境自帶的,名稱是相關縮寫,知道怎麼用就行了
㈥ 關於編程中的數學
怎麼實現啊
㈦ 高中數學要學編程嗎
高中數學要學編程。數學涉及VB語言
,是必修三`演算法設計部分,就是簡單的演算法語句設版計.例權:"If-While"語句,"Do-Loop"語句等
輸出語句----PRINT
條件語句----(1)IF 條件 THEN
語句1
ELSE
語句2
END IF
(2)IF 條件 THEN
語句1
END IF
循環語句——(1)DO
循環體
LOOP UNTIL 條件
(2)WHILE 條件
循環體
WEND
賦值語句——「=」在演算法里表示把右邊賦給左邊。
㈧ 編程與數學的關系
你好,我是計算機專業大三的學生,我來說說在我的印象中數學的關系:
第一,編寫程序體現的是一個人的邏輯思維,既然涉及到邏輯,必然會與數學有些關系。但是與數學關系的深淺要與你所涉及的方面有關。
第二,編程中必須要學的數學:
1.最基本的數字與運算知識:二進制的概念(在哈夫曼樹,哈弗曼編碼等方面有直接的應用),取余的概念(在循環鏈表,隨機數方面有應用),基礎平面幾何(在繪制窗口,繪制曲線,自定義按鈕等圖形化的地方會用到),還有些很基礎的數學知識絕對不超出初中的范疇。
2.計算機中的數學知識:主要的一門叫做離散數學,講的是邏輯代數的相關知識,其實在真正的編程中不會直接體現這門課的重要性,對於初學者只要知道:與或非是怎麼回事,什麼是集合就可以了。離散數學還涉及到一些圖與樹的概念,我現在先把這些劃歸到數據結構中。
3.我前面說了,編程與你的需求有直接的關系,有些編程領域與數學的知識密不可分:
1)搞底層:舉個例子,如果你想設計一套你自己的windows字體,那麼肯定涉及到字體平滑,字體平滑就涉及到一個很難的數學知識:插值。這個知識在數值分析中講解,而且沒有高等數學的基礎,這門課想學會的可能性幾乎是零。。。這門課主要解決的是高等數學中的問題如何用計算機解決,比如:泰勒插值,拉格朗日插值,求解一般方程或微分方程的解,還有的我忘了,反正都是很難的知識。而底層的很多編程都是以這些為基礎的。
2)搞圖形學:CG技術由於在游戲中的如日中天,使得很多初高中生對圖形學神往已久,但卻不知計算機圖形學的知識是建立在很多大學數學課程的基礎上的。尤其是圖形學理論的學習,沒有線性代數的基礎是根本看不懂的。而在三維視圖方面又要涉及到高等數學中極坐標的知識。很多演算法,比如梁-Baskey演算法對於平面幾何分析水平的要求是非常高的!如果你想搞游戲設計,動畫電影(這個是要寫腳本程序的,否則畫面哪能那麼好),我勸你還是到了大學再深入學習吧。
3)搞演算法:學習演算法與其說數學要好,還不如說成是智力要好。。。比如分治法,動態規劃演算法,回溯法等對於問題的前期分析要求很高,尤其是列出遞歸方程,這些我覺得是在考智力。還有一些,比如圖演算法,樹的應用,排序,查找,這些知識涉及到計算機專業的另一門課程:數據結構,這門課是計算機專業的核心課程之一,也是專業與非專業的最大區別。這門課對數學要求不高,但對於一個人的思維要求比較高。還有像計算幾何的問題,那就是純數學問題了。。。
4)搞密碼學:我不搞這方面,而且也沒研究過,但聽說這方面對數學要求極高!由於我的數學比較好,別人還推薦過我去搞這方面,但是我一想到面對的都是數字,我就退縮了。。。
以上就是我所知道的與數學有關的計算機分支,每個方面都夠人學一輩子,而且學好了,前途與錢途都是大大的!
第三,這么多方面都跟數學有關,那編程豈不沒法學了?還有些方面對於數學要求相對較低,我說的相對較低是由於不管哪方面都會涉及到一些基礎的數學演算法。總的來說,越往高層,對數學的要求越低,比如MFC,那些網路編程,系統編程都是封裝好的,但對於一個系統來說整體的規劃和設計更關鍵,就是說前期的需求分析、邏輯結構設計和物理結構設計比編碼更重要,當然工資也更高。。。
最後,我想給你提些學習編程的建議:
1)由於你的年齡還小,中國的教育體質問題,希望你不要把太多的精力放在這上面。。。我想你懂的。雖然聽說過哪個孩子做了個游戲之後成了百萬富翁,但這么多年了,似乎只有他一個,不要懷疑自己的實力,但更不要幻想你有這個運氣。。。
2)編程注重邏輯思維,你才是初中生,大腦的發育不知是否成熟(絕不是說你智力低,你應該知道大腦發育是有階段的吧),所以要以語言的基礎為主,這個對數學要求不高。
3)請選一門語言去練習,編程注重實踐,沒有實踐只有理論那就等於沒學,所以一定多練練。至於語言,我推薦學習C或C++,至於C與C++是怎麼回事,怎麼學習,這是另一個比較難的話題。。。注意別上來就學VC++(MFC),否則你會一事無成!
4)編程很枯燥,所以要耐得住性子,不要一見到難題就退縮,一見到不會的概念就把書扔了,不會的時候請多看看基礎,八成是語言基礎不到位。
就寫這么多吧,希望我的回答對你有幫助。你若有什麼問題還可以繼續問,若是編程過程中遇到什麼問題也可以問我,很歡迎的!
㈨ 編程與數學
離散數學是在大學開設的,其實初中生也能看得懂,主要是因為它的描述過於嚴謹,所以看起來有點神聖。但只要明白其本質,也沒有什麼難的,不過是比較煩。
你不用專門地從頭研究數學。如果你學過一點編程,那麼建議你學習數據結構,從中你可以了解到學習哪些數學知識能幫你更好地前進;而且在學習過數據結構之後,你的編程水平將大大提高。
掌握一門語言的語法並不需要太多的數學知識。只有在遇到具體問題時,要用到數學上的相關理論,數學才發揮作用,此時完全可以通過查資料來解決。當然,有數學基礎自然可以事半功倍。不過通過應用時的臨時學習將使你對該理論有更深該的認識也形成了你的實踐積累。
當你的編程水平到達一定的高度的時候,你已經明白自己的不足了,這時你可以根據自己的需要進行系統的學習。
最後給你一條武林秘決(今天你可能無法領悟,到你功力倍進的時候,你就會心領神會了)
程序=演算法+數據結構