本書根據(jù)ACM CC2013專業(yè)實踐教學體系對程序設計基礎課的要求,通過循序漸進的實踐內(nèi)容設計和多版本遞進的項目式課程設計教學幫助學生掌握程序設計方法,提升程序設計的能力。本書體現(xiàn)了系統(tǒng)能力培養(yǎng)的教學理念,集結了程序設計中的經(jīng)典問題(枚舉法、迭代法、矩陣、查找和排序、貪心和動態(tài)規(guī)劃等),并輔以多角度的分析,可以幫助學生提高問題求解的能力,真正掌握程序設計的思想和精髓。
前言
第一部分 開發(fā)環(huán)境
第1章 集成開發(fā)環(huán)境簡介 2
1.1 程序調(diào)試 2
1.1.1 程序調(diào)試的概念 2
1.1.2 程序錯誤的種類 2
1.1.3 常用調(diào)試方法 3
1.2 經(jīng)典集成開發(fā)環(huán)境 5
1.2.1 Visual Studio集成開發(fā)環(huán)境的使用和調(diào)試方法 5
1.2.2 Code::Blocks集成開發(fā)環(huán)境的使用和調(diào)試方法 20
1.2.3 Dev-C++集成開發(fā)環(huán)境的使用和調(diào)試方法 30
1.3 多文件項目的開發(fā) 35
1.3.1 Visual Studio下的多文件項目開發(fā) 35
1.3.2 Code::Blocks下的多文件項目開發(fā) 41
1.3.3 Dev-C++下的多文件項目開發(fā) 44
1.4 小結 47
第二部分 經(jīng)典案例
第2章 基本運算和基本I/O專題 50
2.1 數(shù)位拆分v1.0 50
2.2 身高預測v1.0 51
2.3 計算三角形面積 52
2.4 存款計算器 52
第3章 基本控制結構專題 54
3.1 數(shù)位拆分v2.0 54
3.2 身高預測v2.0 56
3.3 體形判斷 57
3.4 算術計算器 58
3.5 國王的許諾 61
3.6 計算圓周率 62
3.7 判斷數(shù)字位數(shù) 64
3.8 階乘求和 70
第4章 枚舉法專題 75
4.1 還原算術表達式 75
4.2 求解不等式 78
4.3 韓信點兵 83
4.4 減肥食譜 85
第5章 遞推法專題 87
5.1 猴子吃桃 87
5.2 吹氣球 88
5.3 發(fā)紅包 90
5.4 水手分椰子 96
第6章 近似迭代法專題 98
6.1 直接迭代法求方程的根 98
6.2 牛頓迭代法求方程的根 99
6.3 二分法求方程的根 101
6.4 計算平方根 102
第7章 遞歸法專題 104
7.1 最大公約數(shù) 104
7.2 漢諾塔問題 107
7.3 騎士游歷 109
7.4 八皇后問題 111
第8章 趣味數(shù)字專題 115
8.1 楊輝三角形 115
8.2 好數(shù)對 122
8.3 完全數(shù) 124
8.4 親密數(shù) 129
8.5 素數(shù)求和 136
8.6 驗證哥德巴赫猜想 139
8.7 孿生素數(shù) 141
8.8 回文素數(shù) 144
第9章 矩陣運算專題 146
9.1 矩陣轉置 146
9.2 幻方矩陣 155
9.3 蛇形矩陣 161
9.4 螺旋矩陣 164
第10章 日期和時間專題 170
10.1 三天打魚,兩天曬網(wǎng) 170
10.2 統(tǒng)計特殊的星期天 176
10.3 日期轉換 178
10.4 動態(tài)時鐘 187
第11章 文本處理專題 191
11.1 字符統(tǒng)計 191
11.2 單詞統(tǒng)計 194
11.3 行程長度編碼 199
11.4 串的模式匹配 202
第12章 結構專題 209
12.1 數(shù)字時鐘模擬 209
12.2 模擬洗牌和發(fā)牌 212
12.3 逆波蘭表達式求值 214
12.4 約瑟夫問題 217
第13章 查找和排序?qū)n} 229
13.1 尋找最值 229
13.2 關鍵字統(tǒng)計 240
13.3 驗證卡布列克運算 251
13.4 鏈表逆序 259
第14章 大數(shù)運算和近似計算專題 265
14.1 大整數(shù)加法 265
14.2 大數(shù)階乘 266
14.3 蒙特卡羅法計算圓周率 271
14.4 蒙特卡羅法計算定積分 272
第15章 貪心與動態(tài)規(guī)劃專題 274
15.1 活動安排 274
15.2 分發(fā)糖果 276
15.3 0-1背包問題 278
15.4 最長上升子序列 282
第三部分 綜合案例
第16章 綜合應用 286
16.1 餐飲服務質(zhì)量調(diào)查 286
16.2 小學生算術運算訓練系統(tǒng) 289
16.3 青年歌手大獎賽現(xiàn)場分數(shù)統(tǒng)計 295
16.4 隨機點名系統(tǒng) 299
第17章 游戲設計 306
17.1 火柴游戲 306
17.2 文曲星猜數(shù)游戲 309
17.3 2048數(shù)字游戲 312
17.4 貪吃蛇游戲 318
17.5 飛機大戰(zhàn) 322
17.6 Flappy bird 327
17.7 井字棋游戲 331
17.8 桿子游戲 338
17.9 俄羅斯方塊 343