C++程序設(shè)計教程(第二版)實驗指導(dǎo)
定 價:24 元
叢書名:C++程序設(shè)計系列教材
- 作者:錢能
- 出版時間:2007/8/1
- ISBN:9787302153535
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16
本書作為主教材《C++程序設(shè)計教程(第二版)》的配套教材,并對第一版的《C++程序設(shè)計實驗指導(dǎo)》做了改版,無論從內(nèi)容體系、結(jié)構(gòu)布局、實驗環(huán)境、課程目標,還是從所描述的實驗細節(jié)上都有了根本性的改進。該書除了可與主教材配套使用外,還可以根據(jù)內(nèi)容的指引及網(wǎng)站的配合,進行獨立練習(xí)。
本書配合主教材,并通過配套網(wǎng)站的使用、代碼現(xiàn)場提交、遠程判題、反饋判題結(jié)果來衡量自身學(xué)習(xí)的效果,以實現(xiàn)初學(xué)者代碼調(diào)試和問題解決這兩種能力的實質(zhì)性提升。
書中的三大部分分別包含了五個實驗套題和一個實戰(zhàn)套題,每部分都列有實驗要求、目標、難度與特點,并提供完整的樣板實驗。實驗套題中所設(shè)計的問題,其求解充滿懸念,須開動腦筋,同時還提供了提示與解答指導(dǎo)。
本書適合作為高等學(xué)!癈++程序設(shè)計”課程的輔助教材,提供教師在教學(xué)中選用其中的一部分;也適合于立志自學(xué)成才的讀者,幫助他們從零開始走向高級程序員。
第二版前言
《C++程序設(shè)計教程(第二版)實驗指導(dǎo)》是主教材《C++程序設(shè)計教程(第二版)》的配套書。由于第二版主教材對第一版作了根本性的改版,所以對應(yīng)的實驗指導(dǎo)的第二版也基本拋棄了第一版的成書結(jié)構(gòu),無論從內(nèi)容體系、結(jié)構(gòu)布局、實驗環(huán)境、課程目標,還是從所描述的實驗細節(jié)上都作了根本性的改進。
該書從題目設(shè)計,測試數(shù)據(jù)的構(gòu)造到難易的把握、整體的布局,都是圍繞C++程序設(shè)計課程教學(xué)來安排的,因而書中實驗的設(shè)計自成一個課程知識體系。這有利于讓課堂知識的講解朝著問題驅(qū)動的教學(xué)模式邁進,以更好地進行師生互動,提高教學(xué)效果。
本書共分三個部分,每一部分均由“實驗概述”、“樣板實驗”、“實驗內(nèi)容”和“解題指導(dǎo)”四章構(gòu)成。每個部分都包含了五個實驗套題和一個階段測驗,以供教師和學(xué)生選擇使用。其中每個部分都有實驗要求、目標,列出了本部分實驗的難度與特點,并提供樣板實驗。同時,除了階段測驗外,各套實驗都提供了解題指導(dǎo)。
第一部分為入門編程,目的在于掌握C++程序設(shè)計的基本操作與編程的基本描述技能,以便展開比較有深度的編程分析與邏輯描述的思考。本部分是能否學(xué)到C++編程要領(lǐng)的關(guān)鍵,如果第一部分沒有掌握,寧可重學(xué),也千萬不要跟讀后面的內(nèi)容,因為沒有表達能力與調(diào)試經(jīng)驗,所從事的編程邏輯思考,恰似無緣之木、無源之水,雖努力撐持,最后也只能痛言放棄。
第二部分為基本編程,目的是掌握C++程序設(shè)計的基本方法,提高以編程來解決實際問題的能力。這部分內(nèi)容學(xué)得是否到位,是能否成為一個真正程序員的分水嶺。因為搞任何理論性研究,都離不開抽象思維、數(shù)學(xué)和算法思想。對科學(xué)研究來說,語言編程環(huán)境只不過是個具體的描述工具而已。另一方面,搞任何系統(tǒng)開發(fā),都離不開對編程語言、編程工具、編程資源的了解,而這一切都與充分進行的編程實踐密切相關(guān)。程序設(shè)計課程的后續(xù)課程《數(shù)據(jù)結(jié)構(gòu)與算法》也正是為了強化這兩個目的而開設(shè)的。
第三部分為設(shè)計與組織,它主要面向編程方法,讓讀者了解和掌握如何對程序進行合理的布局組織與結(jié)構(gòu)劃分。編程方法有多少,程序結(jié)構(gòu)的形式就有多少,因此,學(xué)會了程序組織的不同形式,也就從實踐環(huán)節(jié)上看透了各種編程方法的差異與聯(lián)系,同時也熟悉了多文件結(jié)構(gòu)的程序工程調(diào)試,實踐過程化與對象化程序設(shè)計,實踐面向?qū)ο蟪绦蛟O(shè)計及模板的設(shè)計,從而從抽象設(shè)計的角度,從分析問題的角度,從設(shè)計與代碼描述一體化的角度,從系統(tǒng)實現(xiàn)的角度,來了解C++的語言描述能力,了解操作系統(tǒng)與語言系統(tǒng)的聯(lián)系。
本書的目標是與主教材密切配合,讓讀者以自學(xué)提高為主,逐步具備自學(xué)編程的能力,即綜合分析問題、解決問題的能力與操作編程技能的同步提高,以便能夠獨立研讀算法理論和系統(tǒng)開發(fā)指導(dǎo)等書籍,輔之以網(wǎng)上討論,專家點撥,最終實現(xiàn)自己的價值。
本書配有一個實驗環(huán)境網(wǎng)站,內(nèi)有一個題庫,包含了書中第一部分和第二部分的全部實驗。網(wǎng)站上具有判題功能,讀者可以對應(yīng)實驗的題號,提交自己的代碼,驗證正確性;測試運行性能,看是否符合要求。同時,網(wǎng)站上還會不斷進行一些課程實驗,組織一些相關(guān)的上機考試,推出一些新的實驗套題,并定期在清華大學(xué)出版社網(wǎng)站和C++課程教學(xué)網(wǎng)站http://kczy.zjut.edu.cn:8015(可由實驗網(wǎng)站鏈接進入)上提供解答及相關(guān)的教學(xué)資料。
該C++實驗網(wǎng)站是一個可以自由訪問的實驗提交系統(tǒng),由屢獲大學(xué)生程序設(shè)計競賽佳績的學(xué)生經(jīng)過兩個版本的更新而成型。值得一提的是,金天鵬和金啟為同學(xué)為該系統(tǒng)做出了卓越的貢獻。實驗環(huán)境使用說明見附錄C。
書中的例子,還有解答指導(dǎo)的樣本代碼,其風(fēng)格與主教材保持一致。所有書中的代碼都在Borland C++ Builder 6(簡稱BCB6)上通過了測試,在清華大學(xué)出版社網(wǎng)站http://www.tup.tsinghua.edu.cn上可以下載有關(guān)的樣板實驗代碼。為了方便讀者的學(xué)習(xí),還同時提供另一套可以在VC6上運行通過的樣板實驗代碼供讀者下載。
書末附有BCB6的安裝和簡單操作使用介紹以及BCB6的錯誤信息解讀。最后還介紹了實驗教學(xué)系統(tǒng)OPS的使用說明。
在本書的寫作過程中,得到了多方面的幫助。學(xué)校網(wǎng)絡(luò)中心對實驗教學(xué)系統(tǒng)OPS給予了多方關(guān)照,保證了其正常運行;教務(wù)處對C++課程教學(xué)建設(shè)也一直在關(guān)心和支持;甚至教育部計算機科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)分委員會指導(dǎo)下的2007年計算機專業(yè)核心課程C++程序設(shè)計教師研修班也在作者所在的浙江工業(yè)大學(xué)舉辦。作為國家“十一五”規(guī)劃教材,本書出版之際,我們的C++程序設(shè)計課程已被評為省級精品課程,整個C++課程組都在課程建設(shè)和教材建設(shè)方面發(fā)揮著積極作用。
網(wǎng)評和論壇也給了我許多啟示,甚至有些電子郵件直接就說是為了讓我寫出更好的書。因而所寫的書,似乎出自大家的手。感謝為我提供資源,為我創(chuàng)造條件,讓我靜下心來的人們!在他們的關(guān)照、呵護和鼓勵下,我的寫作過程充滿了靈感。好吧,再往前行,接著寫下一本,努力滿足讀者的要求。
作者的電子郵件地址是:qianneng@mail.hz.zj.cn
錢 能
2007年夏于杭州自在居
前 言
本書是《C++程序設(shè)計教程》的配套書,同時它也可單獨作為學(xué)習(xí)C++的上機實驗指導(dǎo)書。C++程序設(shè)計的環(huán)境有許多,這里選擇了兩種,分別是Borland(或TURBO)C++ 3.0 for DOS版和Borland(或TURBO)C++ 5.0 for Windows版。
其中,對Borland C++ 3.0的使用方法給予了較完整的介紹,并給出了編譯和鏈接的錯誤信息中文解釋。
書中根據(jù)C++程序設(shè)計教程的進度,安排了十個實驗單元。每個單元都指出了實驗?zāi)康暮拖盗械膶嶒烆}目。每個實驗題目都給出基本要求和思考問題。個別實驗列出了測試數(shù)據(jù)和選做項目。還根據(jù)需要,個別地方介紹了操作過程。最后還介紹了常用標準庫函數(shù)的函數(shù)原型,并對有些復(fù)雜的函數(shù)適當展開介紹其使用方法。
II
C++程序設(shè)計教程(第二版)實驗指導(dǎo)
III
目 錄
目 錄
第一部分 入 門 編 程
第1章 實驗概述2
1.1 實驗?zāi)繕?
1.2 實驗環(huán)境3
1.3 實驗安排5
1.4 做題步驟6
第2章 樣板實驗15
2.1 實驗內(nèi)容15
2.2 分析題意15
2.3 算法描述18
2.4 代碼編寫19
2.5 編譯調(diào)試22
2.6 算法任意性23
2.7 測試數(shù)據(jù)25
第3章 實驗內(nèi)容27
3.1 第一套實驗27
3.1.1 OPS歡迎您27
3.1.2 一個@字符矩形27
3.1.3 一個#字符正方形28
3.1.4 一個字符三角形28
3.1.5 正方形面積29
3.1.6 A-B29
3.2 第二套實驗30
3.2.1 字符三角形30
3.2.2 字符菱形31
3.2.3 背靠背字符三角形31
3.2.4 交替字符倒三角形32
3.2.5 格式陣列一33
3.2.6 格式陣列二33
3.3 第三套實驗34
3.3.1 1!到n!的和34
3.3.2 等比數(shù)列35
3.3.3 菲波那契數(shù)35
3.3.4 最大公約數(shù)36
3.3.5 最小公倍數(shù)36
3.3.6 平均數(shù)37
3.4 第四套實驗37
3.4.1 級數(shù)求和37
3.4.2 對稱三位數(shù)素數(shù)38
3.4.3 母牛問題39
3.4.4 整數(shù)內(nèi)碼39
3.4.5 整除3、5、740
3.5 第五套實驗40
3.5.1 十-二進制轉(zhuǎn)換40
3.5.2 均方差41
3.5.3 五位以內(nèi)的對稱素數(shù)42
3.5.4 統(tǒng)計天數(shù)42
3.5.5 楊輝三角形43
3.6 階段測驗44
3.6.1 逆反01串44
3.6.2 倒楊輝三角形44
3.6.3 “順”序列45
3.6.4 數(shù)字和46
3.6.5 組合數(shù)46
3.6.6 折紙游戲47
第4章 解題指導(dǎo)49
4.1 第一套實驗49
4.1.1 OPS歡迎您49
4.1.2 一個@字符矩形50
4.1.3 一個#字符正方形51
4.1.4 一個字符三角形51
4.1.5 正方形面積52
4.1.6 A-B53
4.2 第二套實驗53
4.2.1 字符三角形53
4.2.2 字符菱形54
4.2.3 背靠背字符三角形55
4.2.4 交替字符倒三角形55
4.2.5 格式陣列一56
4.2.6 格式陣列二58
4.3 第三套實驗58
4.3.1 1!到n!的和58
4.3.2 等比數(shù)列60
4.3.3 菲波那契數(shù)61
4.3.4 最大公約數(shù)61
4.3.5 最小公倍數(shù)62
4.3.6 平均數(shù)62
4.4 第四套實驗62
4.4.1 級數(shù)求和63
4.4.2 對稱三位數(shù)素數(shù)64
4.4.3 母牛問題66
4.4.4 整數(shù)內(nèi)碼68
4.4.5 整除3、5、769
4.5 第五套實驗70
4.5.1 十-二進制轉(zhuǎn)換70
4.5.2 均方差71
4.5.3 五位以內(nèi)的對稱素數(shù)72
4.5.4 統(tǒng)計天數(shù)73
4.5.5 楊輝三角形74
第二部分 基 本 編 程
第5章 實驗概述78
5.1 實驗?zāi)繕?8
5.2 實驗規(guī)則79
5.3 實驗成績80
第6章 樣板實驗82
6.1 實驗內(nèi)容82
6.2 分析與試探82
6.3 解決時空問題88
6.4 提高搜索速度91
6.5 測試數(shù)據(jù)生成93
第7章 實驗內(nèi)容95
7.1 第一套實驗95
7.1.1 列出完數(shù)95
7.1.2 12!配對95
7.1.3 整數(shù)的因子數(shù)96
7.1.4 浮點數(shù)的位碼96
7.1.5 對稱素數(shù)97
7.2 第二套實驗98
7.2.1 密鑰加密98
7.2.2 密鑰解密99
7.2.3 01串排序100
7.2.4 按績點排名100
7.2.5 去掉雙斜杠注釋101
7.3 第三套實驗102
7.3.1 n!的位數(shù)102
7.3.2 排列對稱串103
7.3.3 勒讓德多項式表103
7.3.4 立方數(shù)與連續(xù)奇數(shù)和104
7.3.5 菲波那契數(shù)105
7.4 第四套實驗105
7.4.1 簡單四則運算105
7.4.2 大數(shù)加106
7.4.3 大數(shù)和107
7.4.4 彼此兩點最近107
7.4.5 離直線最近的點109
7.5 第五套實驗109
7.5.1 大數(shù)乘109
7.5.2 n!中的0110
7.5.3 整數(shù)模110
7.5.4 k個勝利者111
7.5.5 表達式個數(shù)112
7.6 階段測驗112
7.6.1 半數(shù)跳海113
7.6.2 01串的位值113
7.6.3 勘探油田114
7.6.4 另類二進制數(shù)115
7.6.5 不甘井底的蝸牛116
第8章 解題指導(dǎo)118
8.1 第一套實驗118
8.1.1 列出完數(shù)118
8.1.2 12!配對119
8.1.3 整數(shù)的因子數(shù)120
8.1.4 浮點數(shù)的位碼122
8.1.5 對稱素數(shù)123
8.2 第二套實驗125
8.2.1 密鑰加密126
8.2.2 密鑰解密127
8.2.3 01串排序127
8.2.4 按績點排名129
8.2.5 去掉雙斜杠注釋130
8.3 第三套實驗131
8.3.1 n!的位數(shù)132
8.3.2 排列對稱串133
8.3.3 勒讓德多項式表134
8.3.4 立方數(shù)與連續(xù)奇數(shù)和135
8.3.5 菲波那契數(shù)136
8.4 第四套實驗136
8.4.1 簡單四則運算136
8.4.2 大數(shù)加139
8.4.3 大數(shù)和140
8.4.4 彼此兩點最近142
8.4.5 離直線最近的點143
8.5 第五套實驗144
8.5.1 大數(shù)乘144
8.5.2 n!中的0145
8.5.3 整數(shù)模147
8.5.4 k個勝利者149
8.5.5 表達式個數(shù)149
第三部分 設(shè)計與組織
第9章 實驗概述152
9.1 實驗?zāi)繕?52
9.2 實驗步驟154
9.3 實驗報告155
第10章 樣板實驗157
10.1 實驗題目157
10.2 分析設(shè)計158
10.3 工程操作163
10.4 獨立運行164
第11章 實驗內(nèi)容166
11.1 實驗一166
11.2 實驗二167
11.3 實驗三170
11.4 實驗四174
11.5 實驗五175
11.6 階段測驗177
第12章 解題指導(dǎo)179
12.1 實驗一179
12.2 實驗二186
12.3 實驗三195
12.4 實驗四201
12.5 實驗五207
附錄215
附錄A實驗操作指南215
A.1BCB6安裝說明215
A.2BCB6操作介紹215
附錄BBCB6常見編譯錯誤222
附錄C網(wǎng)上提交在線判題系統(tǒng)(OPS)使用說明272
VIII
C++程序設(shè)計教程(第二版)實驗指導(dǎo)
VII
目 錄