程序設計方法(第2版)

程序設計方法(第2版) pdf epub mobi txt 電子書 下載2025

出版者:
作者:[美] Matthias Felleisen
出品人:異步圖書
頁數:483
译者:硃崇愷
出版時間:2020-10-13
價格:99.00元
裝幀:平裝
isbn號碼:9787115529152
叢書系列:國外著名高等院校信息科學與技術優秀教材
圖書標籤:
  • 程序設計
  • 方法學
  • 軟件工程
  • 算法
  • 數據結構
  • 編程範式
  • 軟件開發
  • 計算機科學
  • 教學
  • 教材
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書從係統設計的角度齣發介紹計算以及程序設計的方法和過程。全書由6個部分和5個獨立章節組成,6個部分側重於介紹程序設計,分彆介紹從數值和圖像等原子數據到區間、枚舉、條目、結構體及其組閤等新方法的基本概念,任意大的復閤數據及其用途,用於創建和使用抽象的設計訣竅,迭代改進的思想,生成遞歸以及關於纍積器的用法;5個獨立章節引入編程機製和計算的概念,分彆介紹教學語言的語法和語義、引用和反引用、作用域和抽象、數值的本質以及計算的成本。 本書強調程序設計的計劃和構建、設計訣竅、抽象和迭代改進等思想,邏輯清晰,循序漸進,示例豐富,可以指導有一定編程經驗的讀者係統地學習程序設計,也可作為高等院校計算機科學與技術專業程序設計導論和計算導論的教材和教學參考書。

著者簡介

Matthias Felleisen,美國東北大學計算機科學學院Trustee教授,世界知名的計算機科學傢,他最為人知的他是PLT Scheme(Racket)語言的創始人。2009年,他獲得Karl V. Karlstrom傑齣教育傢奬。2010年,他獲得瞭SIGCSE計算機科學教育傑齣貢獻奬。2012年,他獲得瞭SIGPLAN編程語言成就奬,以錶彰他編程語言領域顯著和持久的貢獻。

Robert Bruce Findler,美國西北大學計算機科學副教授。

Matthew Flatt,美國猶他大學計算機學院教授。

Shriram Krishnamurthi,美國布朗大學計算機科學教授。

圖書目錄

開篇:如何編程
算術 3
輸入和輸齣 6
計算的多種方式 10
一個程序,多個定義 13
另一個定義 15
現在你是一名程序員瞭 17
不! 17
第 一部分 固定大小的數據
第 1章 算術 20
1.1 數值的算術 21
1.2 字符串的算術 22
1.3 二者的混閤 23
1.4 圖像的算術 24
1.5 布爾值的算術 26
1.6 布爾值的混閤 27
1.7 謂詞:瞭解你的數據 29
第 2章 函數和程序 31
2.1 函數 31
2.2 計算 33
2.3 函數的復閤 36
2.4 全局常量 38
2.5 程序 39
第3章 程序設計方法 49
3.1 設計函數 50
3.2 熟練習題:函數 54
3.3 領域知識 54
3.4 從函數到程序 54
3.5 關於測試 55
3.6 設計世界程序 56
3.7 虛擬寵物世界 63
第4章 區間、枚舉和條目 65
4.1 條件編程 65
4.2 條件計算 67
4.3 枚舉 69
4.4 區間 71
4.5 條目 75
4.6 條目的設計 80
4.7 有限狀態世界 82
第5章 添加結構體 88
5.1 從位置到posn結構體 88
5.2 posn的計算 88
5.3 posn的編程 89
5.4 定義結構體類型 91
5.5 結構體的計算 94
5.6 結構體的編程 97
5.7 數據的空間 102
5.8 結構體的設計 105
5.9 世界中的結構體 106
5.10 圖形編輯器 107
5.11 再探虛擬寵物 109
第6章 條目和結構體 111
6.1 再談條目的設計 111
6.2 世界的混閤 119
6.3 輸入錯誤 121
6.4 世界中的檢查 124
6.5 相等謂詞 125
第7章 總結 127
獨立章節1 初級語言 128
初級語言的詞匯 128
初級語言的文法 129
初級語言的含義 131
含義和計算 133
初級語言中的錯誤 133
布爾錶達式 135
常量定義 136
結構體類型定義 137
初級語言中的測試 139
初級語言的錯誤消息 140
第二部分 任意大的數據
第8章 鏈錶 146
8.1 創建鏈錶 146
8.2 '()是什麼,cons又是什麼 149
8.3 用鏈錶編程 151
8.4 使用鏈錶進行計算 154
第9章 使用自引用數據定義進行設計 156
9.1 熟練習題:鏈錶 160
9.2 非空鏈錶 161
9.3 自然數 166
9.4 俄羅斯套娃 168
9.5 鏈錶和世界程序 171
9.6 關於鏈錶和集閤 174
第 10章 再談鏈錶 178
10.1 生成鏈錶的函數 178
10.2 鏈錶中的結構體 180
10.3 鏈錶中鏈錶以及文件 183
10.4 再談圖形編輯器 189
第 11章 組閤式設計 197
11.1 list函數 197
11.2 函數的組閤 199
11.3 遞歸的輔助函數 200
11.4 一般化的輔助函數 204
第 12章 項目:鏈錶 212
12.1 現實世界中的數據:字典 212
12.2 現實世界中的數據:iTunes 213
12.3 文字遊戲—組閤的示例 217
12.4 文字遊戲—問題的核心 220
12.5 貪吃蛇 221
12.6 簡單俄羅斯方塊 223
12.7 全麵太空戰爭 225
12.8 有限狀態機 226
第 13章 總結 231
獨立章節2 Quote和Unquote 232
Quote 232
Quasiquote和Unquote 233
Unquote Splice 236
第三部分 抽象
第 14章 無處不在的相似性 242
14.1 函數的相似性 242
14.2 不同的相似性 243
14.3 數據定義的相似性 246
14.4 函數是值 248
14.5 函數的計算 249
第 15章 設計抽象 252
15.1 抽象的示例 252
15.2 簽名的相似性 255
15.3 單個控製點 259
15.4 模闆的抽象 259
第 16章 使用抽象 261
16.1 現有的抽象 261
16.2 局部定義 264
16.3 局部定義增強錶達能力 266
16.4 local的計算 268
16.5 使用抽象的示例 271
16.6 用抽象設計 274
16.7 熟悉抽象的習題 275
16.8 項目中的抽象 276
第 17章 匿名函數 278
17.1 lambda函數 278
17.2 lambda的計算 280
17.3 用lambda抽象 282
17.4 用lambda製定規範 284
17.5 用lambda錶示 289
第 18章 總結 293
獨立章節3 作用域和抽象 294
作用域 294
中級語言的循環 298
模式匹配 304
第四部分 交織的數據
第 19章 S錶達式之詩 310
19.1 樹 310
19.2 森林 316
19.3 S錶達式 317
19.4 對交織數據的設計 321
19.5 項目:二叉查找樹 322
19.6 函數的簡化 325
第 20章 迭代改進 327
20.1 數據分析 327
20.2 數據定義的改進 328
20.3 函數的改進 330
第 21章 解釋器的改進 332
21.1 錶達式的解釋 332
21.2 變量的解釋 335
21.3 函數的解釋 336
21.4 解釋一切 338
第 22章 項目:XML商業 340
22.1 XML和S錶達式 340
22.2 XML枚舉的呈現 344
22.3 領域特定語言 348
22.4 讀入XML 352
第 23章 同時處理 355
23.1 同時處理兩個鏈錶:情況1 355
23.2 同時處理兩個鏈錶:情況2 356
23.3 同時處理兩個鏈錶:情況3 357
23.4 函數的簡化 360
23.5 設計讀入兩個復雜輸入的函數 361
23.6 熟練習題:兩個輸入 362
23.7 項目:數據庫 365
第 24章 總結 374
獨立章節4 數值的本質 375
固定大小的數值算術 375
溢齣 379
下溢齣 379
教學語言中的數值 380
第五部分 生成遞歸
第 25章 非標準遞歸 386
25.1 無結構體的遞歸 386
25.2 忽略結構體的遞歸 389
第 26章 設計算法 393
26.1 調整設計訣竅 393
26.2 終止 394
26.3 對比結構化遞歸和生成遞歸 396
26.4 做齣選擇 397
第 27章 主題的變化 401
27.1 初試分形 401
27.2 二分查找 403
27.3 初探解析 407
第 28章 數學的例子 411
28.1 牛頓法 411
28.2 數值積分 414
28.3 項目:高斯消元 418
第 29章 迴溯的算法 423
29.1 圖的遍曆 423
29.2 項目:迴溯 430
第30章 總結 434
獨立章節5 計算的成本 435
具體的時間和抽象的時間 436
“數量級”的定義 440
為何使用謂詞和選擇函數 442
第六部分 知識的纍積
第31章 知識的丟失 446
31.1 結構處理的問題 446
31.2 生成遞歸的問題 449
第32章 纍積器風格函數的設計 453
32.1 認識到需要纍積器 453
32.2 添加纍積器 454
32.3 將函數轉換為纍積器風格 455
32.4 帶鼠標的圖形編輯器 464
第33章 纍積的更多用途 466
33.1 纍積器和樹 466
33.2 帶纍積器的數據錶示 470
33.3 作為結果的纍積器 474
第34章 總結 479
尾聲:繼續前進 481
· · · · · · (收起)

讀後感

評分

在一个雅典朋友家玩,她有个小妹妹,今年初一,英语不错,然后就想教她写程序。下个DrScheme,打开htdp的网站,照着书慢慢儿跟她讲,没过半晚上,她就已经会define程序了。 这本书写得很nice,如果有人讲的话,小朋友是看得懂的。但是需要有小学数学的基础,否则的话开始的练...  

評分

这本书的优点前面豆友已经说得很多了,上手容易,step by step等等。 其实真得推荐大学能够把这本书做为编程语言的基础,尤其是非计算机专业而以后却又需要进行专业上的计算程序开发的人员。 很多人都把这本书和SICP做对比,大概翻了一遍SICP,确实觉得这本书略有啰嗦的嫌疑...  

評分

前言中的艾伦.佩利的警句给我印象很深:"教儿童编程有悖于现代教育学. 制定计划,使思路条理化,注重细节,严格自律有何乐趣?" 佩利是对的.尽管书中给出了很多学编程的好处,但是在大方向上, 儿童的那种天马行空的想象,没有什么条条框框的思路,是很珍贵的. 话说回来,对于那些长大了...  

評分

这本是学校的教科书。08年废掉JAVA选择Scheme,然后确认它作为教材。重要性不言而喻。无论你入学背景再牛,水平再高,学校还是会要求你上这课,只是有不同级别而已。 HtDp的起点明显要比SICP低。 不过这本书的风格很好,真正的 Step By Step, 很多时候作者都是很明确他的目的...  

評分

这本书的优点前面豆友已经说得很多了,上手容易,step by step等等。 其实真得推荐大学能够把这本书做为编程语言的基础,尤其是非计算机专业而以后却又需要进行专业上的计算程序开发的人员。 很多人都把这本书和SICP做对比,大概翻了一遍SICP,确实觉得这本书略有啰嗦的嫌疑...  

用戶評價

评分

要“完成”這本書並不容易,另外,對於入門者,這本也並不是那麼適閤,主要的原因就是這本有的作業需要自行查文檔(雖然這是寫代碼必備技能),而且閱讀體驗一般;優點就是,這本能令人培養一個很好的編程習慣,而且能初步領略Lisp中透露的邏輯美感,打個比方這就仿佛一本內功心法,紮實的學完瞭這本之後再學具體的語言,就會如魚得水

评分

要“完成”這本書並不容易,另外,對於入門者,這本也並不是那麼適閤,主要的原因就是這本有的作業需要自行查文檔(雖然這是寫代碼必備技能),而且閱讀體驗一般;優點就是,這本能令人培養一個很好的編程習慣,而且能初步領略Lisp中透露的邏輯美感,打個比方這就仿佛一本內功心法,紮實的學完瞭這本之後再學具體的語言,就會如魚得水

评分

要“完成”這本書並不容易,另外,對於入門者,這本也並不是那麼適閤,主要的原因就是這本有的作業需要自行查文檔(雖然這是寫代碼必備技能),而且閱讀體驗一般;優點就是,這本能令人培養一個很好的編程習慣,而且能初步領略Lisp中透露的邏輯美感,打個比方這就仿佛一本內功心法,紮實的學完瞭這本之後再學具體的語言,就會如魚得水

评分

適閤沒有學習過編程的人閱讀。

评分

適閤沒有學習過編程的人閱讀。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有