《大學(xué)計(jì)算機(jī)基礎(chǔ)》以信息表示和信息處理為基本線索,全面介紹了計(jì)算機(jī)系統(tǒng)的基本概念、原理和方法。首先介紹了信息、信息表示、信息處理和二進(jìn)制概念,以及用二進(jìn)制表示數(shù)值信息和字符信息的方法;然后分別介紹了計(jì)算機(jī)硬件系統(tǒng)的結(jié)構(gòu)和工作原理、操作系統(tǒng)功能及實(shí)現(xiàn)策略、數(shù)據(jù)庫技術(shù)、多媒體技術(shù)、信息安全技術(shù)、計(jì)算思維和計(jì)算機(jī)問題求解。《大學(xué)計(jì)算機(jī)基礎(chǔ)》有配套的實(shí)驗(yàn)教材,給出了一系列實(shí)驗(yàn)設(shè)計(jì),并詳細(xì)描述了實(shí)驗(yàn)方法。
《大學(xué)計(jì)算機(jī)基礎(chǔ)》內(nèi)容符合教育部高等學(xué)校非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)課程教學(xué)指導(dǎo)分委員會(huì)提出的有關(guān)“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程的教學(xué)基本要求,可作為大學(xué)本科、專科的計(jì)算機(jī)基礎(chǔ)課程教材及培訓(xùn)教材。
陳躍新、李暾、賈麗麗、黃旭慧、汪昌健等編著的《大學(xué)計(jì)算機(jī)基礎(chǔ)》的內(nèi)容選取以理解計(jì)算機(jī)系統(tǒng)為重點(diǎn),選擇計(jì)算機(jī)系統(tǒng)的基本概念、原理和方法進(jìn)行介紹,并注重向培養(yǎng)計(jì)算思維和問題求解能力延伸。實(shí)驗(yàn)教材則面向計(jì)算機(jī)應(yīng)用技能的培養(yǎng)。《大學(xué)計(jì)算機(jī)基礎(chǔ)》共9章,內(nèi)容大致可分為如下部分:①信息、信息表示、信息處理的基本概念和方法(第1、2章);②計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和工作原理(第3、4章和第5章的一部分,計(jì)算機(jī)網(wǎng)絡(luò)整體上可看做一個(gè)計(jì)算機(jī)系統(tǒng));③常見的應(yīng)用技術(shù)(第5章的一部分,第6~8章);④計(jì)算思維和計(jì)算機(jī)問題求解(第9章,這一章概述了計(jì)算機(jī)問題求解的一般方法及相關(guān)概念)。
前言
第1章 引言
1.1 信息和信息處理
1.1.1 信息
1.1.2 信息表示
1.1.3 信息處理
1.2 信息處理裝置的發(fā)展簡史
1.2.1 機(jī)械式計(jì)算裝置
1.2.2 圖靈機(jī)和圖靈
1.2.3 現(xiàn)代電子計(jì)算機(jī)
1.2.4 計(jì)算機(jī)的發(fā)展趨勢
1.3 計(jì)算技術(shù)的應(yīng)用
1.4 計(jì)算思維
1.4.1 基本概念
1.4.2 作用與意義 前言
第1章 引言
1.1 信息和信息處理
1.1.1 信息
1.1.2 信息表示
1.1.3 信息處理
1.2 信息處理裝置的發(fā)展簡史
1.2.1 機(jī)械式計(jì)算裝置
1.2.2 圖靈機(jī)和圖靈
1.2.3 現(xiàn)代電子計(jì)算機(jī)
1.2.4 計(jì)算機(jī)的發(fā)展趨勢
1.3 計(jì)算技術(shù)的應(yīng)用
1.4 計(jì)算思維
1.4.1 基本概念
1.4.2 作用與意義
1.5 信息化社會(huì)和人
1.6 本書結(jié)構(gòu)
1.7 本章小結(jié)
延伸閱讀材料
習(xí)題
第2章 計(jì)算機(jī)基本信息表示
2.1 進(jìn)制
2.1.1 進(jìn)制的概念
2.1.2 二進(jìn)制、八進(jìn)制和十六進(jìn)制
2.1.3 進(jìn)制之間的轉(zhuǎn)換
2.2 二進(jìn)制運(yùn)算的物理實(shí)現(xiàn)
2.2.1 實(shí)現(xiàn)邏輯運(yùn)算的開關(guān)電路
2.2.2 實(shí)現(xiàn)二進(jìn)制數(shù)存儲的邏輯電路
2.2.3 常用組合邏輯電路
2.3 計(jì)算機(jī)數(shù)值表示
2.3.1 計(jì)算機(jī)碼制
2.3.2 定點(diǎn)數(shù)和浮點(diǎn)數(shù)
2.4 字符編碼
2.4.1 字符編碼的概念
2.4.2 ASCII碼
2.4.3 漢字編碼
2.4.4 Unicode碼
2.5 本章小結(jié)
延伸閱讀材料
習(xí)題
第3章 計(jì)算機(jī)硬件系統(tǒng)
3.1 計(jì)算機(jī)系統(tǒng)概論
3.1.1 計(jì)算機(jī)硬件系統(tǒng)結(jié)構(gòu)
3.1.2 計(jì)算機(jī)軟件
3.2 計(jì)算機(jī)硬件系統(tǒng)核心——CPU
3.2.1 CPU結(jié)構(gòu)
3.2.2 指令系統(tǒng)
3.2.3 CPU工作過程
3.2.4 CPU高級話題
3.3 存儲系統(tǒng)
3.3.1 主存儲器系統(tǒng)
3.3.2 輔存儲器系統(tǒng)
3.3.3 高速緩存
3.4 總線
3.5 輸入/輸出系統(tǒng)
3.5.1 輸入/輸出系統(tǒng)結(jié)構(gòu)與控制
3.5.2 輸入/輸出設(shè)備
3.6 本章小結(jié)
延伸閱讀材料
習(xí)題
第4章 操作系統(tǒng)
4.1 操作系統(tǒng)概述
4.1.1 操作系統(tǒng)發(fā)展簡史
4.1.2 操作系統(tǒng)基礎(chǔ)
4.1.3 常見操作系統(tǒng)
4.2 進(jìn)程管理
4.2.1 進(jìn)程與程序
4.2.2 進(jìn)程狀態(tài)
4.2.3 進(jìn)程管理與調(diào)度
4.3 存儲管理
4.3.1 存儲管理概述
4.3.2 存儲管理方式
4.4 文件管理
4.4.1 文件與文件系統(tǒng)
4.4.2 文件組織結(jié)構(gòu)
4.4.3 目錄與文件
4.4.4 文件存儲空間管理
4.5 設(shè)備管理
4.5.1 設(shè)備管理任務(wù)和策略
4.5.2 輸入/輸出軟件系統(tǒng)
4.6 用戶接口
4.7 操作系統(tǒng)的加載
4.8 本章小結(jié)
延伸閱讀材料
習(xí)題
第5章 計(jì)算機(jī)網(wǎng)絡(luò)及應(yīng)用
5.1 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)
5.1.1 計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展歷史
5.1.2 計(jì)算機(jī)網(wǎng)絡(luò)的分類
5.1.3 計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)與協(xié)議
5.1.4 計(jì)算機(jī)網(wǎng)絡(luò)傳輸介質(zhì)與設(shè)備
5.2 局域網(wǎng)
5.2.1 局域網(wǎng)概述
5.2.2 介質(zhì)訪問控制協(xié)議
5.2.3 以太網(wǎng)
5.3 Internet基礎(chǔ)
5.3.1 Internet概述
5.3.2 TCP/IP協(xié)議
5.4 Internet應(yīng)用
5.4.1 萬維網(wǎng)
5.4.2 電子郵件
5.4.3 文件傳輸
5.4.4 搜索引擎
5.5 無線網(wǎng)絡(luò)
5.5.1 無線數(shù)據(jù)網(wǎng)絡(luò)的分類
5.5.2 無線局域網(wǎng)
5.6 本章小結(jié)
延伸閱讀材料
習(xí)題
第6章 多媒體技術(shù)基礎(chǔ)
6.1 多媒體概述
6.1.1 多媒體的基本概念
6.1.2 多媒體計(jì)算機(jī)系統(tǒng)組成
6.1.3 多媒體技術(shù)的主要應(yīng)用
6.2 聲音數(shù)字化技術(shù)
6.2.1 聲音概述
6.2.2 聲音的數(shù)字化
6.2.3 數(shù)字音頻的技術(shù)指標(biāo)
6.2.4 數(shù)字音頻處理
6.2.5 常用音頻文件格式
6.3 數(shù)字圖像處理技術(shù)
6.3.1 圖像的顏色
6.3.2 圖像的數(shù)字化
6.3.3 數(shù)字圖像的屬性
6.3.4 位圖與矢量圖
6.3.5 圖像的加工處理
6.3.6 常用圖像文件格式
6.4 視頻和動(dòng)畫技術(shù)
6.4.1 視頻基礎(chǔ)
6.4.2 常用視頻文件格式
6.4.3 計(jì)算機(jī)動(dòng)畫概述
6.4.4 動(dòng)畫文件格式
6.5 多媒體數(shù)據(jù)壓縮
6.5.1 數(shù)據(jù)壓縮概述
6.5.2 數(shù)據(jù)壓縮標(biāo)準(zhǔn)
6.6 本章小結(jié)
延伸閱讀材料
習(xí)題
第7章 數(shù)據(jù)庫技術(shù)應(yīng)用基礎(chǔ)
7.1 數(shù)據(jù)庫技術(shù)概述
7.1.1 數(shù)據(jù)管理發(fā)展簡史
7.1.2 數(shù)據(jù)庫的基本概念
7.1.3 數(shù)據(jù)庫技術(shù)的主要特征
7.1.4 數(shù)據(jù)庫的應(yīng)用
7.2 數(shù)據(jù)模型
7.3 概念模型
7.3.1 E-R模型的相關(guān)概念和E-R圖
7.3.2 概念建模的基本步驟
7.4 邏輯模型
7.4.1 層次模型和網(wǎng)狀模型
7.4.2 關(guān)系模型
7.4.3 E-R模型到關(guān)系模型的轉(zhuǎn)化
7.4.4 面向?qū)ο竽P?br>7.5 物理模型
7.6 數(shù)據(jù)庫管理系統(tǒng)
7.7 管理信息系統(tǒng)與數(shù)據(jù)庫
7.8 本章小結(jié)
延伸閱讀材料
習(xí)題
第8章 信息安全技術(shù)
8.1 信息安全概論
8.1.1 信息安全基本概念
8.1.2 硬件系統(tǒng)的安全
8.1.3 軟件系統(tǒng)的安全
8.1.4 計(jì)算機(jī)網(wǎng)絡(luò)安全
8.2 計(jì)算機(jī)病毒及其防治
8.2.1 計(jì)算機(jī)病毒的定義與特征
8.2.2 計(jì)算機(jī)病毒的分類與常見癥狀
8.2.3 計(jì)算機(jī)病毒傳播的方式和途徑
8.2.4 計(jì)算機(jī)病毒防治方法
8.2.5 惡意程序
8.2.6 擺渡攻擊
8.3 安全技術(shù)
8.3.1 加解密技術(shù)
8.3.2 訪問控制技術(shù)
8.3.3 漏洞分析
8.3.4 防火墻
8.3.5 入侵檢測
8.3.6 審計(jì)
8.3.7 虛擬私有網(wǎng)絡(luò)
8.4 本章小結(jié)
延伸閱讀材料
習(xí)題
第9章 計(jì)算思維與計(jì)算機(jī)問題求解
9.1 計(jì)算思維的典型方法
9.2 計(jì)算機(jī)問題求解
9.3 算法與程序
9.3.1 算法
9.3.2 程序
9.4 算法基礎(chǔ)
9.4.1 算法設(shè)計(jì)
9.4.2 算法分析
9.5 程序設(shè)計(jì)語言與程序設(shè)計(jì)
9.5.1 程序設(shè)計(jì)語言及其分類
9.5.2 程序設(shè)計(jì)的典型過程
9.5.3 程序的基本結(jié)構(gòu)
9.5.4 程序的基本控制結(jié)構(gòu)
9.6 結(jié)構(gòu)化程序設(shè)計(jì)示例
9.6.1 結(jié)構(gòu)化程序設(shè)計(jì)思想
9.6.2 結(jié)構(gòu)化程序設(shè)計(jì)原則
9.6.3 結(jié)構(gòu)化程序設(shè)計(jì)示例
9.7 本章小結(jié)
延伸閱讀材料
習(xí)題
參考文獻(xiàn)
第1 章引言
【學(xué)習(xí)內(nèi)容】本章作為本書的引言,主要知識點(diǎn)包括:
. 信息、信息表示和信息處理的概念;
. 信息處理裝置的發(fā)展簡史;
. 計(jì)算技術(shù)的應(yīng)用;
. 計(jì)算思維的基本概念;
. 計(jì)算機(jī)文化相關(guān)內(nèi)容。
【學(xué)習(xí)目標(biāo)】通過本章的學(xué)習(xí),讀者應(yīng)該:
. 理解信息、信息表示和信息處理的概念;
. 了解信息處理裝置的發(fā)展規(guī)律;
. 了解計(jì)算技術(shù)的應(yīng)用;
. 理解計(jì)算思維的基本概念和作用;
. 了解信息化社會(huì)對人的素質(zhì)要求、相關(guān)社會(huì)和法律問題。
計(jì)算機(jī)系統(tǒng)是通用的、計(jì)算能力強(qiáng)大的信息處理工具,在社會(huì)生活的各個(gè)方面都有廣泛的應(yīng)用。要深入、有效地使用計(jì)算機(jī),必須理解信息和信息處理的相關(guān)概念。本章首先介紹信息、信息表示和信息處理的概念,然后簡單敘述了信息處理裝置的發(fā)展軌跡、計(jì)算機(jī)技術(shù)的應(yīng)用、計(jì)算思維的概念,最后討論了信息化社會(huì)對人的素質(zhì)要求及相關(guān)問題。
1.1 信息和信息處理
現(xiàn)代計(jì)算技術(shù)的迅猛發(fā)展,推動(dòng)人類社會(huì)快速進(jìn)入信息化社會(huì)。借助計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò),人類獲取和處理信息的能力得到了巨大的提高。信息化社會(huì)的人應(yīng)該了解計(jì)算機(jī)、駕馭計(jì)算機(jī),同時(shí)也應(yīng)該理解信息、掌握信息處理的基本技術(shù)。用計(jì)算機(jī)解決問題,首先要獲取問題相關(guān)的信息,按照某種方式將信息存儲在計(jì)算機(jī)中,然后啟動(dòng)計(jì)算機(jī)程序處理這些信息。計(jì)算機(jī)問題求解涉及兩個(gè)基本方面,即信息表示和信息處理。
1.1.1 信息
信息是客觀存在的表現(xiàn)形式,是事物之間相互作用的媒介,是事物復(fù)雜性和差異性的反映。人類通過五個(gè)感覺器官能夠感知客觀事物的不同信息。例如,通過眼睛,我們可以看到物體的圖像,感知物體的顏色、形狀和大小;通過耳朵,我們可以聽到一定頻率范圍內(nèi)的聲音;通過鼻子,我們能夠辨別各種氣味。這些信息將匯集到人的大腦,由大腦進(jìn)行處理。
“信息”這一概念的定義有多種表述。例如,信息是對人有用、能夠影響人的行為的數(shù)據(jù);信息是關(guān)于客觀事實(shí)的、可通信的知識。較權(quán)威的定義由信息論的創(chuàng)始人香農(nóng)給出:信息是事物運(yùn)動(dòng)狀態(tài)或存在方式的不確定性的描述。這些定義的共同點(diǎn):信息是客觀存在的一種表達(dá)。信息具有事實(shí)性、不完全性、變換性和時(shí)效性等特點(diǎn)。信息的事實(shí)性指信息以客觀存在為基礎(chǔ),這是信息的核心價(jià)值。信息的不完全性說明信息的被占有性,由于人的認(rèn)識的局限性,占有的信息總是不完全的。信息的變換性指信息可以以不同方式表達(dá),以不同的介質(zhì)承載。信息的時(shí)效性指信息的發(fā)送、傳遞、接收、加工,以及使用的時(shí)間間隔和效率。
信息有多種形式。從人類感知信息的方式分類,有視覺信息、聽覺信息、味覺信息和觸覺信息等。從信息的表現(xiàn)形式分類,有數(shù)值信息、字符信息、圖表信息、圖像信息、聲音信息等。
數(shù)據(jù)是編碼的信息,是顯示表示的信息。但是,數(shù)據(jù)和信息這兩個(gè)概念之間沒有明確的界限,在很多時(shí)候可以通用。例如,計(jì)算機(jī)是信息處理機(jī)器,也可以說計(jì)算機(jī)是數(shù)據(jù)處理機(jī)器。
數(shù)據(jù)有很多種類。在計(jì)算機(jī)領(lǐng)域,特別是在程序設(shè)計(jì)和數(shù)據(jù)庫中,根據(jù)數(shù)據(jù)的不同用途和不同處理需要,將數(shù)據(jù)分為整型數(shù)、浮點(diǎn)數(shù)、布爾數(shù)和字符數(shù)等多種類型。
1.1.2 信息表示
信息表示泛指信息的獲取、描述、組織全過程,其狹義指其中的信息描述過程。信息表示需要一種符號系統(tǒng)。人類在長期的實(shí)踐中形成的語言文字就是一種符號系統(tǒng)。人們按照語言的語法規(guī)則和語義規(guī)則,用文字表達(dá)和傳遞概念、事實(shí)或知識。聲音也是一種符號系統(tǒng),因?yàn)槿祟愑寐曇暨M(jìn)行通信。聲音與文字相輔相成,表達(dá)言語的一個(gè)音節(jié)一般都對應(yīng)某個(gè)文字,同樣每個(gè)文字都有特定的發(fā)音。人類常用的符號系統(tǒng)還有盲文、啞語和旗語等。另外,在人類使用的自然語言和數(shù)學(xué)中廣泛存在的一類符號系統(tǒng)是數(shù)制系統(tǒng),如十進(jìn)制數(shù)制、二進(jìn)制數(shù)制等。數(shù)制系統(tǒng)是描述事物間的數(shù)量關(guān)系的符號系統(tǒng)。
用于信息表示的符號系統(tǒng)有三個(gè)基本特點(diǎn)。第一,存在一個(gè)基本的有限符號集,符號集中符號的數(shù)目多于一個(gè)。例如,十進(jìn)制數(shù)制符號系統(tǒng)的基本符號集包含十個(gè)數(shù)字符號0~9、小數(shù)點(diǎn)和數(shù)符等。如果考慮基本算術(shù)運(yùn)算,還加上加、減、乘、除四個(gè)運(yùn)算符,以及等號。英語的基本符號有大小寫英文字母和標(biāo)點(diǎn)符號等,其基本符號的數(shù)目不多。漢語的基本符號包括漢字及標(biāo)點(diǎn)符號等,數(shù)目比較龐大。為什么基本符號集數(shù)目要多于一個(gè)?因?yàn)樾枰枋龅氖挛锖褪挛锏倪\(yùn)動(dòng)狀態(tài)不是單一的,事物之間存在復(fù)雜的相互關(guān)系。單一符號不足以簡潔表達(dá)復(fù)數(shù)事物和它們的相互關(guān)系。一般情況下,符號系統(tǒng)的基本符號集不是太龐大。否則,不方便記憶和使用。第二,不同符號有明顯的差別,以便于人們感知和識別這些符號。第三,存在一組規(guī)則,按照規(guī)則可以將基本符號組成更復(fù)雜的結(jié)構(gòu),如符號串。例如,在十進(jìn)制中,多個(gè)數(shù)字并列形成數(shù)字串,產(chǎn)生十位、百位、千位和萬位等高位數(shù);在數(shù)字串中包含一個(gè)小數(shù)點(diǎn)則形成小數(shù);而在前面加上數(shù)符,則區(qū)分正負(fù)數(shù)。在漢語中根據(jù)詞法規(guī)則可以用漢字組成詞組,根據(jù)語法規(guī)則可以形成句子。
在計(jì)算機(jī)中,最基本的信息表示方法是二進(jìn)制。用二進(jìn)制編碼計(jì)算機(jī)機(jī)器指令,用二進(jìn)制表示數(shù)值、字符、圖像、聲音等信息。計(jì)算機(jī)硬件能夠識別和處理的信息形式只能是二進(jìn)制。雖然,在計(jì)算機(jī)領(lǐng)域還常常用到很多抽象層次更高的信息表示形式,但這些形式表示的信息必須轉(zhuǎn)換成二進(jìn)制形式,才能被計(jì)算機(jī)硬件直接處理。例如,現(xiàn)在大多數(shù)計(jì)算機(jī)程序都是用匯編語言或高級程序設(shè)計(jì)語言編寫的,這樣的程序不能直接在計(jì)算機(jī)硬件中運(yùn)行,只有經(jīng)過一個(gè)“翻譯器”,將其轉(zhuǎn)換為機(jī)器指令序列,才能在計(jì)算機(jī)上運(yùn)行。
我們面臨的信息量往往是龐大的,這要求按照一定的關(guān)系、用一定的結(jié)構(gòu)將數(shù)據(jù)組織起來,以便于信息的傳遞、存儲和處理。例如,我們將信息組織成一本書或一份文件,按照主題將其分為章節(jié),按照主旨將章節(jié)分為段落。在日常生活中,人們常常用表格記錄信息。例如,表1-1 存放了某班學(xué)生的基本信息,這些信息包括學(xué)生的學(xué)號、姓名、性別、出生日期、民族、籍貫等。表格能夠把邏輯上關(guān)聯(lián)的數(shù)據(jù)集合在一起,它是一種常用的信息組織形式。
表1-1 學(xué)生基本信息表
學(xué)號 姓名 性別 出生日期 民族 籍貫
06050101 張三 男 1986.01.12 漢 湖南
06050102 王紅 女 1988.05.01 漢 湖北
06050103 李四 男 1987.10.23 回 甘肅
06050104 王二 男 1987.12.12 漢 北京
06050105 李綠 女 1988.06.15 壯 廣西
… … … … … …
在計(jì)算機(jī)領(lǐng)域,組織信息的方式稱為數(shù)據(jù)結(jié)構(gòu)。常用數(shù)據(jù)結(jié)構(gòu)一般有線性表、樹和圖等類型。線性表適合表達(dá)數(shù)據(jù)之間的線性關(guān)系。例如,將學(xué)生信息按照年齡大小羅列成一張表,表中每一項(xiàng)放入一個(gè)學(xué)生的信息。在這張學(xué)生信息表中,物理位置相鄰的項(xiàng),在年齡上具有順序性。根據(jù)操作方式的不同,線性表又分為向量、隊(duì)列和棧。向量中各數(shù)據(jù)元素具有編號,元素的編號一般與其在向量中的序號相同。設(shè)V 是一個(gè)向量,則V(1) 是V 的第一個(gè)元素,V(2) 是V的第二元素……在向量結(jié)構(gòu)中,能夠用編號隨機(jī)訪問其中的元素。因此,對向量的訪問一般是快捷、高效的。
隊(duì)列可以看做是從日常生活中的“排隊(duì)”現(xiàn)象抽象出來的結(jié)構(gòu)。在火車售票廳買票,每個(gè)售票窗口前都排有一個(gè)隊(duì)列。隊(duì)列中最前面的人最先得到處理,他(她)的事務(wù)處理完后,從隊(duì)列的頭部出來,隊(duì)列中余下的人向前進(jìn)一個(gè)位置。如果有人希望進(jìn)入這個(gè)隊(duì)列,他(她)只能排在隊(duì)尾。隊(duì)列這樣的數(shù)據(jù)結(jié)構(gòu)兩端區(qū)分隊(duì)列的頭部和隊(duì)列的尾部。數(shù)據(jù)元素進(jìn)入隊(duì)列,只能從隊(duì)尾進(jìn),成為隊(duì)列的最后一個(gè)元素。而出隊(duì)列的元素只能是現(xiàn)隊(duì)列中的最前面的元素。第一個(gè)元素出來后,隊(duì)列中其他元素都需要向前移動(dòng)一個(gè)位置。圖1-1 表明了隊(duì)列的結(jié)構(gòu)。
棧可看做這樣一個(gè)結(jié)構(gòu),它由若干方格疊加起來,每個(gè)方格存放一個(gè)數(shù)據(jù)項(xiàng)。棧的上端稱為棧頂,棧的底端稱為棧底(見圖1-2)。出棧時(shí),只有棧頂?shù)脑夭拍艹鰜恚M(jìn)棧時(shí),只能從棧頂進(jìn)入。如果一個(gè)非棧頂?shù)脑匾鰲#紫鹊冒哑渖厦娴脑囟汲鰲#拍艹鰜怼R虼耍瑪?shù)據(jù)元素進(jìn)出棧的原則是“先進(jìn)后出”。棧這種數(shù)據(jù)結(jié)構(gòu)也是對現(xiàn)實(shí)世界中某些現(xiàn)象的抽象。例如,一個(gè)探險(xiǎn)隊(duì)進(jìn)入一個(gè)僅能容納一人通過的山洞,進(jìn)去后發(fā)現(xiàn),洞的另一端是堵塞的,他們必須按照原路退出來。探險(xiǎn)隊(duì)員們出山洞的順序與進(jìn)去的順序剛好相反。
樹數(shù)據(jù)結(jié)構(gòu)由結(jié)點(diǎn)和邊組成。結(jié)點(diǎn)表示數(shù)據(jù)元素,邊連接兩個(gè)結(jié)點(diǎn),表示這兩個(gè)結(jié)點(diǎn)數(shù)據(jù)元素之間的關(guān)系。邊具有方向性,從一個(gè)結(jié)點(diǎn)指向另一個(gè)結(jié)點(diǎn)。邊的起始結(jié)點(diǎn)稱為父結(jié)點(diǎn),所指結(jié)點(diǎn)稱為子結(jié)點(diǎn)。一棵樹中僅有一個(gè)結(jié)點(diǎn)沒有父結(jié)點(diǎn),該結(jié)點(diǎn)稱為樹根,而沒有子結(jié)點(diǎn)的結(jié)點(diǎn)稱為葉結(jié)點(diǎn)。樹中每個(gè)結(jié)點(diǎn)或沒有父結(jié)點(diǎn),或有唯一的父結(jié)點(diǎn)。在圖示樹時(shí),習(xí)慣上將其畫成一棵“向下生長”的樹,用橢圓代表結(jié)點(diǎn),用帶箭頭的線段代表邊。樹結(jié)構(gòu)一般用來組織具有層次關(guān)系的數(shù)據(jù)集合。圖1-3 顯示了一棵描述《紅樓夢》中賈家部分家族關(guān)系的樹。圖中橢圓形代表樹的結(jié)點(diǎn),用來存儲數(shù)據(jù),線段代表樹的邊,用來表示“父.子”層次關(guān)系。在賈政和賈寶玉之間有一條邊相連接,說明賈政是賈寶玉的父親。
同樣,圖數(shù)據(jù)結(jié)構(gòu)也是由結(jié)點(diǎn)和邊組成的。但對結(jié)點(diǎn)的連接關(guān)系沒有限制。也就是說,圖中任意兩個(gè)結(jié)點(diǎn)之間都可存在一條邊。實(shí)際上樹是圖的特例。圖可以表示數(shù)據(jù)元素之間的復(fù)雜關(guān)系。例如,可以用圖表示城市之間的公路交通。在這樣的圖中,結(jié)點(diǎn)代表城市,邊代表連接城市的公路。
在計(jì)算機(jī)領(lǐng)域中,常用的數(shù)據(jù)組織形式還有文件和數(shù)據(jù)庫等。這些數(shù)據(jù)組織形式將在本書的后續(xù)章節(jié)中介紹。
同一種信息可以用不同的方法表示。但不同表示方法之間存在等價(jià)關(guān)系,根據(jù)這種關(guān)系,它們之間可以互相轉(zhuǎn)換。如漢語和英語之間可以互相翻譯,十進(jìn)制和二進(jìn)制之間可以互相轉(zhuǎn)換,高級語言程序可以翻譯成等價(jià)的機(jī)器語言程序。
信息的表示都是在一定的抽象層次上進(jìn)行的。所謂抽象,是指在表示中省略某些細(xì)節(jié),抽象層次越高的表示包含的細(xì)節(jié)越少。在計(jì)算機(jī)領(lǐng)域,一般認(rèn)為包含計(jì)算機(jī)特性越多的信息表示,抽象層次越低。二進(jìn)制就是計(jì)算機(jī)中抽象層次最低的信息表示方法。比較而言,高級程序設(shè)計(jì)語言的抽象層次高于匯編語言,匯編語言的抽象層次高于機(jī)器語言。在計(jì)算機(jī)領(lǐng)域常常將信息表示分為三個(gè)層次:概念層、邏輯層和物理層。物理層信息表示涉及在計(jì)算機(jī)的存儲介質(zhì)上的存儲形式和組織形式,這種形式表示的信息,能夠被計(jì)算機(jī)硬件直接處理。概念層信息表示以人類容易理解的形式描述信息,便于人與人之間的通信。邏輯層表示的抽象層次介于物理層和概念層之間,一般用于人―機(jī)通信。
現(xiàn)實(shí)世界的對象都能通過某種方式在計(jì)算機(jī)中表示出來。例如,對于一個(gè)人,或者將其照片存儲在計(jì)算機(jī)中,或者抽取其特征,以字符信息、數(shù)字信息形式存儲在計(jì)算機(jī)中,或者將這兩類信息都存儲在計(jì)算機(jī)中。這樣計(jì)算機(jī)中就存在與現(xiàn)實(shí)世界人對應(yīng)的“虛擬人”或“數(shù)字化人”。
1.1.3 信息處理
人的大腦是處理信息的裝置。它在信息處理方面的能力包括記憶、組織、檢索和使用。記憶是指把通過感覺器官接收的信息保存在大腦中;組織是指將大腦中的各種信息進(jìn)行分類,形成一種易于檢索和處理的結(jié)構(gòu);檢索是指大腦在一定的刺激之下,通過聯(lián)想找到相關(guān)信息;使用是指利用信息進(jìn)行分析、判斷和推理。人類通過感官獲得外部信息的過程,在計(jì)算機(jī)領(lǐng)域稱為輸入,而通過語言、書寫和手勢等展示信息的過程稱為輸出。在很多情況下,我們的大腦選擇性地吸收感官輸入的信息,或者控制感官定向地感知某些信息。同樣,為了某個(gè)通信目的,大腦會(huì)控制嘴巴、手或身體某部位,向外展示信息。也就是說,在大多數(shù)情況下,大腦對人的信息輸入和輸出過程進(jìn)行控制,實(shí)現(xiàn)有效的通信。
人類在長期的實(shí)踐中發(fā)明了各種信息處理工具,以輔助人類的信息處理任務(wù)。這些信息處理工具的作用主要表現(xiàn)在下列方面:
. 輸入/輸出。通過某種途徑接收外部的信息,或?qū)?nèi)部信息發(fā)送出去。
. 存儲。將信息存儲在某種媒介上,并按照一定方式進(jìn)行組織,以便于快捷查找和處理。
. 傳輸。將信息從一個(gè)地方傳送到另一個(gè)地方,或者從一個(gè)對象傳送給另一個(gè)對象。
傳輸過程往往包含信息的格式轉(zhuǎn)換。
. 檢索。根據(jù)用戶提供的某些片斷信息,或關(guān)鍵字,通過匹配或聯(lián)想,找到相關(guān)的信息。
. 計(jì)算。按照預(yù)先定義的計(jì)算模型,對信息進(jìn)行處理,以得到需要的結(jié)果。計(jì)算一般分為兩類:數(shù)值計(jì)算和非數(shù)值計(jì)算。數(shù)值計(jì)算指對數(shù)值數(shù)據(jù)進(jìn)行處理,如數(shù)的加減乘除運(yùn)算、數(shù)的比較運(yùn)算等。非數(shù)值計(jì)算又有符號計(jì)算和多媒體信息處理之分。符號計(jì)算對字符串?dāng)?shù)據(jù)進(jìn)行操作。例如,字串分解、字串合成、字串匹配和查找等。對于多媒體信息,不同媒體有不同的處理。例如,對于聲音信息,有聲音識別、聲音合成等;對于圖像信息,有圖像繪制、圖像變換和圖像識別等處理。
. 推理。推理是一類高級的計(jì)算,根據(jù)一組前提,演繹出結(jié)論。
一個(gè)由處理步驟形成的序列稱為處理過程。由計(jì)算機(jī)硬件完成的處理過程稱為硬件過程,如信息的輸入/輸出處理,由輸入/輸出設(shè)備完成,信息的存儲由計(jì)算機(jī)存儲設(shè)備實(shí)現(xiàn),信息的傳輸由通信設(shè)備和通信介質(zhì)完成,它們都是硬件過程。由計(jì)算機(jī)軟件完成的處理過程稱為軟件過程,查詢、計(jì)算和推理等處理一般由軟件實(shí)現(xiàn)。
理解一個(gè)計(jì)算機(jī)系統(tǒng),或一種計(jì)算技術(shù),要弄清楚四個(gè)問題:①它將處理什么類型的信息?②信息如何表示?③在這些信息上進(jìn)行什么處理?④如何實(shí)現(xiàn)這些處理?下面以多媒體技術(shù)為例進(jìn)行說明。多媒體技術(shù)是研究聲音、圖形圖像、視頻和動(dòng)畫等類型信息的處理技術(shù)。這些信息一般采用二進(jìn)制編碼,基本的信息處理一般有多媒體信息的采樣、量化、編碼、存儲、傳輸、壓縮和變換。這些處理可以通過硬件過程或軟件過程實(shí)現(xiàn)。例如,采樣由輸入設(shè)備承擔(dān),壓縮和變換主要由軟件過程完成。因此,信息表示和信息處理是計(jì)算技術(shù)的核心概念,是理解計(jì)算技術(shù)的兩條主要線索。
1.2 信息處理裝置的發(fā)展簡史
自從第一臺現(xiàn)代計(jì)算機(jī)問世以來,計(jì)算機(jī)技術(shù)得到了迅猛的發(fā)展。計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,對人類文明產(chǎn)生了深刻的影響。
人類發(fā)明計(jì)算裝置(包括計(jì)算機(jī)),最初目的是使加、減、乘、除等基本算術(shù)運(yùn)算能夠自動(dòng)化,以便讓其承擔(dān)工程問題中枯燥、煩瑣和大規(guī)模的計(jì)算,從而減輕人類的腦力勞動(dòng)強(qiáng)度。但是,計(jì)算機(jī)的作用不僅限于此。在人類研究和開發(fā)計(jì)算裝置及計(jì)算技術(shù)的進(jìn)程中,逐步賦予了計(jì)算機(jī)邏輯操作能力,計(jì)算機(jī)不但能進(jìn)行算術(shù)運(yùn)算,而且能進(jìn)行邏輯判斷,使其可以根據(jù)問題的性質(zhì),執(zhí)行不同的運(yùn)算。人類發(fā)明精致的編碼符號系統(tǒng),用于將各種信息形式數(shù)值化,使計(jì)算機(jī)不僅能夠處理數(shù)值信息,而且能夠處理更廣泛存在的其他形態(tài)的信息,如文本、圖形、圖像、聲音和影視等。
1.2.1 機(jī)械式計(jì)算裝置
勞動(dòng)創(chuàng)造工具,而工具又拓展了人類探索自然的深度和廣度。計(jì)算機(jī)是人類對計(jì)算