出版時間:2010-1 出版社:東南大學出版社 作者:林厚叢 主編 頁數(shù):305
Tag標簽:無
前言
學習程序設計的關(guān)鍵是方法和思想,尤其是中小學生的起步階段,教學的重點應該放在培養(yǎng)學生濃厚的編程興趣、良好的編程習慣和算法思想上,要避免繁雜的概念和次要知識,抓住核心的、主要的知識點。基于此,我們組織了江蘇省幾位優(yōu)秀的一線教練員,編寫了本冊教材?! ”緯o密圍繞“程序一算法+數(shù)據(jù)結(jié)構(gòu)”這一核心思想,通過大量實例的分析和剖析,讓讀者充分體會“程序是怎樣煉成的”。本書主要內(nèi)容包括: 第1章講述程序設計必須掌握的一些基礎(chǔ)知識,如二進制思想、計算機系統(tǒng)的組成、計算機編程解題的一般過程以及算法的基本概念、特征、描述和三種基本結(jié)構(gòu)?! 〉?章到第7章以:FreePascal語言作為載體,以大量應用實例為主線,講述程序設計語言的基本語句和語法、基本思想、基本應用?! 〉?章介紹了程序設計過程中用到的基礎(chǔ)算法,如窮舉法、遞推法、遞歸法、回溯法、動態(tài)規(guī)劃以及一些專用算法,如查找、排序、高精度運算、進制轉(zhuǎn)換等?! 〉?章介紹了一些基本的數(shù)據(jù)結(jié)構(gòu),如普通線性表、棧、隊列、樹、圖等,重點突出數(shù)據(jù)結(jié)構(gòu)服務于算法的思想,強調(diào)數(shù)據(jù)結(jié)構(gòu)的具體應用?! 〉?0章給出了一套青少年信息學奧林匹克分區(qū)聯(lián)賽(NOIP)的初賽、復賽模擬試題、具體分析和答案。
內(nèi)容概要
程序設計涉及語言、環(huán)境和應用三個方面,學習程序設計的關(guān)鍵在于培養(yǎng)融合這三個方面的系統(tǒng)化思維方法。針對起步階段的中小學學生,如何利用有限的課外時間,在短時間內(nèi)達到較好的效果,是值得思考的問題。本書按照認知的規(guī)律,第1章首先認識計算機及利用其工作的基本方法。然后第2章到第7章以FreePascal語言為例介紹計算機語言的相關(guān)知識及其基本使用。在此基礎(chǔ)上,第8章和第9章面向應用,介紹基本的數(shù)據(jù)結(jié)構(gòu)、基礎(chǔ)算法及其應用。第10章給出一套全國青少年信息學奧林匹克分區(qū)聯(lián)賽(NOIP)的初賽及復賽模擬試題(含答案和具體分析),以突出實戰(zhàn)訓練特點。附錄部分詳細總結(jié)FreePascal語言的知識以及其開發(fā)環(huán)境的使用和調(diào)試技巧。由此,實現(xiàn)程序設計系統(tǒng)化思維方法的訓練。
本書主要面向廣大中小學生學習程序設計的教學和訓練需求,同時也非常適合普通高等學校本科以及??茖W生學習程序設計課程的教學和學習參考用書。對一般的程序設計愛好者,本書也具有重要的參考價值。
書籍目錄
第1章 程序設計基礎(chǔ)
1.1 二進制
1.2 計算機系統(tǒng)的組成
1.2.1 運算器
1.2.2 控制器
1.2.3 存儲器
1.2.4 榆入設備
1.2.5 輸出設備
1.3 計算機編程解題的一般過程
1.4 算法的概念及特征
1.4.1 算法的概念
1.4.2 算法的特征
1.5 算法的描述及三種基本結(jié)構(gòu)
1.5.1 算法的描述
1.5.2 算法的三種基本結(jié)構(gòu)
1.6 算法的應用舉例
習題1
第2章 Pascal的基本語法
2.1 Pascal程序概述
2.1.1 Pascal程序的一般結(jié)構(gòu)
2.1.2 Pascal程序中的符號
2.2 Pascal中的數(shù)據(jù)
2.2.1 整型
2.2.2 實型
2.2.3 字符型
2.2.4 布爾型
2.3 Pascal中的量
2.3.1 常量
2.3.2 變量
2.4 Pascal中的函數(shù)
2.5 Pascal中的表達式
2.5.1 運算符
2.5.2 表達式
習題2
第3章 Pascal的基本語句
3.1 順序結(jié)構(gòu)的程序設計
3.2 分支結(jié)構(gòu)的程序設計
3.2.1 簡單分支結(jié)構(gòu)
3.2.2 分支結(jié)構(gòu)嵌套
3.2.3 多分支語句
3.3 循環(huán)結(jié)構(gòu)的程序設計
3.3.1 計數(shù)循環(huán)(for/to/do語句)
3.3.2 當型循環(huán)(while/do語句)
3.3.3 直到型循環(huán)(repeat/until語句)
3.3.4 循環(huán)嵌套
3.3.5 循環(huán)的綜合應用
習題3
第4章 數(shù)組及其應用
4.1 子界類型
4.2 數(shù)組的定義
4.3 數(shù)組的基本操作
4.4 數(shù)組的基本應用
4.5 字符數(shù)組與字符串
習題4
第5章 過程與函數(shù)
5.1 自定義函數(shù)
5.2 自定義過程
5.3 變量及其作用域
5.4 參數(shù)的傳遞
5.5 遞歸程序的設計
習題5
第6章 枚舉、集合、記錄和文件
6.1 枚舉類型
6.2 集合類型
6.2.1 集合的性質(zhì)
6.2.2 集合的運算
6.2.3 集合的輸入輸出
6.2.4 集合的應用舉例
6.3 記錄
6.3.1 記錄的定義
6.3.2 記錄的操作
6.3.3 開域語句
6.3.4 記錄的應用舉例
6.4 文件
習題6
第7章 指針
7.1 靜態(tài)存儲與動態(tài)存儲
7.2 指針變量及基本使用
7.2.1 指針變量的定義
7.2.2 指針變量的使用
7.3 線性鏈表
7.3.1 線性鏈表的概念
7.3.2 線性鏈表的建立
7.3.3 線性鏈表的遍歷與輸出
7.3.4 線性鏈表的查找
7.3.5 線性鏈表的插入
7.3.6 線性鏈表的刪除
7.3.7 線性鏈表的歸并
7.4 循環(huán)鏈表
7.5 雙向鏈表
7.6 指針的綜合應用
習題7
第8章 算法初步
8.1 算法評價
8.1.1 算法的正確性
8.1.2 算法的簡單性:編程復雜度
8.1.3 算法消耗的時間:時間復雜度
8.1.4 算法占用的存儲空間:空間復雜度
8.2 窮舉法
8.2.1 窮舉法的應用舉例
8.2.2 窮舉法的優(yōu)化
8.3 進制轉(zhuǎn)換原理及應用
8.3.1 進制轉(zhuǎn)換原理
8.3.2 進制轉(zhuǎn)換原理的應用
8.4 高精度運算
8.5 數(shù)據(jù)查找與排序
8.5.1 數(shù)據(jù)查找算法
8.5.2 數(shù)據(jù)排序算法
8.5.3 排序算法的比較
8.5.4 查找與排序應用舉例
8.6 組合數(shù)學
8.6.1 組合數(shù)學中的基本原理
8.6.2 排列
8.6.3 組合
8.7 遞推與遞歸
8.8 回溯法
8.9 動態(tài)規(guī)劃
習題8
第9章 數(shù)據(jù)結(jié)構(gòu)初步
9.1 線性表
9.2 棧
9.2.1 棧的概念
9.2.2 棧的存儲結(jié)構(gòu)
9.2.3 棧的基本操作
9.2.4 棧的應用舉例
9.3 隊列
9.3.1 隊列的概念
9.3.2 隊列的存儲結(jié)構(gòu)
9.3.3 隊列的基本操作
9.3.4 循環(huán)隊列
9.3.5 隊列的應用舉例
9.4 樹
9.4.1 樹的定義
9.4.2 樹的基本概念
9.4.3 樹的表示方法
9.4.4 樹的遍歷
9.4.5 二叉樹的基本概念
9.4.6 普通樹轉(zhuǎn)換成二叉樹
9.4.7 二叉樹的遍歷
9.4.8 二叉樹的計數(shù)
9.4.9 由遍歷結(jié)果確定二叉樹的形態(tài)
9.5 圖
9.5.1 圖的概念
9.5.2 圖的遍歷
習題9
第10章 分區(qū)聯(lián)賽模擬試題
10.1 分區(qū)聯(lián)賽初賽模擬試題(普及組)
10.2 分區(qū)聯(lián)賽復賽模擬試題(普及組)
附錄
附錄1 常用字符的ASCⅡ碼對照表
附錄2 FreePascal的常用運算符
附錄3 FreePascal編譯和運行過程中的出錯信息
附錄4 FreePascal的常用過程和函數(shù)
附錄5 FreePascal的調(diào)試技巧
參考文獻
章節(jié)摘錄
版權(quán)頁:插圖:數(shù)據(jù)(data)是信息的載體,它能夠被計算機識別、存儲和加工處理,是計算機程序加工的對象。在計算機科學中,數(shù)據(jù)可以分為數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù)。數(shù)值型數(shù)據(jù)是指整數(shù)、實數(shù)等,非數(shù)值型數(shù)據(jù)包括字符、文字、圖形、圖像、語音等。數(shù)據(jù)元素(data element)是數(shù)據(jù)的基本單位。在不同的場合中,數(shù)據(jù)元素又被稱為元素、結(jié)點、頂點、記錄等。數(shù)據(jù)結(jié)構(gòu)(data structure)是指互相之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合。在任何問題中,數(shù)據(jù)元素之間都不會是孤立的,在它們之間都存在著這樣或那樣的關(guān)系,這種數(shù)據(jù)元素之間的關(guān)系稱之為“結(jié)構(gòu)”。根據(jù)數(shù)據(jù)元素之間關(guān)系的不同特性。通常有以下四種基本的結(jié)構(gòu):①集合結(jié)構(gòu):在集合結(jié)構(gòu)中,數(shù)據(jù)元素之間的關(guān)系是“屬于同一個集合”。集合是元素關(guān)系極為松散的一種結(jié)構(gòu),因此也可用其他結(jié)構(gòu)來表示。②線性結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著一對一的關(guān)系。③樹型結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著一對多的關(guān)系。④圖型結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著多對多的關(guān)系,也稱作網(wǎng)狀結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)可以看作是從具體問題抽象出來的數(shù)學模型,它與數(shù)據(jù)的存儲無關(guān)。而研究數(shù)據(jù)結(jié)構(gòu)的目的是為了在計算機中實現(xiàn)對它的操作,為此,還需要研究如何在計算機中表示一個數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)在計算機中的表示稱為數(shù)據(jù)的物理結(jié)構(gòu)(或存儲結(jié)構(gòu)),它研究的是數(shù)據(jù)結(jié)構(gòu)在計算機中的實現(xiàn)方法,包括數(shù)據(jù)結(jié)構(gòu)中元素的表示及元素間關(guān)系的表示。數(shù)據(jù)的存儲結(jié)構(gòu)有順序存儲和鏈式存儲兩種。順序存儲方法是把邏輯上相鄰的元素存儲在物理位置相鄰的存儲單元中,由此得到的存儲表示稱為順序存儲結(jié)構(gòu)。順序存儲結(jié)構(gòu)是一種最基本的存儲表示方法,通常借助程序設計語言中的數(shù)組實現(xiàn)。鏈式存儲方法對邏輯上相鄰的元素不要求其物理位置相鄰,元素間的邏輯關(guān)系通過附設的指針字段來表示,由此得到的存儲表示稱為鏈式存儲結(jié)構(gòu)。鏈式存儲結(jié)構(gòu)通常借助程序設計語言中的指針類型實現(xiàn)。除了通常采用的順序存儲方法和鏈式存儲方法外,有時為r查找的方便還采用索引存儲方法和散列存儲方法。
編輯推薦
《青少年信息學奧林匹克競賽實戰(zhàn)輔導叢書:程序設計與應用(中學?PASCAL)》緊密圍繞“程序=算法+數(shù)據(jù)結(jié)構(gòu)”這一核心思想,通過大量實例的分析和剖析,讓讀者充分體會“程序是怎樣煉成的”。《青少年信息學奧林匹克競賽實戰(zhàn)輔導叢書:程序設計與應用(中學?PASCAL)》主要內(nèi)容包括:第1章講述程序設計必須掌握的一些基礎(chǔ)知識。第2章到第7章以FreePascal語言作為載體,以大量應用實例為主線,講述程序設計語言的基本語句和語法、基本思想、基本應用。第8章介紹了程序設計過程中用到的基礎(chǔ)算法。第9章介紹了一些基本的數(shù)據(jù)結(jié)構(gòu)。第10章給出了一套青少年信息學奧林匹克分區(qū)聯(lián)賽的初賽、復賽模擬試題、具體分析和答案。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載