プログラマの数学 (第2版)
| 作者 | 結城 浩 |
|---|---|
| 出版社 | 聯合發行股份有限公司 |
| 商品描述 | 程式設計必修的數學課:學會寫程式,從數學思維與邏輯訓練開始沒有艱難的數學式,而是透過情境對話和關鍵提示來引導你的思考方向。發掘數字規則、拆解複雜問題、提升分析能 |
| 作者 | 結城 浩 |
|---|---|
| 出版社 | 聯合發行股份有限公司 |
| 商品描述 | 程式設計必修的數學課:學會寫程式,從數學思維與邏輯訓練開始沒有艱難的數學式,而是透過情境對話和關鍵提示來引導你的思考方向。發掘數字規則、拆解複雜問題、提升分析能 |
內容簡介 學會寫程式,從數學思維與邏輯訓練開始 沒有艱難的數學式, 而是透過情境對話和關鍵提示來引導你的思考方向。 發掘數字規則、拆解複雜問題、提升分析能力…… 幫助程式設計師強化學習程式, 也適合程式設計門外漢, 或是「一看見數學式就想跳過」的人! ★★臺灣大學資訊管理學系副教授 孔令傑 審訂推薦★★ ▌強師推薦 楊宗穎 │ 北一女中數學科老師 人類與程式的距離, 只會愈來愈近。 從網站設計、數據分析到人工智慧, 都與程式設計密切相關。 想要進入奧妙的程式世界, 必須先體會數學的趣味與美! ★ 0不僅是用來描述「什麼都沒有」,更蘊含了「無即是有」的重要啟發。 ★ 原來大海可以撈針!利用指數爆發的力量,可以幫你揪出犯人、鎖定目標。 ★ 想要從複雜問題的重重迷霧中找到答案蹤跡,就先從「自己」身上尋找線索吧! ★ 看不到盡頭在哪?數學歸納法教你只要跨出兩步,就能走到「無窮」的彼端。 用數學力開啟你對程式設計的想像, 自學程式設計必備的數學工具讓你輕鬆get! 學會寫程式,等同掌握了工作接案的熱門技能。 你也可以是人生勝利組!
作者介紹 結城 浩結城 浩 1963年生。2014年獲得日本数学会出版賞。執筆寫作有關程式語言、設計模式、密碼、數學等領域的入門書。最新著作是「數學女孩系列」。是一個最喜歡巴哈的「賦格的藝術」作品的新教基督徒。出版有2011《數學女孩╱費馬最後定理》、2012《數學女孩╱哥德爾不完備定理》、2013《數學女孩╱隨機演算法》、2014《數學女孩╱伽羅瓦理論》(世茂出版)、2016—2017《數學女孩秘密筆記》系列。衛宮紘衛宮紘 清華大學原子科學院學士班畢。現為自由譯者。譯作有《上司完全使用手冊》(東販)、《超慢跑入門》(商周)、《男人懂了這些更成功》(潮客風)、《世界第一簡單電力系統》(世茂)等。 賜教信箱:[email protected]
產品目錄 第1章 0的故事 本章要學習的東西 小學一年級的回憶 十進制 二進制 進位計數法 指數定律 0 發揮的功用 人類的極限與結構的發現 本章學到的東西 第2章 邏輯 本章要學習的東西 為什麼邏輯重要? 乘車票價問題沒有─遺漏且互斥的分割 建構複雜的命題 笛摩根定律 卡諾圖 含有未定義的邏輯 本章學到的東西 第3章 剩餘 本章要學的東西 星期數問題(1) 星期數問題(2) 乘方問題 黑白棋通訊 尋找戀人問題 榻榻米鋪滿問題 一筆畫問題 本章學到的東西 第4章 數學歸納法 本章要學的東西 高斯少年求和 數學歸納法─推倒無數的多米諾骨牌 求奇數和─數學歸納法的例子 黑白棋問題錯誤的數學歸納法 程式與數學歸納法 本章學到的東西 第5章 排列組合 本章要學的東西114 什麼是計數─與整數的對應 種樹計算─不要忘記0 加法原理 乘法原理 置換 排列 組合 練習問題 本章學到的東西 第6章 遞迴 本章要學的東西 河內塔 再回來看階乘 費氏數列 巴斯卡三角形 遞迴圖形 本章學到的東西 第7章 指數爆發 本章要學的東西 什麼是指數爆發? 倍數遊戲─指數爆發產生的困難 二元搜尋─利用指數爆發檢索 對數─掌握指數爆發的工具 加密─以指數爆發保守祕密 如何處理指數爆發? 本章學到的東西 第8章 不可計算的問題 本章要學的東西 反證法 可數的 對角論證法 不可計算的問題 停機判斷問題 本章學到的東西 第9章 程式設計必修的數學課 回顧本書 所謂的解決問題 附錄1 邁向機器學習的第一步 附錄要學的東西 什麼是機器學習? 預測問題與分類問題 感知器 機器學習的「學習」 類神經網路 人類將會被機器取代嗎? 附錄學到的東西 附錄2 讀書指南 課外選讀 電腦科學
| 書名 / | 程式設計必修的數學課 |
|---|---|
| 作者 / | 結城 浩 |
| 簡介 / | 程式設計必修的數學課:學會寫程式,從數學思維與邏輯訓練開始沒有艱難的數學式,而是透過情境對話和關鍵提示來引導你的思考方向。發掘數字規則、拆解複雜問題、提升分析能 |
| 出版社 / | 聯合發行股份有限公司 |
| ISBN13 / | 9789865408459 |
| ISBN10 / | 9865408457 |
| EAN / | 9789865408459 |
| 誠品26碼 / | 2681983070006 |
| 頁數 / | 304 |
| 注音版 / | 否 |
| 裝訂 / | P:平裝 |
| 語言 / | 1:中文 繁體 |
| 尺寸 / | 23X17X1.9CM |
| 級別 / | N:無 |
自序 : 序言
本書是寫給程式設計師的數學讀物。
程式設計的基礎是電腦科學,電腦科學的基礎是數學。因此,學好數學有助於鞏固程式設計的基礎,寫出完善的程式。
「但是,我就是不擅長數學。」有些讀者會這麼想吧,尤其「一看見數學式就想跳過」的讀者,應該也不在少數。老實說,如果書中出現數學式,我自己也會想要跳過不讀。
本書會盡可能去除這些「想要跳過不讀的數學式」*,淺談相關的定義、定理及證明。
本書主要是幫助程式設計師加深理解程式設計,期望各位能夠習得有助於程式設計的「數學思維」。
內文 : 數學思維的例子
「數學思維」感覺過於抽象,以下就稍微舉例說明!
【條件分歧與邏輯】
在設計程式時,我們會根據條件來「分歧」處理,C、Java 等多數程式語言是使用if 敘述。若滿足條件,執行這邊的處理;若不滿足條件,執行那邊的處理,像這樣控制處理的流程。此時,我們是使用數學領域中的「邏輯」來控管程式,因此在程式設計上,必須熟習「且」「或」「非……」「若……則……」等邏輯要素。
【循環與數學歸納法】
為了處理大量資訊,我們會使用程式來執行「循環」。例如,使用for敘述能夠循環處理大量數據,而循環的基礎就是「數學歸納法」。【區分討論與計數原理】
在「區分討論」複數條件、數據時,程式設計師得注意絕對不能有所遺漏。此時,加法原理、乘法原理、排列組合等「計數原理」可帶來幫助。這是程式設計師應該不斷磨練的數學工具。
此外,本書也可學習遞迴、指數、對數、餘數等基本且重要的思維。
人類與電腦的共同戰線
我們編寫程式是為了解決單靠人類無法解決的問題,程式設計師理解問題、編寫程式後,由電腦執行該程式來解決問題。
人類不擅長反覆執行,一下子就會覺得厭煩並犯下錯誤,但卻擅長解決問題;電腦則擅長反覆執行,但無法自行解決問題。
換言之,解決問題需要結合人類和電腦的力量。
遭遇困難問題時,單靠人類或電腦並無法解決,但結合兩者之力就能迎刃而解。本書的目的之一就是描述人機合作的情況。
然而,編寫程式有其困難性,即便人機合作仍有無法解決的問題。本書中,我們也會探究人類和電腦的極限。
期望各位讀完本書後,能夠對人類使用程式與電腦協作有更深刻的理解。
0 的功用:確保場所
在本小節,我們來討論 0 的功用。例如,十進制 2503 的 0 發揮了什麼樣的功用?2503 的 0表示「沒有」十位,但就算「沒有」十位,2503 也必須寫出 0 。因為若省略 0 寫成 253 ,會變成其他的數。
在進位計數法,數位具有重要的意義,所以即便「沒有」十位的數,該處也必須放置數字。此時就輪到 0 登場了。0 的功用是確保場所,就像是支撐著上面的數位不讓它掉下來。
多虧「存在」用來表示「沒有」的 0 ,才能夠正確表達數目的意義。在進位計數法中,0 可說是不可欠缺的存在。
日常生活中的 0
在日常生活中,有時也可以看到用 0 表示「什麼都沒有」。
沒有安排計畫的行程
我們會使用行事曆管理預定行程,在上頭填寫「文書工作」「出差」「研討會」等預定行程。那麼,相當於「0」的預定行程是什麼樣的行程呢?
例如,我們可以設定一個假想行程「空計畫」來表示「沒有安排計畫的行程」。在電腦的行事曆上檢索「空計畫」,就能夠找出有空閒的日子。如同尋找預定的行程,我們可以找到「沒有計畫」的行程。
另外,「不安排計畫的行程」也可想成是 0。事先在行事曆上填入「不安排計畫的行程」,就能預防生活全被工作埋沒。這跟進位計數法使用 0 來確保場所有幾分類似。
沒有藥效的藥物
假設某病人必須規律服用某種膠囊藥物,每四天需停藥一天。換言之,需要反覆「服藥三天後休息一天」的循環。想要病人記住循環地持續服藥,是相當困難的事情。
因此,有人想出如下的點子:讓病人每天都服用膠囊藥物,但 4 粒膠囊裡面有 1 粒是「沒有任何效果」的假膠囊。若是能夠準備標有日期的藥盒,裡頭放入「今日藥物」就更好了。
如此一來,病人就不需要判斷「今天是不是服藥的日子?」多虧「沒有」藥效的藥物「存在」,才能產生「每天服用1粒膠囊」的簡化規則。
這個假膠囊,發揮了如同進位計數法中「0」的功用。
最佳賣點 : 學會寫程式,從數學思維與邏輯訓練開始
沒有艱難的數學式,
而是透過情境對話和關鍵提示來引導你的思考方向。
發掘數字規則、拆解複雜問題、提升分析能力……
幫助程式設計師強化學習程式,
也適...