58
計計計計計 計計計計計 1001 1001 計計計計計計 計計計計計計 單單 3: 單單單單單單單 單單單 單單單單 單單單

計算機概論 1001 課後輔導教材 單元 3: 電腦軟體

  • Upload
    amadis

  • View
    58

  • Download
    0

Embed Size (px)

DESCRIPTION

計算機概論 1001 課後輔導教材 單元 3: 電腦軟體. 主講老師:徐培倫. 單元 3. 電腦軟體. 軟體的種類 系統軟體 作業系統 程式語言 課後習題. 軟體的種類. 電腦可分為 軟體 (Software) 及 硬體 (Hardware) 兩個部分。軟體是一切程式的總稱 , 廣義來說 , 軟體泛指能夠控制電腦硬體運作的方法與技術;狹義而言 , 軟體是由各種程式語言所寫成的程式 , 可配合硬體的特性 , 讓電腦依使用者的需要而運作。 - PowerPoint PPT Presentation

Citation preview

Page 1: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

計算機概論計算機概論

10011001課後輔導教材課後輔導教材

單元 3: 電腦軟體

主講老師:徐培倫主講老師:徐培倫

Page 2: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

2

電腦軟體

軟體的種類系統軟體作業系統程式語言課後習題

單元 3

Page 3: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

軟體的種類

電腦可分為軟體 (Software) 及硬體 (Hardware) 兩個部分。軟體是一切程式的總稱 , 廣義來說 , 軟體泛指能夠控制電腦硬體運作的方法與技術;狹義而言 , 軟體是由各種程式語言所寫成的程式 , 可配合硬體的特性 , 讓電腦依使用者的需要而運作。

軟體可進一步區分為系統軟體 (System Software) 及應用軟體 (Application Software) 等 2 大類:

3

Page 4: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

軟體的種類

系統軟體與應用軟體還可區分成以下的分類:

4

Page 5: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

軟體的種類

5

Page 6: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

7- 1- 1 系統軟體

系統軟體通常是為了讓使用者更方便地使用電腦 , 或讓應用軟體能更有效率地執行 , 例如提供操作介面讓使用者得以存取硬碟、列印文件……。

系統軟體與應用軟體最大的差別在於:系統軟體的主要目的為支援電腦的運作 , 因此一般而言會與所使用的硬體有關 , 而應用軟體則否。系統軟體可分為以下 3 種類型:作業系統、公用程式、程式開發工具。

6

Page 7: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

作業系統

作業系統 (OS, Operating System) 是介於電腦硬體與應用軟體之間的軟體 , 它提供應用軟體執行的環境 , 並控制電腦的各種硬體。作業系統的功能主要有三:

讓使用者能更方便的操作電腦。 使電腦資源 ( 如記憶體、 CPU……) 得以更有效率的運用。

提供程式執行的環境及系統呼叫服務。

7

Page 8: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

作業系統

由於我們是藉由作業系統來與電腦溝通 , 所以在使用電腦時 , 實際上是在操作作業系統 , 而不是直接控制電腦的硬體。我們只要對作業系統下達簡單的指令 , 它就會執行複雜的硬體動作為我們把工作做好。

目前比較多人使用的作業系統有 Windows XP/Vista/7 、 Windows Server 2003/2008 、 Mac OS 、 Linux 、 Unix 。

8

Page 9: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

公用程式

電腦和我們的車子、冷氣機一樣也需要保養維護的 , 而這類用來維護或整理電腦系統的程式就稱為公用程式。公用程式的種類很多 , 用途也很廣泛 , 例如搶救不小心刪除的檔案、快速備份硬碟、預防電腦病毒、壓縮檔案等。

個人電腦上常見的公用程式有: Nor ton Sy s temWorks 、 WinZip 、 NOD32 防毒軟體…等 , 有的作業系統本身也會提供一些磁碟、檔案的維護管理工具 , 例如 Windows 中的控制台、工作管理員、清理磁碟、磁碟重組等工具。

9

Page 10: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

程式開發工具

語言是用來溝通的工具 , 人類有人類的語言 , 電腦也有電腦的語言。我們必須將要電腦做的事情 , 以電腦了解的語言來表達 , 電腦才能替我們完成工作。

那麼和電腦溝通該說什麼呢?那就是程式語言 (Programming Language) 。程式就是利用程式語言 , 遵照其一定的規則及所要處理工作的順序 , 編排而成的一連串命令。目前電腦的程式語言有相當多種 , 如 Java、 C 、 C++ 、 C# 、 Visual Basic 、 PHP 、 Perl 、組合語言 (Assembly) 、 Pascal 、 Fortran 、 Python……。

10

Page 11: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

程式開發工具

而開發程式的過程中所會用到的工具 , 即稱為程式開發工具。傳統上 , 程式開發者會先以文書編輯器 (Text Ed i tor ) 寫好程式碼之後;利用編譯器 (Compiler) 將程式碼編譯成目的檔 (Object Program) ;再以連結器 (Linker) 將其他相關的程式連結在一起 , 成為可被執行的執行檔;最後再透過載入器 (Loader) 載入到記憶體中執行:

11

Page 12: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

程式開發工具

開發程式時 , 較大型的程式很少一次就完全成功的 , 若在編譯或執行過程中發現錯誤 , 則會利用除錯器 (Debugger) 偵錯。在有些情況 , 為了讓程式執行更有效率或想要自行控制硬體 , 則會使用組合語言撰寫程式碼 , 寫好的程式碼就需要以組譯器 (Assembler) 將程式碼編譯成執行檔。而有的還會有巨集處理器 (Macro Processor), 可以在撰寫程式時 , 用指定的字串來取代多行程式碼 , 以方便閱讀。

12

Page 13: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

7- 1- 2 應用軟體

應用軟體是針對特定任務或功能所設計的程式。系統軟體只是賦予電腦硬體的靈魂 , 必須藉由各種應用軟體的支援 , 電腦才能充分展現它的效用 , 應用於我們的日常生活、工作之中。應用軟體依使用者取得的方式 , 可分為以下 2 類:

套裝軟體 (Package Software) :在市面上購買或直接從網路下載的現成軟體 , 例如 Office 、 Photoshop 、 Dreamweaver 、 PC-cillin … 等 , 市面上大部分的應用軟體均屬套裝軟體。

13

Page 14: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

應用軟體

自行開發的軟體 (Tailor Software) :當套裝軟體無法符合某些需求時 , 而特別量身打造的軟體 , 例如有些企業會委託軟體公司或自行開發符合其需求的採購訂單管理系統、人事薪資管理系統…等。

14

Page 15: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

電腦中常見的套裝軟體

文書處理軟體: Microsoft Word 、 Openoffice.org Writer。

試算表軟體: Microsoft Excel 、 Openoffice.org Calc 。 簡報軟體: Microsoft PowerPoint 、 Openoffice.org

Impress 。 資訊管理軟體: Microsoft Outlook 。 多媒體軟體: MediaStudio Pro 、 Flash 。 繪圖、影像處理軟體:

AutoCAD 、 CorelDraw 、 Photoshop 、 Illustrator 。

15

Page 16: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

電腦的軟硬體組成

16

Page 17: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

電腦的軟硬體組成

若以實際的運作情況來看 , 如:小明在電腦上安裝了 Windows 7 作業系統及 Word 軟體 , 當他要將打好的文件列印出來時 , 其運作關係如下所示:

17

Page 18: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

作業系統的功能

作業系統是電腦硬體與使用者 , 及電腦硬體與應用軟體之間的媒介。使用者透過應用軟體或作業系統來操控電腦硬體 , 作業系統再將執行結果傳回給使用者或應用軟體。作業系統的主要功能有以下 3 項:

提供使用者介面。 管理系統資源。 提供程式執行的環境及系統呼叫服務。

18

Page 19: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

提供使用者介面

當我們新接觸到一個作業系統時 , 很多人往往會說「讓我看看它長什麼樣子?」 進而坐到電腦前實際使用鍵盤、滑鼠體驗一下。使用者面對一個作業系統 , 其所看到的外觀及操作方式 , 即稱為使用者介面 (UI, User Interface) 。

作業系統在電腦硬體與使用者之間提供了 『使用者介面』 , 讓使用者透過此介面來執行所要進行的事。等執行完後 , 作業系統再經由使用者介面將結果讓使用者知道 , 因此作業系統扮演了使用者與電腦硬體溝通橋樑的角色。

19

Page 20: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

提供使用者介面

使用者介面依使用者在操作時 , 主要是以滑鼠或鍵盤操作的不同 , 可分為命令列介面 (CLI, Command-Line Interface) 及圖形使用者介面 (GUI, Graphical User Interface) 等 2 種:

20

Page 21: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

提供使用者介面

命令列介面 以文字模式呈現 , 需由鍵盤輸入指令 , 方能執行所需要

的功能。由於命令列介面並不需花時間在視窗呈現的運算上 , 因此

會有較佳的執行效能 ;但缺點為操作介面 較不友善 , 需要記憶 指令的用法才能上手。

21

Page 22: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

主要作業系統推出年表 最後下面這張

表 , 列出了比較具代表性作業系統及其版本與推出年代 , 提供給讀者參考:

22

Page 23: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

量身訂做的作業系統 -嵌入式系統

嵌入式系統 (Embedded System) 是一種完全針對特定用途而設計的作業系統 , 我們的生活中隨處可見嵌入式系統的應用 , 小至手機、 MP3 隨身聽 , 大至 ATM 提款機、購票系統、工廠自動化機器 , 這些裝置都需要作業系統來處理工作 , 其所使用的作業系統便是嵌入式系統。

23

Page 24: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

量身訂做的作業系統 -嵌入式系統

上述所提到的裝置都是特定用途 , 因為這些工作都是特定應用 , 例如 MP3 隨身聽只需要處理 MP3 解碼、音樂播放等工作 , 所以製造廠商會精簡原有的作業系統 , 或者自行開發專屬的作業系統 , 針對特定用途進行最佳化 , 並且盡量縮小系統以降低成本。這些針對特定用途 『量身訂做 』 的作業系統 , 因為與硬體有密不可分的關係 , 感覺上好像是把作業系統嵌進硬體裝置內 , 所以泛稱為嵌入式系統。

24

Page 25: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

量身訂做的作業系統 -嵌入式系統

25

Page 26: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

量身訂做的作業系統 -嵌入式系統

嵌入式系統通常以韌體 (Firmware) 的形式放置於 Flash Memory 等唯讀記憶體中 , 除非經過特殊的更新程序 , 否則系統通常是固定不變的。

韌體是一個具有軟體程式功能的硬體 , 介於軟體與硬體之間 , 兼具兩者的特性。個人電腦的 BIOS, 便是韌體的一種。

目前幾乎所有電子產品中 , 或多或少都有嵌入式系統的影子 , 資訊科技除了在個人電腦、超級電腦等領域日新月異 , 在嵌入式系統領域的發展也相當成功 , 產生了各式各樣自動化的電子產品 , 可說是更為深遠地增進了人類生活的便利性。

26

Page 27: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統與一般作業系統的差別

嵌入式系統包含的範圍相當廣泛 , 各領域所使用的系統可能完全不同 , 以較廣為人知的手持裝置 (智慧型手機、 PDA) 為例 , 其中常見的 Windows Mobile 與個人電腦上的 Windows 系統比較其差異如下。

27

Page 28: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統與一般作業系統的差別

個人電腦上的 Windows 可以由使用者自行切割磁碟區、重新安裝 Windows 、升級Windows 到更新的版本 , 甚至還可以刪除 Windows 改為安裝 Linux ;但是手持裝置上的 Windows Mobile 便無法進行這些工作 , 因為嵌入式系統中軟硬體緊密結合 , 所以使用者無法隨意修改系統 , 很難自行改裝為其他嵌入式作業系統 ( 如 Android 或 iOS) 。

28

Page 29: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統的研發環境

因為嵌入式系統是 『量身訂做 』 的作業系統 , 所以在嵌入式系統中 , 軟硬體是非常密切的結合在一起 , 可能更改了某個硬體元件 , 軟體便必須跟著修改;或者要實作出某種軟體上的功能時 , 同時需要增加某個硬體元件 , 因此嵌入式系統的開發者 , 必須對軟體與硬體都有一定程度的瞭解。

29

Page 30: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統的研發環境

設計嵌入式系統時 , 除了微處理器晶片 (MCU, Microcontroller) 以外 , 通常還需要加上各式各樣的周邊功能晶片 , 例如類比數位轉換器 (ADC, Analog-to-Digital Converter) 、數位類比轉換器 (DAC, Digital-to-Analog Converter) 、放大器、過濾器、脈衝寬度調變 (PWM, PulseWidth Modulation)... 等 , 因為綜合了數位和類比的周邊功能晶片 , 使得整個系統變得相當複雜。

30

Page 31: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統的研發環境

部分廠商會推出整合週邊元件的晶片或套件 , 將常用的數位和類比功能整合進微處理器晶片 , 如此便不需要外加周邊功能晶片 , 可以降低設計的複雜度 。

不過即使採用整合式晶片進行研發 , 仍然可能發生產品設計初期選定某一款晶片 , 到了中後期臨時需要新增某個功能 , 但是這個功能並未被整合進當初選定的晶片的狀況。此時要解決問題 , 只能增加成本外加周邊晶片 , 或者改用其他整合式晶片 , 但兩者可能都需要更改電路與程式的設計 , 額外耗費大量的時間和精力。

31

Page 32: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統的研發環境

為了增加嵌入式系統的設計彈性 , 美國 IC 設計廠商 Cypress 公司開發出了 PSoC(Programmable System on Chip, 可程式系統單晶片 ) 系統晶片。 PSoC 晶片內部具有多個可自由設計的數位、類比模塊 , 這些模塊可以像堆積木一樣 , 自由地變化成數位和類比的應用功能 , 例如可透過兩個類比模塊構成一個濾波器。設計者可依照需求隨時增加、刪減 , 或更改區塊所形成的功能 , 所以就算遇到產品功能或設計改變 , 也不需要更換晶片 , 或是從頭大幅改變電路與程式的設計。

32

Page 33: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

嵌入式系統的研發環境

目前 Apple 、任天堂、三星等領導性廠商已經開始採用 PSoC 晶片進行開發 , 在充滿彈性的設計理念下 , PSoC 晶片的開發模式可說是嵌入性系統未來值得關注的發展方式。

33

Page 34: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

何謂程式語言

電腦是用來幫助人們解決問題的 , 而電腦硬體要能幫我們解決問題 , 就必須有程式 ( 軟體 ) 告訴電腦要做什麼事。所以程式語言可說是人控制電腦如何做事的一種語言 , 而為了符合不同的需求、解決不同類型的問題 , 也使資訊界出現各種不同的程式語言 , 例如一般人可能都曾聽過的組合語言、 BASIC 、 C 、 C++ 、 Java 、 ... 等等。以下我們進一步來瞭解為什麼會有這麼多種不同的程式語言 , 以及其間的差異。

34

Page 35: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

13-2 程式語言的發展

如果不考慮一百多年前的分析機 (Analytical Engine, 參見第 1 章 ), 第一個程式語言的出現至今才不過半個世紀多 , 但在短短的 50 年 , 就已發展出數量多到令人眼花撩亂的程式語言種類。程式語言最簡略的分類方式 , 就是將它們依『抽象化』的程度分成高階語言 (High-Level Language) 、低階語言 (Low-Level Language) 兩類:

35

Page 36: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

程式語言的發展

36

Page 37: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

13-2-1 第一代:機器語言

對於電腦來說 , 它真正所懂得的語言只有一種 , 就是機器語言。所謂的機器語言 , 其實是以特定的數字來表示電腦所能進行的各個動作 , 我們稱這些數字為機器碼 (Machine Code) 或機器語言。舉例來說 , 如果把電腦比喻為一個只認得數字命令的機器人 , 而 0 代表向前走一步、 1 代表向後退一步、 2 代表往左轉 90 度、而 3 代表往右轉 90 度。那麼當我們要命令這個機器人往前走三步、再往右走三步時 , 就必須下達『 0003000』的指令 , 當電腦看到這一串數字後 , 就會依照每個數字所代表的意義做出指定的動作:

37

Page 38: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第一代:機器語言

相信大家都會發現 , 用數字來控制機器人會相當辛苦 , 因為我們得先熟記每個數字所代表的動作 , 然後還要能將一連串數字組合起來 , 以表達我們要機器人做的工作。

不過上述的機器人例子 , 其實已經簡化機器語言的複雜性。 CPU 只能接受一組預先定義好的指令 , 而且這些指令其實都只是做一些非常基本的計算或控制動作 , 所以要讓電腦做一項簡單的動作 , 可能需要數個指令才能完成。以目前通用於個人電腦的 x86 系列 CPU 為例 , 要讓它計算 "3-1" 這個減法計算 , 必須先將數字 3 存到暫存器 (參見 2-2-1 節 ) 後再進行運算。

38

Page 39: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第一代:機器語言

任何一個人都可以看得出來 , 這種以數字表達的語言並不適合人閱讀。因此大家很快就發現要用這種方式撰寫程式 , 實在太難、太辛苦了。所以人們就開始思考如何能以更友善的方式來撰寫程式。

39

Page 40: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

關於程式『碼』

在程式設計的領域 , 常可聽到程式碼或原始碼 (Source Code) 這樣的名詞。『碼』就是由英文字 Code 翻譯而來 , 其原意是指機器語言的數字碼。雖然我們使用各種高階語言 ( 後詳 ) 所撰寫的程式早已脫離用數字寫程式的形式 , 不過 Code 這個字仍沿用至今 , 因此對任何程式語言所寫成的原始程式 , 都可稱之為程式碼或原始碼。

40

Page 41: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

13-2-2 第二代:組合語言

由於使用以 0 、 1 組合成的機器語言來撰寫程式實在太不方便 , 因此人們就想到將這些機器碼都代換成較方便學習、記憶的助憶碼 (Mnemonic), 也就是組合語言 (Assembly Language) 。

以前面的機器語言程式為例 , 將資料從某處移到某處的動作就用英文單字Move 的前三字 MOV 來代表;而將數值減 1, 就用 Decrease 的前 3 字 DEC 來代表 , 所以前述的程式用組合語言來寫就變成如表 13-2 所示。

41

Page 42: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第二代:組合語言

組合語言程式必須轉換成微處理器真的看得懂的機器語言碼 , 才能讓電腦執行。將組合語言程式轉換成機器語言程式的動作稱為組譯 , 用來將組合語言碼轉換 (翻譯 ) 成機器碼的工具稱為組譯器 (Assembler) 。

42

Page 43: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第二代:組合語言

由於機器碼和組合語言碼有對應關係 , 所以也可以反向由機器碼產生組合語言碼的程式 , 此動作稱為『反組譯』 , 所用的工具稱為反組譯器 (Disassembler) 。

43

Page 44: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第二代:組合語言

雖然用助憶碼來代替原本的數字程式碼已改善原本用機器碼寫程式的諸多不便及容易出錯等缺失 , 但用組合語言寫程式仍有一大缺點:程式設計者必須對微處理器架構、電腦硬體架構要有充份的認識。例如表 13-2 中的程式就用到了 AX 暫存器 (AL 代表 16 位元 AX 暫存器中的低位元組 ), 換言之 , 要用組合語言寫程式 , 至少必須認識微處理器中有哪些暫存器可使用、各暫存器的功用為何;如果程式需存取到週邊裝置 , 則需認識如何透過 BIOS 或特定的輸出輸入埠 (I/O Port), 將資料送到輸出裝置或由輸入裝置取得資料。

44

Page 45: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第二代:組合語言

45

Page 46: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第二代:組合語言

然而要充份認識微處理器架構、電腦硬體架構後才能開始寫程式 , 就好像要求我們要先瞭解引擎結構、傳動系統之後才能學開車;要先認識無線電原理及語音轉換成無線電的編碼方式才能用手機打電話:這將對汽車、行動電話的推廣有莫大的阻礙。同理 , 組合語言提高了撰寫程式的門檻 , 也因此限制了電腦的普及。此外 , 以組合語言撰寫程式還有下列缺點:

46

Page 47: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第二代:組合語言

因為使用的助憶碼仍是代表微處理器的指令 , 也就是要以微處理器的角度來思考問題 , 開發程式仍相當不便。

不同硬體架構的微處理器其機器碼都各不同 , 例如一般個人電腦所用的 x86 系列 CPU, 和許多智慧型手機使用的 ARM CPU 其機器語言就不相同 , 組合語言也有差異 , 要讓程式可在不同的電腦上執行 , 必須重新改寫程式。

47

Page 48: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

13-2-3 第三代:高階語言

不論是機器語言還是組合語言 , 對於程式的描述都是以電腦所能進行的最基本動作為步驟 , 因此這兩種語言被稱為低階語言。為了讓人們能以更接近人的思考方式來寫程式 , 就有了所謂的高階語言。

48

Page 49: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第三代:高階語言

第一個被廣泛使用的高階語言為 1950 年代所開發出來的 Fortran (Formula Translator) 語言 , 此後更多的語言如 COBOL 、 BASIC 、 Pascal 、 C ... 等等就如雨後春筍般地出現。高階語言中有些是專為某些用途而設計的 , 但也有些是特別設計成通用性 (General Purpose) 的語言。但由於各語言都有不同優缺點 , 也因此各有其適用的場合 , 再加上每個人對語言有不同的喜好程度 , 所以至今仍有相當多的語言存在 , 我們也因此有許多程式語言可選擇。

49

Page 50: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第三代:高階語言

高階語言與低階語言之間最明顯的差異 , 在於高階語言多是以近似英語的語法來撰寫 , 因此學習的難度降低 , 寫來也較不容易出錯。例如以下的 BASIC 語言程式片段 , 就算沒學過 BASIC 語言的人 , 也能大概猜出其意思。

50

Page 51: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第三代:高階語言

雖然寫程式的門檻降低 , 但也連帶使程式的執行效能下降:一般而言 , 同樣的程式 , 用高階語言撰寫者 , 其執行效能會比以組合語言撰寫者差。不過透過編譯器 ( 後詳 ) 的改良、硬體速度的飛快成長 , 使其間差異愈來愈小 , 甚至可忽略 , 因此目前通常只在特別要求執行效能的程式 , 才會使用組合語言。

高階語言寫成的程式 , 和組合語言一樣需要經過轉譯的動作 , 才能變成電腦認得的機器語言並執行之。高階語言轉譯的動作分成兩種:編譯 (Compile) 及直譯 (Interpret) 。

51

Page 52: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

程式語言種類與執行方式的關係

52

Page 53: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

13-2-4 第四代及第五代語言

高階程式語言雖然讓人們能更輕鬆編寫程式 , 但實際上 , 要『寫好』程式 ,仍需經過相當多的學習與訓練。因此為了減輕程式設計者的負擔 , 讓寫程式變得更容易 , 就有人發展出所謂的第四代語言。

53

Page 54: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第四代及第五代語言

不過對第四代語言目前並無明確的定義 , 大體而言 , 一般所稱的第四代語言都是指能自動產生程式的工具 , 例如報表產生器 (Report Generator) 及 CASE (Computer Aid Software Engineer, 電腦輔助軟體工程 ) 工具;或是可花較短時間即可學會的特定用途語言 , 例如專門用於查詢資料庫資料的 SQL 語言 , 其語法比第三代語言更加口語化 , 學習的門檻也降低。

54

Page 55: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第四代及第五代語言

55

Page 56: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

第四代及第五代語言

至於第五代語言 (5GL, Fifth Generation Languages) 則被稱為自然語言 (Nature Language), 其目的是希望人們能以更接近日常生活的方式來命令電腦 (設計程式就是要控制電腦 ), 此一理念是與第五代電腦的計劃一起提出的。然而由於第五代電腦的發展計劃也無實際的成果 , 第五代語言的概念早在上個世紀即被提出 , 但發展多年仍未有比較實用的成果。

56

Page 57: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

課後練習

1. 請說明系統軟體的分類。2. 請簡述套裝軟體與自行開發的軟體有何

不同?3. 請簡述作業系統 3 個主要功能。4. 使用組合語言撰寫程式有什麼優缺點?

57

Page 58: 計算機概論 1001 課後輔導教材 單元  3: 電腦軟體

課後練習

58

5. 請試說明為什麼要有高階語言。6. 請說明註解的用途及為什麼寫程式要多加註解?