Transcript 程式語言I
1-1 1-2 1-3 1-4 程式語言 I – VISUAL BASIC Chapter 1 認知 了解電腦語言的意義、功能和種類。 能分辨何謂高階、低階語言,程式語言的編譯、執行方式。 能說出設計程式的步驟及細節。 技能 能寫出程式開發的詳細步驟。 能比較出組譯、直譯和編譯的差異和優缺點。 1-1 程式語言的功能 電腦程式(program)是指在電腦上依一定執行 順序執行的邏輯性指令。 使用程式語言撰寫的程式,又可以稱之為軟體 (software),用來控制電腦硬體(hardware)工作, 若依功能區分為系統軟體(system software)和 應用軟體(application software) 。 程式語言 I – VISUAL BASIC 1-2 軟體的分類 作業系統 系統軟體 程式處理器 工具程式 軟體 套裝軟體 應用軟體 自行開發軟體 程式語言 I – VISUAL BASIC 1-3 1-2 程式語言的種類 電腦程式語言依接近人類語言的程度可分為低階語 言(low-level language)與高階語言(high-level language)。 低階語言可以分為機器語言(machine language)與組合 語言(assembly language)兩種。 高階語言語法更接近人類的自然語言,要用直譯器 (interpreter)或編譯器(compiler)翻譯後才能執行。 高階語言分為程序導向語言(procedural-oriented language)、物件導向語言(object-oriented language)和 應用軟體語言(application-software language) 。 程式語言 I – VISUAL BASIC 1-4 程式語言的分類 機械語言 低階語言 組合語言 程序導向語言 程式語言 物件導向語言 高階語言 應用軟體語言 程式語言 I – VISUAL BASIC 1-5 低階語言 機器語言 機器語言是電腦能直接了解而不用透過轉換的 語言,其內容是直接由0與1兩種符號所組成。 組合語言 組合語言是為改善機器語言撰寫的困難,以輔 助記憶符號(mnemonic code)將一些機器語言變 成有意義的程式碼。 程式語言 I – VISUAL BASIC 1-6 高階語言 程序導向語言 是一種依照指令邏輯順序執行的程式語言。 物件導向語言 以物件為主的程式設計語言,是把程式設計的 概念具體化、物件化,並以該物件的角度去分 析和解決問題。 應用軟體語言 是指某種應用軟體中的專屬控制語言,可以擴 充該應用軟體的功能。 程式語言 I – VISUAL BASIC 1-7 低階語言與高階語言比較 項目 高階語言 低階語言 程式撰寫 容易 困難 產生機器碼大小 較大 較小 產生機器碼執行速度 較慢 較快 高 低 程式除錯 容易 困難 程式維護 容易 困難 程式可讀性 程式語言 I – VISUAL BASIC 1-8 1-3 程式開發流程 一個程式的開發可以分為五個階段: 1. 分析問題(problem analysis) 2. 設計演算法(design algorithm) 3. 撰寫程式(coding) 4. 測試程式(program verification) 5. 編寫程式文件 程式語言 I – VISUAL BASIC 1-9 程式的開發階段 分析問題 設計演算法 撰寫程式 測試程式 編寫程式文件 程式語言 I – VISUAL BASIC 1-10 1-4 程式語言的翻譯 高階語言翻譯程式的過程中會進行語彙分析 (lexical analysis)和語法分析(syntax analysis), 語彙分析是指將程式中的字串分解成語彙基本 單元(token),再分析其屬性;而語法分析是指 分析程式中的每一個敘述,檢查是否合乎規定 的語法規則。 高階語言翻譯方式,分為組譯(assembly)、直 譯(interpret)與編譯(compile)。 程式語言 I – VISUAL BASIC 1-11 組譯 利用組譯程式(assembler,又稱為組譯器)將組 合語言翻譯成目的程式再經過連結程式,連結 為執行檔。 程式語言 I – VISUAL BASIC 1-12 直譯 直譯的方式是將高階程式語言所寫的程式逐行 翻譯,翻譯後立刻執行,翻譯的工作由直譯程 式(interpreter,又稱為直譯器)來負責。 程式語言 I – VISUAL BASIC 1-13 編譯 編譯的方式是將高階程式語言所寫的程式一次 全部翻譯成機器語言,使用的翻譯程式是編譯 程式(compiler,又稱編譯器)。 程式語言 I – VISUAL BASIC 1-14 組譯、直譯和編譯比較表 項目 組譯 直譯 編譯 產生目的程式 有 無 有 程式執行速度 快 慢 快 和機器的相關性 高 低 低 程式語言 I – VISUAL BASIC 1-15