重點整理
- 電腦是一種計算的輔助工具,由微小的電子線路所構成,常見的的個人電腦設備有螢幕、主機、滑鼠及鍵盤。螢幕是主要的輸出裝置,滑鼠、鍵盤則是主要的輸入裝置,主機中有主機板、CPU、記憶體與硬碟等,CPU與記憶體都個別的安裝在主機板上,這兩者也是電腦中最核心也最重要的裝置,每當電腦開機後,記憶體就會依序載入作業系統的程序,使用者便可由作業系統提供的介面使用電腦。如果我們小心的剖開CPU,仔細觀察CPU微細構造,便能知道這些電子線路如何與記憶體交流,完成繁複的計算工作。
- 程式語言可概分為低階語言與高階語言兩種。低階語言可分成機器語言與組合語言,兩者都是針對特定的機器所設計(或是說特定的CPU),嚴格來說電腦只懂得機器語言。機器語言為0與1兩種數字的組合,像是0001010001101110之類的,組合語言則是用標記替代機器語言中的數字,寫法如MOV AH, 01,然後經由組譯器編譯成機器語言給機器執行。高階語言分為編譯與直譯兩種,兩種寫法都貼近自然語言的語法,前者的例子有Fortran、COBOL、Pascal、C、C++、Java等,後者的例子有BASIC、 Smalltalk、 Perl、Python、Ruby等。編譯與直譯的主要差別在於編譯式語言先進行翻譯成可執行檔(機器碼)的動作,因此執行程式是直接跑可執行檔,而直譯式語言執行一行翻譯一行為機器碼。
- 程式設計的主要目的在於解決問題,由於各種問題經常需要量化,所以好像都是在處理數學問題。然而我們必須體認問題的本質,除了理解問題發生的原因,還要找出解決問題的方法,若是嘗試的方法無法有效的解決問題,就應該適當的進行策略調整,直到找出最有效的方法為止。
- Python程式語言最突出的特色為清楚、簡潔、乾淨,這也在Tim Peters的“The Zen of Python”有提出說明。Python的發明者Guido van Rossum也曾提出一個口號:“There is only one way to do it.”,由此,Python簡單易學的特性使其成為相當適合的入門程式語言之一。
術語解釋
| 術語 | 解釋 |
|---|
電腦 | 現代電腦由微小的電子線路所構成,其為計算的輔助工具,藉由電子的快速流動,故能在短時間完成大量的計算工作。 | | 個人電腦 | 個人電腦為現代最流行的電腦種類,通常由螢幕、主機、滑鼠、鍵盤等組成,有為數眾多的應用軟體供個人或各種行業使用。 |
| 輸入裝置 | 將資料傳送到中央處理器的裝置,個人電腦中常見的輸入裝置有滑鼠、鍵盤等。 |
| 輸出裝置 | 顯示中央處理器運算結果的裝置,個人電腦中常見的輸出裝置有螢幕等。 |
| 中央處理器 | 電腦的計算中心,其內由許多不同單元組成。 |
| 記憶體 | 動態隨機存取記憶體的簡稱,程式執行前先載入記憶體,然後才依序送進中央處理器進行運算。 |
| 作業系統 | 使用者與電腦之間的溝通介面,作業系統包含所有驅動硬體的程式,讓使用者能操作電腦,並使電腦正常運作。 |
| 機器語言 | 形式為二進位數字如010010011…….的語言,由電子流高低相對電壓而來,目的是使電腦進行運作(計算),每一種電腦都有其特定的機器語言。 |
| 組合語言 | 將機器語言的二進位數字以標記替代,與機器語言相同,每一種電腦只能使用屬於該電腦的組合語言。 |
| 低階語言 | 機器語言和組合語言的合稱。 |
| 程式語言 | 人與電腦間溝通的語言,分為與機器相關的低階語言以及與機器無關的高階語言。 |
| 演算法 | 數學中解決特定問題的詳細步驟,有如食譜一般,亦廣泛用在資訊領育之中,凡是能完成工作的程式都可稱為演算法。 |
| 軟體 | 相對硬體而言,軟體為電腦中的各種程式,儲存在硬體中,並不是具體實質的物品。 |
| 形式語言 | 規範特定的表達方式,如化學式、方程式等。程式語言也是一種形式語言,必須按照固定的語法撰寫。 |
| 機器碼 | 由機器語言撰寫出的程式碼。 |
| 高階語言 | 分為編譯與直譯兩種,前者在執行程式前,要先把原始碼完整翻譯為機器碼,後者則是執行一行原始碼才翻譯一行。 |
| 編譯 | 把程式原始碼完整翻譯為機器碼的動作。 |
| 直譯 | 在執行程式的時候,同時將原始碼翻譯成機器碼的動作。 |
| 原始碼 | 程式的實質內容,又稱為程式碼。 |
| 直譯器 | 直譯式語言的翻譯程式,可將直譯式語言的原始碼一行一行執行除錯。 |
| 程式設計 | 寫程式解決定問題的過程。 |
| Python | 直譯式程式語言的一種,簡單、易學為其主要特色。 |
| The Zen of Python | Python程式語言的禪道,其為Python語言風格的中心思想。 |
| PEP | Python Enhancement Proposals的頭字母縮寫詞,包含許多Python語言發展、推進的許多建議。 |
中英文術語對照
| 中文 | 英文 |
|---|
| 電腦 | computer |
| 個人電腦 | personal computer |
| 輸入裝置 | input devices |
| 輸出裝置 | output devices |
| 中央處理器 | CPU, Central Process Units |
| 記憶體 | memories |
| 作業系統 | operating system |
| 機器語言 | machine language |
| 組合語言 | assembly language |
| 低階語言 | low-level language |
| 程式語言 | programming language |
| 演算法 | algorithm |
| 軟體 | software |
| 形式語言 | formal language |
| 機器碼 | machine code |
| 高階語言 | high-level language |
| 編譯 | compile |
| 直譯 | interpret |
| 原始碼 | source code |
| 直譯器 | interpreter |
| 程式設計 | programming |
| 問題解決 | problem solving |
複習問題
- 為何說電腦是計算的輔助工具呢?請以電腦發展的歷史作為參考,舉出例子說明。
- 電腦的種類有哪些呢?請從簡單到複雜的電腦,各舉出幾個例子出來。
- 請說明作業系統在電腦中所扮演的角色。
- 程式語言的分類如何,能否詳細舉例說明?
- 請舉出實例說明程式可以解決的問題。
- 除了The Zen of Python之外,你覺得Python還有什麼好玩的地方呢?
主要參考資料
- Jeffrey Elkner等,How to think like a Computer Scientist: Learning with Python 2nd Edition Chapter 1,2008,Open Book Project
- Mark Lutz,Learning Python 3rd edition,2008,Part 1,O’REILLY
- 林國平譯,計算機概論(Computer Science: An Overview),2006,東華書局
- 林洙如譯,計算機概論(Introduction to Computing Systems: from bits and gates to C and beyond),2002,學貫行銷
- Tim Peters,PEP 20 -- The Zen of Python,2004,Python Software Foundation
※ 本文同時登載於 OSSF 網站的下載中心 - PDF ※ 回 - 目錄 ※