本書是主教材《C++程序設(shè)計語言》的配套用書,全書共6章,主要內(nèi)容有包括課程實踐概述、課程實踐預備知識、課程實踐示例、課程實踐材料、課程實踐報告書寫、上機練習題。本書可作為普通高等學校C++實踐課程教材,也可供學生自學。
更多科學出版社服務(wù),請掃碼獲取。
《普通高等教育'十二五'規(guī)劃教材:C++程序設(shè)計實踐教程》可以作為普通高等學校c++上機實踐課程教材使用,還可供計算機愛好者閱讀參考。
目錄
前言
第1章 課程實踐概述 1
1.1 課程實踐的性質(zhì)與目的 1
1.2 課程實踐的要求 1
1.3 課程實踐的選題原則 1
1.4 課程實踐的基本步驟 2
1.5 組織與管理 2
第2章 課程實踐預備知識 4
2.1 算法與算法分析 4
2.1.1 算法的概念 4
2.1.2 算法的表示 5
2.1.3 算法分析 8
2.2 程序調(diào)試中的常見錯誤 10
2.2.1 語法錯誤 10
2.2.2 邏輯錯誤 13
2.3 可視化編程簡介 18
2.3.1 可視化編程 18
2.3.2 可視化編程中的基本概念 18
2.4 課程實踐設(shè)計過程詳解 19
第3章 常用算法介紹 22
3.1 排序算法 22
3.2 串匹配算法 24
3.3 遞歸算法 25
3.4 迭代算法 29
3.5 查找算法 32
第4章 課程實踐示例 35
4.1 基礎(chǔ)題示例 35
4.2 提高題示例 37
4.3 拓展題示例 43
4.3.1 MFC程序設(shè)計 43
4.3.2 基于ODBC的數(shù)據(jù)庫訪問 53
第5章 課程實踐題選 64
5.1 基礎(chǔ)題 64
5.1.1 編程題 64
5.1.2 改錯題 78
5.2 提高題 89
5.3 拓展題 101
第6章 課程實踐報告 105
附錄A 課程實踐報告封面 113
附錄B 計算機等級考試模擬試卷及參考答案 114
全國計算機等級考試二級筆試模擬試卷 131
全國計算機等級考試VC++上機模擬試卷 141
參考文獻 148
共同點是簡單、直觀、易讀、邏輯關(guān)系清楚,但存在結(jié)構(gòu)不清,畫起來較費事、修改較困難的問題。同時,它們又與源程序差異較大,不利于較快地轉(zhuǎn)化成源程序。因此,經(jīng)常還會用其他一些方法作為描述算法的工具。
(1)偽代碼表示。偽代碼又稱為虛擬代碼,它使用計算機語言和自然語言相結(jié)合來描述算法,是介于自然語言與計算機語言之間的一種用文字和符號相結(jié)合的算法描述工具,形式上跟計算機語言比較接近,但又沒有嚴格的語法規(guī)則限制,通常借助某種高級語言的控制結(jié)構(gòu)進行描述,中間的操作可以用自然語言,也可以用程序設(shè)計語言描述。其特點是結(jié)構(gòu)清晰、代碼簡單、可讀性好,并且由于類似于自然語言,不用拘泥于具體的實現(xiàn),因此比畫流程圖等更省時省力,且更容易轉(zhuǎn)化為源程序。
(2)PAD。PAD(ProblemAnalysisDiagram)又稱問題分析圖,1973年由日本日立公司提出。它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,這種圖翻譯成程序代碼比較容易。圖2—6給出了PAD的基本符號。
在PAD中,最左邊的豎線是程序的主線,即第1層控制結(jié)構(gòu)。隨著程序?qū)哟蔚脑黾,PAD逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線。PAD中豎線的總條數(shù)就是程序的層次數(shù)。由于每種控制語句都有一個圖形符號與之對應(yīng),顯然將PAD轉(zhuǎn)換成與之相對應(yīng)的高級程序語言比較容易。
2.1.3算法分析
通常對于同一個問題,有不同的解決方法,即可以有不同的算法。例如,對N個數(shù)進行排序,可以用選擇法排序,也可以用冒泡排序、歸并排序等。那么到底應(yīng)該選擇哪一種算法呢?
一般而言,算法的選擇在保證正確的前提下,還應(yīng)考慮執(zhí)行一個算法所要占用的計算機資源是多少,包括時間資源和空間資源兩方面,這兩方面都與問題的規(guī)模有關(guān)。例如,對10個數(shù)排序與對1000個數(shù)排序所花費的運行時間和存儲空間顯然是有差別的。