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