重點整理

  • 電腦是一種計算的輔助工具,由微小的電子線路所構成,常見的的個人電腦設備有螢幕、主機、滑鼠及鍵盤。螢幕是主要的輸出裝置,滑鼠、鍵盤則是主要的輸入裝置,主機中有主機板、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 PythonPython程式語言的禪道,其為Python語言風格的中心思想。
PEPPython 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

複習問題

  1. 為何說電腦是計算的輔助工具呢?請以電腦發展的歷史作為參考,舉出例子說明。
  2. 電腦的種類有哪些呢?請從簡單到複雜的電腦,各舉出幾個例子出來。
  3. 請說明作業系統在電腦中所扮演的角色。
  4. 程式語言的分類如何,能否詳細舉例說明?
  5. 請舉出實例說明程式可以解決的問題。
  6. 除了The Zen of Python之外,你覺得Python還有什麼好玩的地方呢?

主要參考資料

  1. Jeffrey Elkner等,How to think like a Computer Scientist: Learning with Python 2nd Edition Chapter 1,2008,Open Book Project
  2. Mark Lutz,Learning Python 3rd edition,2008,Part 1,O’REILLY
  3. 林國平譯,計算機概論(Computer Science: An Overview),2006,東華書局
  4. 林洙如譯,計算機概論(Introduction to Computing Systems: from bits and gates to C and beyond),2002,學貫行銷
  5. Tim Peters,PEP 20 -- The Zen of Python,2004,Python Software Foundation



※ 本文同時登載於 OSSF 網站的下載中心 - PDF ※ 回 - 目錄