1 認 識 程 式 語 言 大 雄 獨 自 坐 著 時 光 機 來 到 未 來 世 界, 他 發 現 那 裡 的 機 器 人 都 聽 不 懂 自 己 說 的 話, 還 好 哆 啦 A 夢 事 先 為 他 準 備 了 一 台 命 令 機, 讓 他 只 要 用 筆 寫 下 簡 單 的 文 字, 就 可 以 讓 機 器 人 都 聽 從 命 令 機 所 翻 譯 的 指 令 在 電 腦 科 學 的 領 域 中, 想 要 指 揮 電 腦 工 作, 也 必 須 使 用 電 腦 能 瞭 解 的 語 言 來 下 達 指 令, 電 腦 才 會 依 照 我 們 的 指 示 執 行 例 如 我 們 平 時 操 作 的 應 用 軟 體, 就 是 程 式 設 計 師 使 用 電 腦 可 接 受 的 語 言 所 撰 寫 而 成 的 程 式 你 想 要 學 習 可 以 用 來 指 揮 電 腦 工 作 的 程 式 語 言 嗎? 你 知 道 目 前 最 炙 手 可 熱 的 程 式 語 言 是 什 麼 嗎? 學 好 本 章, 可 以 打 穩 程 式 設 計 的 基 礎, 助 你 邁 向 程 式 設 計 者 之 路 1-1 程 式 語 言 簡 介 1-1.1 程 式 語 言 的 類 別 1-1.2 程 式 的 翻 譯 1-2 Visual Basic 簡 介 1-2.1 Visual Basic 的 工 作 環 境 1-2.2 程 式 組 成 架 構 1-2.3 程 式 開 發 流 程
2 程 式 語 言 與 設 計 -Visual Basic Ⅰ 1-1 程 式 語 言 簡 介 程 式 ( program) 是 一 組 用 來 指 揮 電 腦 工 作 的 指 令 集 合, 程 式 設 計 者 必 須 使 用 電 腦 可 以 接 受 的 特 定 語 言 來 下 達 指 令, 才 能 命 令 電 腦 從 事 各 項 資 料 處 理 的 工 作 這 種 用 來 指 揮 電 腦 運 作, 並 具 有 特 定 格 式 的 語 言 便 稱 為 程 式 語 言 (programming language) 1-1.1 程 式 語 言 的 類 別 程 式 語 言 若 以 容 易 閱 讀 的 程 度 來 區 分, 可 分 為 低 階 語 言 ( low-level language) 與 高 階 語 言 (high-level language) 兩 大 類 ( 圖 1-1) 低 階 語 言 與 人 類 的 語 言 差 異 極 大, 可 讀 性 低 ; 而 高 階 語 言 與 人 類 的 語 言 則 較 為 接 近, 可 讀 性 高, 如 圖 1-2 所 示 低 階 語 言 機 器 語 言 組 合 語 言 程 式 語 言 程 序 性 語 言 如 FORTRAN COBOL BASIC Pascal C 等 高 階 語 言 物 件 導 向 語 言 如 C++ Java Visual Basic 2015 等 應 用 軟 體 語 言 如 VBA JavaScript ActionScript 等 伏 地 挺 身, 預 備 備 ~ 遵 命! 圖 1-1 程 式 語 言 的 分 類 01011000101100 高 高 階 語 言 可 讀 性 低 低 階 語 言 人 類 的 語 言 機 器 的 語 言 圖 1-2 以 容 易 閱 讀 的 程 度 區 分 低 階 語 言 與 高 階 語 言 之 示 意 圖
第 1 章 認 識 程 式 語 言 3 低 階 語 言 低 階 語 言 是 在 電 腦 發 展 初 期 就 開 發 出 來 的 程 式 語 言, 這 種 語 言 具 有 機 器 依 存 (machine-dependent) 的 特 性, 意 即 可 在 某 廠 牌 電 腦 上 執 行 的 程 式, 通 常 無 法 在 另 一 廠 牌 的 電 腦 上 執 行 目 前 的 應 用 軟 體 已 經 很 少 使 用 低 階 語 言 來 開 發, 但 是 由 於 低 階 語 言 與 電 腦 硬 體 元 件 的 運 作 關 聯 性 較 為 密 切, 因 此 製 造 硬 體 設 備 的 廠 商 仍 會 使 用 這 種 語 言, 來 開 發 電 腦 硬 體 設 備 的 驅 動 程 式 等 軟 體 低 階 語 言 可 分 為 機 器 語 言 (machine language) 與 組 合 語 言 (assembly language) 兩 種, 分 別 說 明 如 下 機 器 語 言 機 器 語 言 是 唯 一 不 需 經 由 翻 譯, 電 腦 就 能 直 接 執 行 的 語 言 這 種 語 言 的 指 令 是 以 0 與 1 兩 種 符 號 組 合 而 成, 在 學 習 上 極 為 不 易 由 於 每 種 電 腦 的 機 器 語 言 都 是 依 據 該 電 腦 的 特 性 所 設 計 出 來, 不 同 廠 牌 的 電 腦 所 使 用 的 機 器 語 言 也 有 所 不 同, 因 此 即 使 學 會 了 一 種 機 器 語 言, 也 無 法 直 接 使 用 到 其 他 的 電 腦 上 不 過, 利 用 機 器 語 言 所 撰 寫 出 來 的 程 式, 通 常 佔 用 的 記 憶 體 較 少 執 行 速 度 較 快, 且 較 能 有 效 地 發 揮 電 腦 硬 體 的 效 能 圖 1-3 為 一 個 機 器 語 言 的 範 例 000000 00001 00010 00110 00000 100000 100011 00011 01000 00000 00001 000100 000000 00001 00011 00010 00000 100000 000010 00000 00000 00000 10000 001001 100011 00010 00101 00100 00001 001110 000001 00010 00011 00001 00000 101101 000001 00011 00010 01011 00000 101101 000010 00000 10100 00100 01000 000000 000100 00010 00100 00111 00000 011011 圖 1-3 以 0 與 1㆓ 進 位 方 式 編 碼 的 機 器 語 言
4 程 式 語 言 與 設 計 -Visual Basic Ⅰ 組 合 語 言 組 合 語 言 是 一 種 使 用 接 近 人 類 語 言 的 字 組, 來 代 替 機 器 語 言 符 號 ( 以 0 與 1 表 示 ) 的 語 言, 例 如 以 "ADD" "SUB" "MUL" "DIV" 來 代 表 算 術 運 算 中 的 加 減 乘 除 這 種 類 似 英 文 簡 寫 的 字 組, 在 電 腦 科 學 領 域 中 稱 為 助 憶 碼 (mnemonic code); 這 種 助 憶 碼 可 使 程 式 的 設 計, 比 使 用 0 與 1 編 碼 的 機 器 語 言 來 得 容 易, 可 讀 性 也 較 高 但 以 組 合 語 言 撰 寫 的 程 式, 必 須 經 過 組 譯 器 (assembler) 翻 譯 成 機 器 語 言 之 後, 才 能 在 電 腦 上 執 行 圖 1-4 為 x86 系 列 組 合 語 言 的 範 例 MOV AX, 100 MOV BX, 10 ADD AX, BX 圖 1-4 組 合 語 言 範 例 ( 計 算 100 + 10 的 總 和 ) 馬 練 習 ( )1. 不 管 用 哪 一 種 語 言 來 撰 寫 程 式 最 後 都 必 須 轉 換 成 下 列 哪 一 種 語 言 才 能 執 行? (A)C 語 言 (B) 組 合 語 言 (C) 機 器 語 言 (D) 自 然 語 言 技 競 ( )2. 機 器 語 言 及 組 合 語 言 是 屬 於 下 列 何 種 程 式 語 言 類 別? (A) 物 件 導 向 語 言 (B) 低 階 語 言 (C) 中 階 語 言 (D) 高 階 語 言 統 測 ( )3. 下 列 何 種 資 訊 最 有 可 能 是 儲 存 於 電 腦 主 記 憶 體 內 的 機 器 語 言 指 令? (A)01010010 00000111 (B)ADD AL #11 (C)MsgBox("Visual Basic") (D)STAND UP PLEASE 統 測 ( )4. 下 列 哪 一 種 程 式 具 有 機 器 依 存 的 特 性, 意 即 電 腦 不 同, 就 無 法 執 行? (A) 程 序 性 語 言 (B) 機 器 語 言 (C) 物 件 導 向 語 言 (D) 應 用 的 語 言 ( )5. 在 電 腦 程 式 語 言 的 演 進 過 程 中, 機 器 語 言 屬 於 第 一 代 語 言, 組 合 語 言 屬 於 第 二 代 語 言 下 列 關 於 機 器 語 言 及 組 合 語 言 在 不 同 電 腦 中 使 用 的 敘 述, 何 者 正 確? (A) 需 使 用 相 同 的 機 器 語 言 和 相 同 的 組 合 語 言 (B) 需 使 用 相 同 的 機 器 語 言 和 不 同 的 組 合 語 言 (C) 需 使 用 不 同 的 機 器 語 言 和 相 同 的 組 合 語 言 (D) 需 使 用 不 同 的 機 器 語 言 和 不 同 的 組 合 語 言 統 測
第 1 章 認 識 程 式 語 言 5 高 階 語 言 高 階 語 言 的 語 法 較 接 近 人 類 語 言, 這 種 程 式 語 言 會 將 許 多 常 用 的 低 階 語 言 指 令 組 合 並 隱 含 在 一 個 程 式 敘 述 (statement) 中, 因 此, 當 我 們 使 用 一 個 高 階 語 言 的 程 式 敘 述 來 指 揮 電 腦 工 作 時, 往 往 就 相 當 於 下 達 了 許 多 個 機 器 語 言 指 令 來 要 求 電 腦 工 作, 如 圖 1-5 所 示 機 器 語 言 指 令 1 一 個 高 階 語 言 程 式 敘 述 翻 譯 機 器 語 言 指 令 2 機 器 語 言 指 令 N 圖 1-5 高 階 語 言 程 式 敘 述 是 由 多 個 機 器 語 言 指 令 組 成 的 示 意 圖 由 於 電 腦 只 能 執 行 機 器 語 言 指 令, 所 以 使 用 高 階 語 言 撰 寫 的 程 式, 必 須 經 過 編 譯 器 (compiler) 或 直 譯 器 (interpreter) 等 軟 體 翻 譯 成 機 器 語 言 指 令 後, 才 能 在 電 腦 上 執 行 表 1-1 彙 整 出 高 階 語 言 與 低 階 語 言 的 差 異 比 較 表 1-1 高 階 語 言 與 低 階 語 言 的 比 較 比 較 項 目 高 階 語 言 低 階 語 言 程 式 的 撰 寫 較 容 易 較 困 難 佔 用 記 憶 體 的 空 間 較 大 較 小 可 讀 性 較 高 較 低 註 可 攜 性 較 高 較 低 除 錯 較 容 易 較 困 難 維 護 較 容 易 較 困 難 學 習 難 易 度 較 容 易 較 困 難 Tip 有 關 編 譯 及 直 譯 的 概 念, 將 在 第 1-1.2 節 中 做 詳 細 的 說 明 註 : 使 用 某 種 程 式 語 言 所 撰 寫 的 程 式, 若 不 需 要 修 改 或 僅 需 小 幅 修 改, 即 可 在 不 同 的 電 腦 系 統 上 執 行, 我 們 稱 該 種 程 式 語 言 的 可 攜 性 高, 反 之 則 稱 其 可 攜 性 低
6 程 式 語 言 與 設 計 -Visual Basic Ⅰ 高 階 語 言 有 很 多, 以 下 介 紹 程 序 性 語 言 物 件 導 向 語 言 應 用 軟 體 語 言 等 三 類 常 見 的 高 階 語 言 程 序 性 語 言 程 序 性 語 言 (procedural language) 是 一 種 依 照 程 式 敘 述 的 先 後 順 序 及 流 程 來 執 行 的 程 式 語 言, 程 式 設 計 者 在 使 用 這 種 語 言 設 計 程 式 時, 必 須 利 用 程 式 敘 述 來 告 知 電 腦 需 要 完 成 什 麼 工 作 及 完 成 這 些 工 作 的 流 程 常 見 的 程 序 性 語 言 有 FORTRAN COBOL BASIC Pascal C 等 FORTRAN: 是 IBM 公 司 於 1954 年, 針 對 科 學 及 工 程 計 算 用 途 所 發 展 出 來 的 一 種 程 式 語 言 這 種 語 言 具 有 運 算 速 度 快 及 準 確 度 高 的 特 色, 圖 1-6 是 一 個 FORTRAN 語 言 的 程 式 範 例 Read(5, 20) X, Y FORMAT(2F4.0) Z = X - Y IF(Z) 30, 40, 40 Z = Y - X WRITE(6, 50) Z FORMAT(F4.0) STOP END 註 圖 1-6 FORTRAN 語 言 的 程 式 範 例 COBOL: 是 美 國 國 防 部 於 1959 年, 專 為 處 理 商 業 資 料 而 設 計 的 一 種 程 式 語 言 這 種 語 言 具 有 穩 定 性 高 的 特 性, 適 合 用 來 處 理 大 量 的 商 業 資 料 及 製 作 各 種 商 業 報 表 圖 1-7 是 一 個 使 用 COBOL 語 言 的 程 式 範 例 註 : 圖 1-6 ~ 圖 1-10 之 範 例 具 有 相 同 的 功 能 - 計 算 X 與 Y 兩 數 之 差
第 1 章 認 識 程 式 語 言 7 IDENTIFICATION DIVIDION. PROGRAM-ID. EXAMPLE. ENVIRONMENT DIVISION. CONFIGURATION DIVISION SOURCE-COMPUTER. IBM-370/135 OBJECT-COMPUTER. IBM-370/135 DATA DIVISION. WORKING-STORAGE SECTION. 77 X PICTURE S9(4). 77 Y PICTURE S9(4). 77 Z PICTURE S9(4). PROCEDURE DIVISION ACCEPT X ACCEPT Y SUBTRACT Y FROM X GIVING Z. IF Z IS NEGATIVE SUBTRACT X FROM Y GIVING Z. DISPLAY Z. STOP RUN 圖 1-7 COBOL 語 言 的 程 式 範 例 BASIC: 是 美 國 Dartmouth 學 院 於 1960 年 代 中 期, 專 為 初 學 者 而 設 計 的 一 種 程 式 語 言 這 種 語 言 相 當 適 合 教 學 使 用, 圖 1-8 是 一 個 BASIC 語 言 的 程 式 範 例 Input X, Y If X - Y >= 0 Then Z = X - Y Else Z = Y - X End If Print Z End 圖 1-8 BASIC 語 言 的 程 式 範 例 Tip 有 許 多 公 司 將 Basic 改 良 成 多 種 不 同 版 本, 例 如 :GWBASIC QBASIC Visual Basic 等
8 程 式 語 言 與 設 計 -Visual Basic Ⅰ Pascal: 是 瑞 士 電 腦 科 學 家 尼 客 勞 斯. 沃 斯 (Niklaus Wirth) 教 授 於 1970 年 代 初 期, 專 為 教 學 使 用 所 發 展 出 來 的 一 種 程 式 語 言 ( 以 紀 念 數 學 家 巴 斯 卡 (Blaise Pascal) 而 命 名 ) 這 種 語 言 的 組 成 內 涵 相 當 完 備, 且 具 有 結 構 化 的 特 色, 可 讓 學 習 者 完 整 地 認 識 程 式 語 言 的 概 念, 並 習 得 結 構 化 程 式 設 計 的 方 法 圖 1-9 是 一 個 Pascal 語 言 的 程 式 範 例 PROGRAM example(input, output); var X, Y, Z: integer; begin read(x, Y); if X - Y >= 0 then Z := X - Y else Z := Y - X; write(z); end. 圖 1-9 Pascal 語 言 的 程 式 範 例 C: 是 美 國 貝 爾 實 驗 室 (Bell Labs) 在 1970 年 代 初 期, 為 了 開 發 系 統 軟 體 ( 例 如 作 業 系 統 ) 所 發 展 出 來 的 一 種 程 式 語 言 這 種 語 言 兼 具 組 合 語 言 及 高 階 語 言 的 特 性, 因 此 廣 泛 地 用 來 開 發 系 統 軟 體 及 一 般 應 用 程 式 圖 1-10 是 一 個 C 語 言 的 程 式 範 例 main() { int X, Y, Z; scanf("%d %d", &X, &Y); if(x - Y >= 0) Z = X - Y; else Z = Y - X; printf("%d\n", Z); } 圖 1-10 C 語 言 的 程 式 範 例
第 1 章 認 識 程 式 語 言 9 物 件 導 向 語 言 物 件 導 向 (object-oriented, OO) 的 概 念 源 自 於 一 般 個 體 多 半 是 由 數 個 較 小 的 元 件 組 合 而 成 ; 每 一 個 用 來 組 成 個 體 的 元 件, 都 各 有 其 特 定 的 功 能, 例 如 腳 踏 車 個 體 是 由 控 制 騎 乘 方 向 的 手 把 示 警 用 的 響 鈴 及 行 進 用 的 輪 子 等 元 件 所 組 成 物 件 導 向 程 式 設 計 (object-oriented programming) 便 是 運 用 物 件 導 向 的 概 念, 利 用 多 個 物 件 來 組 合 出 完 整 的 程 式, 意 即 將 解 決 問 題 所 需 使 用 的 資 料 及 處 理 程 序 加 以 包 裝, 並 設 計 完 善 的 介 面 來 與 外 界 溝 通, 使 其 成 為 可 獨 立 運 作 的 物 件 (objects) 物 件 導 向 語 言 (object-oriented language) 是 一 種 以 設 計 及 運 用 物 件 功 能 的 方 式 來 開 發 程 式 的 語 言 使 用 這 種 語 言 來 設 計 程 式 時, 通 常 必 須 定 義 類 別 (class) 及 設 計 個 別 物 件, 才 能 開 發 出 解 決 問 題 的 程 式 類 別 可 視 為 某 類 物 件 的 樣 板, 它 定 義 了 這 些 物 件 所 具 有 的 共 同 特 性, 例 如 圖 1-11 中 的 轎 車 跑 車 休 旅 車 等 不 同 的 車 輛 物 件, 都 具 有 可 載 人 ( 物 ) 有 輪 子 可 轉 彎 等 相 同 的 特 性, 這 些 車 輛 都 是 遵 照 車 子 設 計 圖 這 個 類 別 所 設 計 出 來 的 在 物 件 導 向 語 言 中, 類 別 可 視 為 某 類 物 件 的 樣 板, 它 定 義 了 這 類 物 件 所 具 有 的 共 同 特 性 轎 車 車 子 ( 類 別 ) 卡 車 跑 車 休 旅 車 圖 1-11 類 別 的 比 喻 說 明
10 程 式 語 言 與 設 計 -Visual Basic Ⅰ 物 件 是 指 具 有 特 定 屬 性 方 法 及 事 件 的 個 體, 例 如 汽 車 具 有 長 寬 高 顏 色 等 屬 性 ; 具 有 換 檔 變 速 煞 車 轉 彎 等 方 法 ; 還 有 爆 胎 撞 擊 下 雨 等 可 能 發 生 的 事 件 ( 如 圖 1-12) 屬 性 : 1. 長 寬 高 :6 1.5 1.2(m) 2. 車 體 顏 色 : 紅 色 方 法 : 1. 換 檔 2. 煞 車 3. 轉 彎 4. 踩 油 門 事 件 : 1. 爆 胎 2. 撞 擊 ( 應 彈 出 氣 囊 ) 3. 下 雨 ( 應 啟 動 自 動 雨 刷 ) 排 檔 桿 煞 車 用 踏 板 跑 車 圖 1-12 物 件 的 比 喻 說 明 常 見 的 物 件 導 向 語 言 有 C++ Java Visual Basic 2015 等, 以 下 將 先 介 紹 C++ 及 Java, 有 關 Visual Basic 2015 的 部 分 將 在 第 1-2 節 中 詳 細 介 紹 C++: 是 美 國 貝 爾 實 驗 室 在 1980 年 代 以 C 為 基 礎, 加 入 物 件 導 向 的 特 性, 所 發 展 出 來 的 一 種 程 式 語 言 適 合 用 來 開 發 系 統 軟 體 及 應 用 程 式 註 Java: 是 美 國 昇 陽 (Sun Microsystems) 公 司 為 了 開 發 商 務 應 用 程 式, 於 1989 年 所 發 展 出 來 的 一 種 程 式 語 言 這 種 語 言 具 有 可 攜 性 高 及 安 全 性 佳 的 優 點, 適 合 用 來 開 發 系 統 軟 體 手 機 應 用 程 式 等 物 件 導 向 語 言 具 有 封 裝 (encapsulation) 繼 承 (inheritance) 多 型 (polymorphism) 等 3 種 特 性, 可 以 簡 化 程 式 的 開 發 流 程 降 低 程 式 的 複 雜 度, 及 避 免 重 複 撰 寫 相 同 的 程 式 碼 這 3 種 特 性 說 明 如 下 : 註 : 昇 陽 公 司 於 2010 年 被 甲 骨 文 (Oracle) 公 司 收 購
第 1 章 認 識 程 式 語 言 11 1. 封 裝 : 將 具 有 特 定 功 能 的 處 理 程 序 及 資 料 包 裝 在 物 件 中, 使 用 者 不 需 瞭 解 物 件 內 部 的 設 計 即 可 使 用 例 如 汽 車 都 具 有 加 速 煞 車 等 功 能, 但 駕 車 者 不 需 瞭 解 汽 車 內 部 的 機 械 電 機 原 理, 就 能 開 車 到 目 的 地 2. 繼 承 : 新 類 別 或 物 件 可 以 承 襲 既 有 類 別 的 功 能 及 屬 性, 省 去 撰 寫 相 同 程 式 碼 的 時 間 例 如 設 計 警 車 物 件, 只 要 承 襲 車 類 別 的 特 性 及 功 能, 註 加 上 鳴 笛 閃 示 燈 等 事 件, 而 不 需 全 部 重 新 設 計 3. 多 型 : 新 類 別 或 物 件 可 以 擁 有 與 既 有 類 別 相 同 名 稱 但 功 能 不 同 的 方 法 ; 例 如 警 車 消 防 車 救 護 車 物 件 都 有 鳴 笛 事 件, 但 發 出 的 鳴 笛 聲 可 以 不 同 用 來 開 發 行 動 裝 置 作 業 系 統 的 程 式 語 言 智 慧 型 手 機 平 板 電 腦 等 行 動 裝 置 所 使 用 的 作 業 系 統 及 App 程 式 ( 如 LINE 神 魔 之 塔 等 ), 也 都 是 利 用 程 式 語 言 所 開 發 的 以 蘋 果 公 司 的 iphone 智 慧 型 手 機 為 例, 它 的 作 業 系 統 與 App 程 式, 主 要 是 利 用 Objective-C 程 式 語 言 ( 以 C 語 言 為 基 礎, 加 入 物 件 導 向 特 性 ) 所 開 發 而 成 市 售 行 動 裝 置 使 用 的 作 業 系 統, 大 半 為 Android ios Windows 10 Moblie, 表 1-2 為 開 發 這 些 作 業 系 統 使 用 的 主 要 程 式 語 言 表 1-2 用 來 開 發 行 動 裝 置 作 業 系 統 的 程 式 語 言 作 業 系 統 開 發 者 使 用 的 程 式 語 言 Android Google( 谷 歌 ) Java ios Apple( 蘋 果 ) Objective-C Windows 10 Mobile Microsoft( 微 軟 ) VB.NET 註 : 事 件 是 指 發 生 在 物 件 上 的 動 作 當 事 件 發 生 時, 會 驅 動 物 件 執 行 一 個 特 定 的 反 應, 例 如 當 我 們 踩 油 門 ( 事 件 ) 時, 汽 車 ( 物 件 ) 會 加 速 前 進
12 程 式 語 言 與 設 計 -Visual Basic Ⅰ 馬 練 習 ( )1. 以 下 哪 一 種 程 式 語 言 不 是 高 階 語 言? (A)BASIC (B)COBOL (C)FORTRAN (D)Assembly Language ( )2. 下 列 有 關 使 用 組 合 語 言 與 高 階 語 言 寫 程 式 的 比 較, 何 者 是 不 正 確 的? (A) 組 合 語 言 寫 的 程 式 產 生 的 程 式 碼 通 常 較 短 (B) 組 合 語 言 寫 的 程 式 執 行 起 來 通 常 較 快 (C) 組 合 語 言 寫 的 程 式 較 易 看 懂 (D) 組 合 語 言 寫 的 程 式 較 難 測 試 技 競 ( )3. 下 列 哪 一 種 程 式 語 言, 同 時 具 有 封 裝 性 繼 承 性 及 多 型 性 的 特 性? (A)BASIC (B)COBOL (C)FORTRAN (D)JAVA 統 測 ( )4. 下 列 何 者 不 是 物 件 導 向 程 式 設 計 的 特 性? (A) 機 密 性 (B) 封 裝 性 (C) 繼 承 性 (D) 多 型 性 統 測 ( )5. 在 物 件 導 向 程 式 語 言 中, 子 類 別 (subclass) 會 分 享 父 類 別 (superclass) 所 定 義 的 結 構 與 行 為, 下 列 何 者 最 能 描 述 此 種 特 性? (A) 封 裝 (encapsulation) (B) 繼 承 (inheritance) (C) 多 型 (polymorphism) (D) 委 派 (delegation) 統 測 1-1.2 程 式 的 翻 譯 使 用 高 階 語 言 撰 寫 的 程 式, 必 須 透 過 翻 譯 程 式 轉 換 成 機 器 語 言 指 令 之 後, 才 能 讓 電 腦 執 行 高 階 語 言 的 翻 譯 方 式 有 直 譯 (interpret) 與 編 譯 (compile) 兩 種, 分 別 說 明 如 下 : 直 譯 在 哈 利 波 特 電 影 中, 如 果 麻 瓜 ( 一 般 人 ) 對 著 掃 把 說 : 飛 吧!, 掃 把 是 不 會 有 反 應 的, 但 若 透 過 魔 法 師 將 麻 瓜 的 話 翻 譯 成 咒 語, 就 能 讓 掃 把 飛 起 來 在 上 述 舉 例 中, 魔 法 師 將 麻 瓜 的 一 句 話 翻 譯 成 咒 語, 讓 掃 把 飛 起 來, 就 類 似 程 式 語 言 中 直 譯 的 概 念
第 1 章 認 識 程 式 語 言 13 直 譯 是 使 用 直 譯 器 (interpreter, 又 稱 直 譯 程 式 ) 將 程 式 逐 行 翻 譯 成 機 器 語 言, 並 立 即 執 行 的 一 種 程 式 翻 譯 方 式 ( 圖 1-13) 直 譯 方 式 可 讓 程 式 設 計 者 逐 行 檢 查 程 式 執 行 的 結 果, 適 合 在 程 式 開 發 階 段 的 偵 錯 與 測 試 使 用 但 此 種 翻 譯 方 式 在 每 次 要 執 行 程 式 時 都 必 須 重 新 翻 譯, 程 式 才 能 執 行, 因 此 執 行 的 速 度 較 慢 原 始 程 式 直 譯 機 器 語 言 程 式 執 行 每 次 翻 譯 並 執 行 一 行 程 式 敘 述 讀 取 下 一 行 程 式 並 執 行, 直 到 每 一 行 程 式 都 翻 譯 執 行 完 為 止 圖 1-13 利 用 直 譯 器 翻 譯 的 流 程 編 譯 小 天 后 泰 勒 絲 舉 行 世 界 巡 迴 演 唱 會 前, 必 須 先 向 公 關 公 司 說 明 行 程 的 細 節 ( 包 含 地 點 飯 店 等 ), 再 由 公 關 公 司 告 知 當 地 ( 如 台 灣 ) 人 員 去 安 排 與 執 行 在 此 例 中, 公 關 公 司 將 泰 勒 絲 的 計 畫 翻 譯 成 國 語 讓 當 地 人 員 瞭 解 並 執 行 計 畫 內 容, 就 類 似 程 式 語 言 中 編 譯 的 概 念 編 譯 是 使 用 編 譯 器 (compiler, 又 稱 編 譯 程 式 ) 將 整 個 程 式 翻 譯 成 機 器 語 言 的 一 種 程 式 翻 譯 方 式 ( 圖 1-14) 程 式 經 過 編 譯 後 所 產 生 的 目 的 碼, 可 透 過 連 結 程 式 ( linker, 又 稱 連 結 器 ), 連 結 與 程 式 相 關 的 檔 案, 以 產 生 可 執 行 檔 ( 如.exe) 當 要 執 行 程 式 時, 只 要 透 過 作 業 系 統 的 載 入 程 式 (loader, 又 稱 載 入 器 ), 將 可 執 行 檔 載 入 記 憶 體 即 可 直 接 執 行, 而 不 需 要 重 新 翻 譯 程 式, 因 此 執 行 的 速 度 較 快 原 始 程 式 編 譯 機 器 語 言 程 式 ( 目 的 碼 ) 執 行 載 入 可 執 行 檔 ( 如.exe) 透 過 載 入 程 式 (loader) 將 可 執 行 檔 載 入 記 憶 體 連 結 程 式 庫 ( 函 數 副 程 式 ) 透 過 連 結 程 式 (linker) 連 結 程 式 庫 圖 1-14 利 用 編 譯 器 翻 譯 的 流 程
14 程 式 語 言 與 設 計 -Visual Basic Ⅰ 馬 練 習 ( )1. 高 階 語 言 所 編 寫 的 程 式 原 始 檔, 須 經 由 下 列 何 種 程 式 的 轉 換 之 後, 才 會 成 為 可 執 行 檔? (A) 編 譯 程 式 連 結 程 式 (B) 驅 動 程 式 載 入 程 式 (C) 組 譯 程 式 驅 動 程 式 (D) 連 結 程 式 載 入 程 式 統 測 ( )2. a. 代 表 編 譯 程 式 原 始 碼 b. 代 表 編 寫 程 式 原 始 碼 c. 代 表 載 入 可 執 行 程 式 碼 d. 代 表 產 生 程 式 目 的 碼 e. 代 表 連 結 程 式 目 的 碼, 下 列 何 種 順 序 是 正 確 的 程 式 編 寫 與 編 譯 過 程? (A)becad (B)beadc (C)baedc (D)badec 統 測 ( )3. 下 列 何 者 不 是 高 階 語 言 程 式 所 會 使 用 到 的 翻 譯 程 式? a. 組 譯 器 b. 編 譯 器 c. 直 譯 器 d. 口 譯 器 (A)ab (B)ac (C)ad (D)bc 1-1 練 習 一 選 擇 題 ( )1. 下 列 程 式 語 言, 何 者 屬 低 階 語 言? (A) 組 合 語 言 (B)BASIC (C)Visual Basic (D)C++ 統 測 ( )2. 如 果 你 是 電 腦 發 展 早 期 ( 例 如 1940 年 ) 的 軟 體 工 程 師, 請 問 你 最 可 能 使 用 下 列 哪 一 種 程 式 語 言 來 開 發 程 式? (A) 機 器 語 言 (B) 應 用 軟 體 語 言 (C) 程 序 性 語 言 (D) 物 件 導 向 語 言 ( )3. 下 列 有 關 高 階 與 低 階 電 腦 程 式 語 言 的 比 較, 何 者 正 確? (A) 高 階 語 言 程 式 撰 寫 比 較 困 難 (B) 低 階 語 言 程 式 執 行 速 度 較 快 (C) 高 階 語 言 程 式 除 錯 比 較 困 難 (D) 低 階 語 言 程 式 維 護 比 較 容 易 統 測 ( )4. 關 於 程 式 語 言 的 敘 述, 下 列 何 者 不 正 確? (A) 機 器 語 言 對 硬 體 有 很 強 的 控 制 能 力 (B)Visual Basic 具 有 視 覺 化 的 設 計, 屬 於 物 件 導 向 語 言 (C) 組 合 語 言 可 以 用 來 寫 硬 體 驅 動 程 式, 屬 於 高 階 語 言 (D)Java 具 有 物 件 導 向 特 性, 可 應 用 在 網 際 網 路 程 式 統 測 ( )5. 下 列 哪 一 種 程 式 語 言 所 撰 寫 的 程 式, 在 執 行 前 無 須 先 經 過 組 譯 直 譯 或 編 譯 的 程 序? (A) 組 合 語 言 (B) 機 器 語 言 (C) 物 件 導 向 語 言 (D) 程 序 性 高 階 語 言 統 測 ( )6. 下 列 有 關 程 式 語 言 之 敘 述, 何 者 不 正 確? (A) 組 合 語 言 為 低 階 語 言 (B)JAVA 程 式 可 以 在 不 同 作 業 系 統 間 移 植 (C) 物 件 導 向 語 言 具 封 裝 繼 承 與 多 型 特 性 (D) 組 合 語 言 不 需 經 過 組 譯 即 可 執 行 統 測
第 1 章 認 識 程 式 語 言 15 ( )7. 下 列 哪 一 個 程 式 語 言, 適 合 用 來 開 發 系 統 軟 體 及 一 般 應 用 程 式? (A)FORTRAN (B)COBOL (C)BASIC (D)C ( )8. 當 程 式 設 計 師 以 物 件 導 向 方 式 開 發 一 個 校 務 行 政 課 程 管 理 系 統 時, 下 列 何 者 通 常 不 會 以 類 別 (class) 來 表 示? (A) 學 生 (B) 教 師 (C) 課 程 (D) 姓 名 ( )9. 在 物 件 導 向 語 言 中, 何 者 可 視 為 物 件 的 樣 板, 它 用 來 定 義 某 類 物 件 所 具 有 的 共 同 特 性? (A) 類 別 (B) 屬 性 (C) 方 法 (D) 事 件 ( )10. 下 列 哪 一 種 程 式 翻 譯 方 式, 是 將 高 階 語 言 的 原 始 碼 逐 行 翻 譯 成 機 器 語 言 指 令, 並 立 即 執 行? (A) 直 譯 (B) 組 譯 (C) 編 譯 (D) 口 譯 二 填 充 題 1. 下 表 為 組 譯 編 譯 直 譯 的 比 較, 請 在 空 格 中 填 入 對 應 的 翻 譯 程 式 翻 譯 程 式 適 用 的 程 式 語 言 翻 譯 次 數 執 行 速 度 執 行 檔 組 合 語 言 只 需 1 次 快 有 高 階 語 言, 如 Visual Basic Java 每 次 執 行 程 式 皆 需 重 新 翻 譯 慢 無 1-2 Visual Basic 簡 介 為 了 協 助 程 式 設 計 者 配 合 網 際 網 路 應 用 的 多 元 需 求, 快 速 開 發 出 各 種 應 用 程 式, 例 如 網 路 聊 天 室 應 用 程 式 網 路 拍 賣 應 用 程 式 等, 微 軟 公 司 在 2000 年 提 出 了 一 個 可 整 合 不 同 程 式 語 言, 且 可 透 過 網 路 來 存 取 程 式 資 源 的 構 想 -.NET 平 台 自 2002 年 起 微 軟 公 司 陸 續 發 表 了.NET 平 台 構 想 的 軟 體 開 發 工 具 -Visual Studio 為 了 鼓 勵 初 學 者 學 習, 微 軟 公 司 特 別 針 對 該 平 台 內 建 的 Visual Basic Visual C# Visual C++ 等 3 種 程 式 語 言, 推 出 Express 版 本, 例 如 本 書 使 用 的 Visual Studio 2015 Express, 便 是 其 中 一 種 可 供 初 學 者 免 費 下 載, 來 開 發 軟 體 程 式 的 工 具
16 程 式 語 言 與 設 計 -Visual Basic Ⅰ 微 軟 公 司 自 2002 年 所 發 表 的 Visual Basic 程 式 語 言, 承 襲 了 Visual Basic 6.0 的 優 點, 並 加 入 了 豐 富 的 類 別 及 物 件 資 源, 是 一 個 物 件 導 向 程 式 語 言 一 般 常 稱 這 種 程 式 語 言 為 Visual Basic.NET( 簡 稱 VB.NET),2005 年 後 微 軟 公 司 又 陸 續 推 出 Visual Basic 2005 2008 2010 2013 2015 等 版 本, 並 去 除 軟 體 名 稱 中 的.NET 字 樣 1-2.1 Visual Basic 的 工 作 環 境 Visual Basic 的 工 作 環 境 包 含 了 標 題 列 功 能 表 列 標 準 工 具 列 工 具 箱 方 案 總 管 視 窗 屬 性 視 窗 工 作 區 等 主 要 區 域, 如 圖 1-15 所 示 標 題 列 功 能 表 列 標 準 工 具 列 工 具 箱 圖 1-15 Visual Basic 的 工 作 環 境
第 1 章 認 識 程 式 語 言 17 標 題 列 Visual Basic 的 標 題 列 ( 圖 1-16) 除 了 會 顯 示 程 式 方 案 的 名 稱 之 外, 還 會 在 程 式 執 行 或 偵 錯 階 段, 顯 示 程 式 專 案 的 工 作 模 式 程 式 方 案 名 稱 工 作 模 式 圖 1-16 標 題 列 方 案 總 管 視 窗 功 能 表 列 功 能 表 列 ( 圖 1-17) 彙 集 了 Visual Basic 提 供 的 所 有 功 能, 我 們 可 利 用 滑 鼠 單 按 功 能 表 上 的 名 稱, 或 按 鍵 盤 + 功 能 表 名 稱 旁 顯 示 的 英 文 字 母, 即 可 顯 示 功 能 表 中 的 所 有 選 項 按 + 鍵, 即 可 開 啟 檔 案 功 能 表 功 能 表 列 標 準 工 具 列 屬 性 視 窗 按 工 具 列 右 方 的 鈕, 可 自 訂 工 具 列 要 顯 示 的 按 鈕 ( 如 工 具 箱 方 案 總 管 ) 圖 1-17 功 能 表 列 工 作 區
18 程 式 語 言 與 設 計 -Visual Basic Ⅰ 標 準 工 具 列 標 準 工 具 列 是 用 來 放 置 常 用 的 按 鈕, 以 節 省 操 作 時 間 Visual Basic 預 設 會 顯 示 標 準 工 具 列, 表 1-3 為 該 工 具 列 上 幾 個 常 用 按 鈕 的 設 明 Tip 選 按 檢 視 / 工 具 列 / 標 準 選 項, 可 開 啟 或 關 閉 標 準 工 具 列 1-3 標 準 工 具 列 常 用 按 鈕 的 說 明 按 鈕 名 稱 按 鈕 圖 示 功 能 新 增 專 案 開 啟 檔 案 儲 存 全 部 儲 存 開 始 新 增 專 案 開 啟 檔 案 儲 存 目 前 工 作 區 所 開 啟 的 檔 案 儲 存 整 個 方 案 執 行 程 式, 進 入 執 行 工 作 模 式 偵 錯 工 具 列 偵 錯 工 具 列 預 設 並 不 會 開 啟, 需 待 我 們 按 開 始 鈕 執 行 程 式 後,Visual Basic 才 會 自 動 顯 示 偵 錯 工 具 列 ( 圖 1-18), 供 我 們 中 斷 或 停 止 程 式 的 執 行 Tip 選 按 檢 視 / 工 具 列 / 偵 錯 選 項, 可 開 啟 或 關 閉 偵 錯 工 具 列 全 部 中 斷 : 暫 停 程 式 的 執 行 停 止 偵 錯 : 停 止 程 式 的 執 行, 回 到 設 計 工 作 模 式, 以 進 行 程 式 的 設 計 與 編 修 即 時 運 算 : 開 啟 即 時 運 算 視 窗, 方 便 進 行 偵 錯 圖 1-18 偵 錯 工 具 列 的 說 明
第 1 章 認 識 程 式 語 言 19 即 時 運 算 視 窗 即 時 運 算 視 窗 提 供 以 直 譯 的 方 式 翻 譯 與 執 行 單 行 程 式 敘 述, 此 種 翻 譯 程 式 敘 述 的 方 式, 可 方 便 程 式 設 計 者 進 行 程 式 偵 錯, 例 如 檢 查 資 料 項 目 的 值 輸 出 運 算 式 的 運 算 結 果 等 ( 圖 1-19) Tip 選 按 偵 錯 / 視 窗 / 即 時 運 算 選 項, 或 透 過 偵 錯 工 具 按 + + 列, 按 中 斷 點 鈕 旁 的 倒 三 角 形, 選 即 時 運 算, 即 鍵, 也 可 開 啟 即 時 可 開 啟 即 時 運 算 視 窗, 請 注 意! 必 須 在 開 啟 或 新 建 專 案 運 算 視 窗 的 情 況 下, 才 能 使 用 此 視 窗 的 功 能 問 號 ("?") 是 用 來 輸 出 資 料 按 鍵 後, 會 輸 出 運 算 式 "10 + 20" 的 值 按 鍵 後, 會 輸 出 運 算 式 "2-1" 的 值 圖 1-19 即 時 運 算 視 窗 按 右 鍵, 選 按 全 部 清 除 選 項, 可 清 除 視 窗 中 的 所 有 程 式 敘 述 工 具 箱 工 具 箱 預 設 會 自 動 隱 藏, 我 們 可 按 工 具 箱 標 籤 顯 示 工 具 箱, 若 再 按 鈕, 即 可 將 工 具 箱 固 定 顯 示 在 視 窗 左 側 在 工 具 箱 中 提 供 了 許 多 設 計 視 窗 程 式 的 工 具, 註 其 內 預 設 有 66 種 控 制 項 按 鈕 ; 為 了 方 便 使 用 者 選 用,Visual Basic 將 控 制 項 依 功 能 歸 類 為 通 用 控 制 項 容 器 等 9 種 群 組 程 式 設 計 者 可 透 過 雙 按 控 制 項 按 鈕 的 方 式, 或 單 按 控 制 項 按 鈕, 再 至 表 單 上 以 拉 曳 滑 鼠 的 方 式, 在 表 單 上 佈 建 所 需 使 用 的 視 窗 元 件 圖 1-20 是 控 制 項 在 LINE 視 窗 中 的 使 用 範 例 註 : 有 關 控 制 項 的 使 用, 將 在 第 3 章 中 做 詳 細 的 說 明
20 程 式 語 言 與 設 計 -Visual Basic Ⅰ 按 此 標 籤 可 顯 示 工 具 箱 3 4 5 按 此 鈕, 可 將 工 具 箱 固 定 顯 示 在 視 窗 左 側 1 圖 片 框 (PictureBox) 2 文 字 方 塊 (TextBox) 3 按 鈕 (Button) 4 核 取 方 塊 (CheckBox) 1 5 標 籤 (Label) 2 圖 1-20 控 制 項 在 LINE 視 窗 的 使 用 範 例 工 作 區 工 作 區 是 以 索 引 標 籤 的 方 式, 讓 使 用 者 可 以 點 選 索 引 標 籤, 以 切 換 到 對 應 的 視 窗 進 行 程 式 開 發 的 工 作 圖 1-21 為 在 工 作 區 中 切 換 索 引 標 籤 的 示 意 圖 點 選 標 籤 即 可 切 換 到 對 應 的 視 窗 Form1.vb[ 設 計 ] 標 籤 : 用 來 檢 視 表 單 視 窗, 以 設 計 視 窗 的 程 式 畫 面 Form1.vb 標 籤 : 用 來 撰 寫 程 式 碼 Tip 圖 1-21 在 工 作 區 切 換 索 引 標 籤 的 示 意 圖 建 立 新 專 案 時, 工 作 區 預 設 只 有 Form1.vb[ 設 計 ]1 個 標 籤 我 們 可 雙 按 表 單, 來 開 啟 Form1.vb 標 籤
第 1 章 認 識 程 式 語 言 21 方 案 總 管 視 窗 在 Visual Basic 中, 專 案 (Project) 是 指 一 個 開 發 完 成 的 應 用 程 式 所 包 含 的 相 關 檔 案 ; 方 案 (solutions) 可 視 為 含 有 多 個 專 案 的 群 組 方 案 總 管 視 窗 是 用 來 顯 示 方 案 與 專 案 的 組 成 架 構, 以 方 便 程 式 設 計 者 檢 視 與 管 理 此 外 透 過 此 視 窗, 可 檢 視 表 單 畫 面 及 程 式 碼 內 容 ( 圖 1-22) 雙 按 表 單, 可 開 啟 表 單 視 窗, 檢 視 表 單 畫 面 表 單 視 窗 選 取 表 單 後, 按 檢 視 程 式 碼 鈕, 可 開 啟 程 式 碼 視 窗, 檢 視 程 式 碼 內 容 程 式 碼 視 窗 ( 內 文 範 例 "ch1-2a.sln") 圖 1-22 透 過 方 案 總 管 視 窗 檢 視 表 單 與 程 式 碼 屬 性 視 窗 屬 性 視 窗 是 用 來 瀏 覽 及 設 定 控 制 項 的 屬 性 ( 例 如 顏 色 大 小 字 型 等 ) 當 我 們 在 屬 性 視 窗 選 定 任 一 屬 性 時, 該 視 窗 的 最 下 方 區 域 會 顯 示 所 選 取 屬 性 的 用 途 說 明 圖 1-23 是 按 鈕 控 制 項 的 Text 屬 性 更 改 前 後 的 對 照 圖
22 程 式 語 言 與 設 計 -Visual Basic Ⅰ 將 Button1 按 鈕 控 制 項 的 Text 屬 性 更 改 為 " 查 詢 " 更 改 Text 屬 性 前 屬 性 視 窗 更 改 Text 屬 性 後 圖 1-23 按 鈕 控 制 項 屬 性 更 改 前 後 的 比 較 工 作 環 境 的 配 置 與 調 整 在 Visual Basic 工 作 環 境 中, 工 具 箱 屬 性 視 窗 方 案 總 管 視 窗 等, 統 稱 為 輔 助 設 計 視 窗, 我 們 可 依 個 人 使 用 習 慣 自 行 調 整 輔 助 設 計 視 窗 的 位 置 與 大 小 調 整 視 窗 位 置 : 拖 曳 視 窗 標 題,Visual Basic 工 作 環 境 會 顯 示 停 駐 點, 供 程 式 設 計 者 選 擇 將 視 窗 移 至 何 處 ( 圖 1-24) A A B A 屬 性 視 窗 與 方 案 總 管 視 窗 共 用 右 側 區 域, 透 過 按 索 引 標 籤 即 可 切 換 視 窗 A A 區 停 駐 點 : 將 視 窗 拖 曳 至 等 停 駐 點, 表 示 要 將 視 窗 填 滿 工 作 環 境 的 上 下 左 右 等 區 域 的 位 置 B 區 停 駐 點 : 將 視 窗 拖 曳 至 等 停 駐 點, 表 示 要 將 視 窗 放 置 在 此 區 ( 本 例 為 方 案 總 管 視 窗 ) 的 上 下 左 右 等 位 置 ; 拖 曳 至 停 駐 點, 表 示 要 將 視 窗 填 滿 此 區 圖 1-24 調 整 屬 性 視 窗 位 置 的 範 例
第 1 章 認 識 程 式 語 言 23 調 整 視 窗 大 小 : 將 游 標 移 至 視 窗 邊 界, 待 指 標 變 成 或 時 拖 曳, 即 可 調 整 視 窗 的 大 小 ( 圖 1-25) 調 整 前 調 整 後 ( 工 具 箱 變 瘦 了!) 圖 1-25 調 整 工 具 箱 大 小 的 範 例 機 實 作 熟 悉 Visual Basic 的 工 作 模 式 開 啟 範 例 檔 案 "ex1-2a.sln", 練 習 使 用 標 準 工 具 列 的 開 始 鈕 與 停 止 偵 錯 鈕, 來 切 換 Visual Basic 的 執 行 與 設 計 兩 種 工 作 模 式 1 執 行 開 始 / 所 有 程 式 / VS Express for Desktop 選 項, 啟 動 Visual Studio 2 按 超 連 結 文 字 " 開 啟 專 案 ", 開 啟 開 啟 專 案 交 談 窗 3 切 換 至 存 放 範 例 檔 案 的 資 料 夾, 選 取 範 例 檔 案 "ex1-2a.sln", 並 按 開 啟 舊 檔 鈕 接 下 頁
24 程 式 語 言 與 設 計 -Visual Basic Ⅰ 4 按 開 始 鈕, 以 進 入 執 行 工 作 模 式, 執 行 程 式 ( 此 時 開 始 鈕 的 名 稱 會 變 成 繼 續 鈕 ) Tip 程 式 執 行 後, 會 自 動 開 啟 偵 錯 工 具 列 5 按 偵 錯 工 具 列 上 的 停 止 偵 錯 鈕, 回 至 設 計 工 作 模 式, 停 止 程 式 的 執 行 6 選 按 檔 案 / 關 閉 方 案 選 項, 即 可 關 閉 方 案 馬 練 習 ( )1. 在 Visual Basic 中, 如 果 要 更 改 控 制 項 的 屬 性, 應 該 透 過 下 列 何 者 來 設 定? (A) 屬 性 視 窗 (B) 即 時 運 算 視 窗 (C) 方 案 總 管 視 窗 (D) 工 具 列 ( )2. 在 Visual Basic 中, 按 哪 一 個 工 具 鈕, 可 用 來 執 行 程 式? (A) (B) (C) (D) ( )3. 在 Visual Basic 中, 下 列 何 處 放 置 有 控 制 項? (A) 方 案 總 管 視 窗 (B) 工 具 箱 (C) 標 準 工 具 列 (D) 即 時 運 算 視 窗
第 1 章 認 識 程 式 語 言 25 1-2.2 程 式 組 成 架 構 Visual Basic 可 用 來 開 發 許 多 不 同 類 型 的 應 用 程 式, 例 如 一 般 的 視 窗 應 用 程 式 網 路 應 用 程 式 智 慧 型 手 機 應 用 程 式 等, 這 些 程 式 通 常 是 以 專 案 的 型 式 存 檔 以 下 將 以 開 發 視 窗 應 用 程 式 為 例, 說 明 組 成 此 類 應 用 程 式 專 案 的 3 個 重 要 元 件 表 單 表 單 是 用 來 佈 建 控 制 項 的 場 所, 我 們 可 在 其 上 設 計 出 程 式 視 窗 的 外 觀, 如 圖 1-26 中 的 視 窗 畫 面 每 一 個 專 案 (*.vbproj) 可 包 含 1 個 或 多 個 表 單 (*.vb), 每 一 個 表 單 檔 中 都 會 記 錄 表 單 上 所 佈 建 的 控 制 項 表 單 標 籤 文 字 方 塊 按 鈕 Tip 專 案 檔 的 副 檔 名 vbproj, 為 Visual Basic Project 的 縮 寫 ( 內 文 範 例 "ch1-2b.sln") 圖 1-26 視 窗 應 用 程 式 範 例 ( 計 算 圓 面 積 ) 控 制 項 控 制 項 是 設 計 視 窗 應 用 程 式 所 需 使 用 的 視 窗 元 件 ( 都 放 於 工 具 箱 中 ), 這 些 控 制 項 可 用 來 設 計 程 式 中 與 使 用 者 互 動 的 介 面, 例 如 圖 1-26 中 的 標 籤 文 字 方 塊 及 按 鈕 等 都 是 一 種 控 制 項 程 式 碼 程 式 碼 是 程 式 設 計 者 依 據 程 式 語 言 的 語 法 所 撰 寫 出 來 的 程 式 敘 述 (statements), 具 有 解 決 特 定 問 題 的 功 能 例 如 圖 1-27 程 式 碼 視 窗 中 的 敘 述, 即 具 有 計 算 圓 面 積 的 功 能
26 程 式 語 言 與 設 計 -Visual Basic Ⅰ Visual Basic 的 每 一 行 程 式 敘 述 是 由 常 數 (constant) 變 數 (variable) 保 留 字 (reserved word) 運 算 子 (operator) 註 解 (comment) 等 元 素 所 組 成, 分 別 說 明 如 下 : 常 數 變 數 保 留 字 運 算 子 註 解 圖 1-27 計 算 圓 面 積 程 式 ( 內 文 範 例 "ch1-2b.sln") 常 數 : 指 程 式 執 行 過 程 中, 資 料 內 容 固 定 不 變 的 資 料 項 目 例 如 圖 1-27 中 PI 變 數 : 指 程 式 執 行 過 程 中, 資 料 內 容 可 變 動 的 資 料 項 目 例 如 圖 1-27 中 的 r 保 留 字 : 是 程 式 中 具 有 特 別 意 義 的 字 元 組 合 ( 可 參 閱 附 錄 A-1), 例 如 Dim 便 是 一 個 Visual Basic 的 保 留 字, 是 用 來 宣 告 變 數 資 料 型 別 的 字 彙 運 算 子 : 即 運 算 符 號, 例 如 * 運 算 子 表 示 乘 法 的 算 術 運 算 註 解 : 用 來 作 為 程 式 的 說 明 ( 須 以 單 引 號 或 "Rem" 為 開 頭 ), 不 會 影 響 程 式 的 執 行 ( 如 圖 1-27 倒 數 第 3 行 後 面 以 單 引 號 開 頭 的 文 字 敘 述 ) 適 當 地 在 程 式 中 加 入 註 解, 可 使 程 式 較 易 於 閱 讀 與 維 護 Tip Visual Basic 語 言 的 不 同 組 成 元 素, 在 程 式 敘 述 中 會 呈 現 不 同 的 顏 色 : 藍 色 保 留 字 黑 色 一 般 文 字 綠 色 註 解 咖 啡 色 字 串 資 料
第 1 章 認 識 程 式 語 言 27 Visual Basic 程 式 編 輯 器 功 能 Visual Basic 的 程 式 編 輯 器 提 供 許 多 功 能, 用 來 輔 助 程 式 設 計 者 在 程 式 碼 視 窗 中, 進 行 程 式 碼 編 寫 的 工 作 ; 以 下 介 紹 幾 個 實 用 的 功 能 : 程 式 區 段 的 摺 疊 與 展 開 : 在 撰 寫 程 式 時, 程 式 編 輯 器 會 自 動 為 一 個 程 式 區 段 ( 例 如 :Private Sub End Sub), 加 上 摺 疊 / 展 開 鈕 /, 讓 程 式 設 計 可 摺 疊 隱 藏 程 式 區 段 或 展 開 顯 示 程 式 區 段, 以 方 便 在 較 大 型 的 程 式 中, 瀏 覽 特 定 範 圍 的 程 式 碼 ( 圖 1-28) 按 折 疊 鈕, 可 隱 藏 此 程 式 區 段 ( 行 號 10 80) 摺 疊 鈕 變 成 展 開 鈕 了 ( 內 文 範 例 "ch1-2c.sln") 圖 1-28 程 式 區 段 的 摺 疊 與 展 開 自 動 對 齊 : 程 式 編 輯 器 會 自 動 將 每 個 程 式 敘 述 內 縮 固 定 的 字 元, 以 利 程 式 的 閱 讀 例 如 圖 1-28( 左 ) 中, 行 號 10 80 的 程 式 敘 述 會 自 動 縮 排 4 個 字 元 ; 行 號 50 為 一 個 條 件 敘 述 (If Then) 的 開 頭, 因 此 之 後 的 程 式 敘 述 ( 即 行 號 60) 會 再 自 動 縮 排 4 個 字 元, 以 此 類 推
28 程 式 語 言 與 設 計 -Visual Basic Ⅰ 智 慧 選 單 : 程 式 編 輯 器 會 依 據 程 式 設 計 者 所 輸 入 的 宣 告 敘 述 物 件 及 類 別 名 稱, 顯 示 對 應 的 智 慧 選 單, 讓 程 式 設 計 者 可 雙 按 選 單 中 的 某 一 選 項, 來 快 速 完 成 程 式 敘 述 的 撰 寫 ( 圖 1-29) 某 些 關 鍵 字 在 輸 入 部 分 字 母 後,Visual Basic 會 自 動 顯 示 對 應 的 智 慧 選 單 按 鍵,Visual Basic 會 自 動 輸 入 智 慧 選 單 中 目 前 被 選 取 的 選 項 ; 我 們 也 可 直 接 雙 按 選 單 中 的 任 一 選 項, 來 輸 入 選 取 的 項 目 圖 1-29 智 慧 選 單 功 能 可 加 快 程 式 碼 的 撰 写 輸 入 提 示 : 程 式 編 輯 器 會 依 據 程 式 設 計 者 所 輸 入 的 方 法 函 數 程 序 敘 述, 自 動 填 入 正 確 的 語 法 內 容, 加 快 程 式 設 計 者 輸 入 程 式 敘 述 的 速 度 ( 圖 1-30) 輸 入 內 建 函 數 MsgBox(" 後,VB 會 自 動 填 入 "), 以 加 快 輸 入 的 速 度 圖 1-30 輸 入 提 示 功 能 可 動 填 入 正 確 的 語 法 在 撰 寫 程 式 時, 除 了 可 善 用 程 式 編 輯 器 所 提 供 的 功 能 之 外, 還 可 以 利 用 多 行 敘 述 與 換 行 敘 述 的 撰 寫 技 巧, 使 程 式 碼 更 易 於 閱 讀
第 1 章 認 識 程 式 語 言 29 多 行 敘 述 : 使 用 冒 號 (:) 將 一 些 較 簡 短 的 程 式 敘 述, 合 併 撰 寫 在 同 一 行 中, 如 圖 1-31 中 的 行 號 20 敘 述 換 行 敘 述 : 在 等 號 逗 號 及 & 等 運 算 符 號 後, 按 鍵, 可 將 同 一 行 程 式 敘 述, 註 分 割 成 多 行 顯 示, 如 圖 1-31 中 的 行 號 10 或 者 我 們 也 可 使 用 底 線 (_), 將 同 一 行 程 式 敘 述, 強 迫 分 割 成 多 行 來 顯 示 換 行 敘 述 多 行 敘 述 圖 1-31 多 行 敘 述 與 換 行 敘 述 的 撰 写 技 巧 ( 內 文 範 例 "ch1-2d.sln") 馬 練 習 ( )1. Visual Basic 的 程 式 是 以 專 案 形 式 儲 存, 其 副 檔 名 為 (A).jsl (B).vb (C).vbproj (D).xsd ( )2. 每 一 個 Visual Basic 程 式 專 案 至 少 包 含 幾 個 表 單? (A)1 個 (B)2 個 (C)3 個 (D)4 個 ( )3. Visual Basic 程 式 專 案 中 的 表 單 檔 案, 其 副 檔 名 為 (A).jsl (B).vb (C).vbproj (D).xsd ( )4. 在 程 式 敘 述 的 組 成 要 素 中, 下 列 何 者 是 程 式 中 具 有 特 別 意 義 的 字 元 組 合, 例 如 Dim? (A) 運 算 子 (B) 變 數 (C) 保 留 字 (D) 註 解 ( )5. 在 程 式 敘 述 的 組 成 要 素 中, 下 列 何 者 可 用 來 作 為 程 式 的 說 明, 且 文 字 的 色 彩 是 以 綠 色 來 呈 現? (A) 運 算 子 (B) 註 解 (C) 變 數 (D) 保 留 字 註 : 選 按 工 具 / 選 項 選 項, 在 開 啟 的 選 項 交 談 窗, 雙 按 左 側 的 文 字 編 輯 器 /Basic, 接 著 在 交 談 窗 右 側 勾 選 自 動 換 行 核 取 方 塊, 則 Visual Basic 會 自 動 將 超 出 視 窗 畫 面 的 敘 述 以 多 行 顯 示
30 程 式 語 言 與 設 計 -Visual Basic Ⅰ 1-2.3 程 式 開 發 流 程 利 用 Visual Basic 開 發 程 式, 從 專 案 建 立 開 始 到 程 式 撰 寫 測 試, 必 須 經 過 圖 1-32 所 示 的 一 系 列 步 驟, 其 中, 最 後 步 驟 編 譯 成 執 行 檔 (.exe) 可 視 需 要 進 行, 並 非 必 要 步 驟 建 立 專 案 與 表 單 選 按 檔 案 / 新 增 專 案 選 項, 可 開 啟 新 增 專 案 交 談 窗, 讓 程 式 設 計 者 選 擇 所 要 建 立 的 專 案 類 型 本 書 範 例 多 是 選 用 Visual Basic 的 Windows Form 應 用 程 式 專 案 類 型 ( 圖 1-33) 來 設 計, 這 種 專 案 類 型 會 自 動 為 專 案 加 入 一 個 空 白 的 表 單, 讓 我 們 佈 建 視 窗 應 用 程 式 的 外 觀 需 特 別 注 意 的 是, 在 Visual Basic 2015 中, 需 在 建 立 新 專 案 時 設 定 專 案 的 名 稱 儲 存 路 徑 及 方 案 名 稱 其 中 方 案 名 稱 預 設 與 專 案 名 稱 一 致, 我 們 可 視 程 式 設 計 的 需 求, 自 行 修 改 方 案 的 名 稱, 或 視 專 案 規 模 的 大 小, 註 選 擇 是 否 要 建 立 方 案 資 料 夾, 來 儲 存 與 專 案 相 關 的 所 有 檔 案, 例 如 專 案 檔 表 單 檔 圖 檔 等 開 始 建 立 專 案 與 表 單 佈 建 控 制 項 設 定 屬 性 編 寫 程 式 碼 測 試 程 式 程 式 有 錯? 否 儲 存 專 案 編 譯 成 執 行 檔 (.exe) 結 束 是 圖 1-32 Visual Basic 程 式 的 開 發 流 程 圖 修 正 錯 誤 1 選 擇 Visual Basic, 再 選 Windows Form 應 用 程 式 2 輸 入 專 案 名 稱 ( 預 設 會 以 WindowsApplication1 WindowsApplication2 依 序 命 名 ) 3 按 瀏 覽 鈕, 設 定 存 放 路 徑 選 此 可 建 立 文 字 介 面 的 Visual Basic 應 用 程 式 4 方 案 名 稱 預 設 會 與 專 案 名 稱 相 同, 使 用 者 也 可 自 行 設 定 檔 名 5 選 擇 是 否 建 立 方 案 資 料 夾 ( 預 設 為 建 立 ) 圖 1-33 建 立 專 案 與 表 單 的 示 意 圖 6 按 確 定 鈕,Visual Basic 會 建 立 一 個 內 含 1 個 表 單 的 新 專 案 註 : 為 了 方 便 教 師 及 同 學 們 找 尋 所 要 使 用 的 範 例 檔 案, 本 書 所 有 範 例 程 式 皆 以 方 案 資 料 夾 儲 存, 即 每 個 方 案 資 料 夾 儲 存 了 1 個 範 例 程 式
第 1 章 認 識 程 式 語 言 31 佈 建 控 制 項 與 設 定 屬 性 我 們 可 以 利 用 拉 曳 或 雙 按 的 方 式, 在 表 單 上 佈 建 程 式 所 需 使 用 的 控 制 項, 以 設 計 出 程 式 的 視 窗 外 觀 每 一 種 控 制 項 通 常 都 具 有 許 多 屬 性, 設 定 控 制 項 的 屬 性, 可 以 讓 控 制 項 呈 現 出 不 同 的 外 貌 圖 1-34 為 在 計 算 矩 形 面 積 的 表 單 上 佈 建 控 制 項 及 設 定 屬 性 的 畫 面 1 利 用 工 具 箱 佈 建 控 制 項 1.1 點 選 所 要 佈 建 的 控 制 項 ( 如 標 籤 控 制 項 ) 1.2 在 表 單 上 拉 曳 以 佈 建 該 控 制 項 2 利 用 屬 性 視 窗 設 定 控 制 項 的 屬 性 2.1 點 選 要 設 定 屬 性 的 控 制 項 ( 如 標 籤 控 制 項 ) 2.2 在 所 要 設 定 的 屬 性 欄 ( 如 Text) 中 設 定 屬 性 ( 內 文 範 例 "ch1-2e.sln") 圖 1-34 佈 建 控 制 項 與 設 定 屬 性 的 示 意 圖
32 程 式 語 言 與 設 計 -Visual Basic Ⅰ 編 寫 程 式 碼 與 測 試 程 式 在 設 計 好 程 式 的 外 觀 後, 就 可 以 開 始 編 寫 程 式 碼, 指 示 當 控 制 項 被 驅 動 ( 例 如 被 單 按 ) 時, 電 腦 應 該 要 執 行 什 麼 樣 的 動 作 在 程 式 碼 設 計 完 成 後, 程 式 設 計 者 必 須 進 行 程 式 的 測 試, 以 便 修 正 程 式 中 可 能 的 錯 誤 ( 如 圖 1-35) 專 案 名 稱 控 制 項 名 稱 事 件 名 稱 1 為 控 制 項 撰 寫 程 式 碼 計 算 鈕 (Button1) 被 單 按 (Click) 時 會 執 行 的 程 式 內 容 2 執 行 及 測 試 程 式 結 束 鈕 (Button2) 被 單 按 (Click) 時 會 執 行 的 程 式 內 容 按 開 始 鈕, 測 試 程 式 ( 內 文 範 例 "ch1-2f.sln") 圖 1-35 編 写 程 式 碼 與 測 試 程 式 的 示 意 圖
第 1 章 認 識 程 式 語 言 33 儲 存 專 案 在 程 式 測 試 無 誤 後, 就 可 以 利 用 標 準 工 具 列 上 的 全 部 儲 存 鈕 ( 或 檔 案 / 全 部 儲 存 選 項 ) 來 儲 存 整 個 程 式 專 案 如 果 在 建 立 新 專 案 時, 忘 了 設 定 專 案 或 方 案 的 檔 案 名 稱, 我 們 可 以 透 過 方 案 總 管 視 窗, 在 方 案 或 專 案 名 稱 上 按 右 鍵, 選 按 重 新 命 選 項, 以 更 改 方 案 或 專 案 的 名 稱 此 外, 專 案 儲 存 後, 若 欲 透 過 檔 案 總 管 視 窗 來 檢 視 存 放 專 案 的 資 料 夾, 可 在 方 案 總 管 視 窗 的 專 案 名 稱 上 按 右 鍵, 選 按 在 檔 案 總 管 開 啟 料 夾 選 項 來 快 速 達 成 ( 圖 1-36) 按 全 部 儲 存 鈕, 可 儲 存 整 個 方 案 選 按 此 選 項, 可 在 檔 案 總 管 中 檢 視 專 案 檔 案 存 放 的 路 徑 及 資 料 夾 圖 1-36 儲 存 專 案 的 示 意 圖
34 程 式 語 言 與 設 計 -Visual Basic Ⅰ 以 下 說 明 將 專 案 儲 存 時,Visual Basic 自 動 為 專 案 建 立 的 幾 個 重 要 檔 案 ( 如 圖 1-37): 方 案 檔 (*.sln): 儲 存 與 方 案 相 關 的 專 案 資 訊, 例 如 專 案 的 儲 存 位 置 專 案 檔 (*.vbproj): 儲 存 與 專 案 相 關 的 資 訊, 例 如 專 案 的 版 本 專 案 所 使 用 的 類 別 專 案 所 引 用 參 考 的 檔 案 等 表 單 檔 (*.vb): 儲 存 與 表 單 相 關 的 資 訊, 例 如 表 單 上 所 佈 建 的 控 制 項 表 單 程 式 碼 檔 的 副 檔 名 亦 為 *.vb, 其 內 儲 存 與 控 制 項 相 對 應 的 程 式 碼 表 單 源 檔 (*.resx): 儲 存 表 單 所 使 用 到 的 各 項 資 源, 例 如 影 像 圖 示 等 方 案 檔 專 案 檔 表 單 檔 表 單 資 源 檔 表 單 程 式 碼 檔 圖 1-37 儲 存 專 案 程 式 時 所 產 生 的 檔 案
第 1 章 認 識 程 式 語 言 35 編 譯 成 執 行 檔 在 完 成 Visual Basic 程 式 開 發 後, 我 們 可 以 利 用 建 置 功 能, 將 程 式 專 案 製 作 成 執 行 檔 (*.exe) 選 按 建 置 / 建 置 方 案 選 項, 即 可 將 程 式 專 案 編 譯 成 執 行 檔, 該 執 行 檔 預 設 存 放 在 專 案 資 料 夾 下 的 "bin/debug" 子 資 料 夾 內 機 實 作 我 的 第 1 支 Visual Basic 程 式 練 習 撰 寫 第 1 支 Visual Basic 程 式, 以 體 驗 程 式 開 發 的 流 程 建 立 專 案 與 表 單 1 按 超 連 結 文 字 " 新 增 專 案 ", 以 開 啟 新 增 專 案 交 談 窗 2 在 左 邊 窗 格, 選 Visual Basic, 在 右 邊 窗 格, 選 Windows Form 應 用 程 式 3 在 名 稱 欄, 輸 入 "ans1-2b" 4 按 瀏 覽 鈕, 選 取 要 存 放 專 案 的 路 徑 5 按 確 定 鈕 接 下 頁
36 程 式 語 言 與 設 計 -Visual Basic Ⅰ 佈 建 控 制 項 與 設 定 屬 性 6 按 此 標 籤, 展 開 工 具 箱 7 按 此 鈕, 將 工 具 箱 固 定 顯 示 在 視 窗 左 側 8 點 選 Label 控 制 項 9 在 表 單 上 拉 曳 一 個 範 圍, 建 立 標 籤 控 制 項 10 在 屬 性 視 窗 中, 點 選 Font, 並 按, 以 開 啟 字 型 交 談 窗 11 在 字 型 樣 式 列 示 窗, 點 選 粗 體 ; 在 大 小 列 示 窗, 點 選 14, 設 定 Label1 控 制 項 的 字 型 大 小 與 樣 式, 最 後 按 確 定 鈕 接 下 頁
第 1 章 認 識 程 式 語 言 37 12 雙 按 Button 控 制 項, 建 立 一 個 按 鈕 控 制 項 13 拖 曳 Button1 控 制 項 至 如 圖 所 示 的 位 置 14 在 屬 性 視 窗 中, 將 Text 屬 性 更 改 為 " 顯 示 文 字 " 編 寫 程 式 碼 與 測 試 程 式 15 雙 按 Button1 控 制 項, 準 備 撰 寫 程 式 16 輸 入 程 式 碼 :Label1. Text = " 第 1 支 程 式 ", 設 定 Button1 控 制 項 被 按 下 時,Label1 控 制 項 會 顯 示 我 們 所 設 定 的 文 字 專 案 名 稱 控 制 項 名 稱 事 件 名 稱 17 按 開 始 鈕 ( 或 按 鍵 ), 執 行 程 式 18 按 顯 示 文 字 鈕, 測 試 Label1 控 制 項 是 否 會 顯 示 我 們 所 設 定 的 文 字 接 下 頁
38 程 式 語 言 與 設 計 -Visual Basic Ⅰ 19 按 停 止 偵 錯 鈕 ( 或 表 單 右 上 角 的 關 閉 鈕 ), 結 束 程 式 的 執 行 20 按 全 部 儲 存 鈕 編 譯 成 執 行 檔 21 選 按 建 置 / 建 置 方 案 選 項, 將 此 專 案 編 譯 為 執 行 檔 22 在 方 案 總 管 視 窗, 選 取 專 案 名 稱 (ans1-2b), 按 右 鍵, 選 按 在 檔 案 總 管 中 開 啟 資 料 夾 選 項 接 下 頁
第 1 章 認 識 程 式 語 言 39 23 在 檔 案 總 管 視 窗, 切 換 到 "bin\debug" 子 資 料 夾 下, 即 可 查 看 編 譯 完 成 的 專 案 執 行 檔 馬 練 習 ( )1. Visual Basic 程 式 開 發 流 程 的 步 驟 應 為 何? a. 佈 建 控 制 項 b. 撰 寫 程 式 碼 c. 設 定 控 制 項 屬 性 d. 測 試 程 式 (A)a b c d (B)a c b d (C)a c d b (D)a d c b ( )2. 在 Visual Basic 中, 我 們 可 以 使 用 工 具 列 上 的 哪 一 個 工 具 按 鈕, 來 結 束 程 式 的 執 行? (A) (B) (C) (D) ( )3. 在 Visual Basic 中, 我 們 可 以 使 用 下 列 哪 一 個 功 能 表, 將 撰 寫 完 成 的 程 式 專 案 編 譯 為 執 行 檔 (*.exe)? (A) 檔 案 (B) 檢 視 (C) 建 置 (D) 偵 錯 1-2 練 習 一 選 擇 題 ( )1. 在 Visual Basic 中, 我 們 可 由 下 列 哪 一 個 視 窗 看 出 目 前 已 開 啟 的 程 式 專 案 架 構? (A) 工 具 箱 (B) 表 單 視 窗 (C) 屬 性 視 窗 (D) 方 案 總 管 視 窗 ( )2. 在 Visual Basic 中, 若 要 為 控 制 項 撰 寫 程 式, 應 如 何 操 作? (A) 雙 按 要 撰 寫 程 式 的 控 制 項 (B) 雙 按 開 始 鈕 (C) 雙 按 屬 性 視 窗 (D) 雙 按 方 案 總 管 視 窗 中 的 表 單
40 程 式 語 言 與 設 計 -Visual Basic Ⅰ ( )3. 在 Visual Basic 中, 若 要 建 立 視 窗 應 用 程 式, 應 在 新 增 專 案 交 談 窗 中, 選 擇 何 種 專 案 類 型? (A)Windows Form 應 用 程 式 (B) 類 別 庫 (C) 主 控 台 應 用 程 式 (D)WPF 應 用 程 式 ( )4. 儲 存 撰 寫 完 成 的 Visual Basic 程 式, 至 少 會 產 生 下 列 哪 兩 種 類 型 的 檔 案? (A)*.docx *xlsx (B)*.dll *.sys (C)*.exe *.com (D)*.vbproj *.vb ( )5. 在 Visual Basic 指 令 中,REM 的 功 能 為 下 列 何 者? (A) 只 作 為 程 式 註 解, 程 式 不 會 執 行 (B) 作 為 運 算 符 號 (C) 設 定 控 制 項 的 屬 性 (D) 用 來 測 試 程 式 ( )6. 下 列 哪 一 個 步 驟 不 是 建 立 Visual Basic 視 窗 應 用 程 式 的 必 要 步 驟? (A) 建 立 專 案 與 表 單 (B) 撰 寫 程 式 碼 與 測 試 程 式 (C) 儲 存 專 案 與 表 單 (D) 編 譯 程 式 成 執 行 檔 ( )7. 下 列 哪 一 個 檔 案 是 Visual Basic 的 方 案 檔? (A)Form1.vb (B)Form1. Designer.vb (C)Ans1-3a.sln (D)Ans1-3a.vbproj ( )8. 在 存 放 專 案 路 徑 的 哪 一 個 子 資 料 夾 中, 可 查 看 編 譯 完 成 的 專 案 執 行 檔? (A)bin\Debug (B) 我 的 最 愛 (C)My Project (D)obj ( )9. 在 Visual Basic 中, 按 哪 一 個 按 鍵 可 用 來 執 行 程 式? (A) (B) (C) (D) ( )10. 選 按 Visual Basic 的 哪 一 個 選 項, 可 用 來 關 閉 目 前 開 啟 的 專 案 程 式? (A) 偵 錯 / 停 止 偵 錯 (B) 偵 錯 / 開 始 偵 錯 (C) 檔 案 / 關 閉 (D) 檔 案 / 關 閉 方 案 二 實 作 題 1. 請 同 學 參 照 第 1-2.3 節 上 機 實 作 " 我 的 第 1 支 Visual Basic 程 式 ", 在 表 單 上 佈 建 一 個 標 籤 及 按 鈕 控 制 項, 並 設 定 當 按 鈕 被 按 下 後, 標 籤 控 制 項 會 顯 示 自 己 的 偶 像 名 稱, 最 後 將 檔 案 儲 存 為 "ans1-2c.sln" 成 果 預 覽 : Label1 Button1
第 1 章 認 識 程 式 語 言 41 綜 合 評 量 一 選 擇 題 ( )1. 程 式 設 計 師 通 常 不 使 用 機 器 語 言 來 撰 寫 程 式, 其 原 因 是 : (A) 機 器 語 言 可 讀 性 差 (B) 機 器 語 言 須 經 編 譯 才 能 執 行 (C) 機 器 語 言 執 行 速 度 慢 (D) 機 器 語 言 指 令 功 能 少 統 測 ( )2. 下 列 哪 一 項 不 是 高 階 語 言 ( 與 低 階 語 言 比 較 ) 的 優 點? (A) 程 式 需 花 費 較 長 的 時 間 撰 寫 (B) 程 式 容 易 維 護 (C) 程 式 可 攜 性 (portability) 高 (D) 容 易 學 習 ( )3. CPU 可 直 接 執 行 的 語 言 為 : (A)BASIC 語 言 (B) 組 合 語 言 (C) 機 器 語 言 (D) 高 階 語 言 統 測 ( )4. 在 物 件 導 向 設 計 中, 相 同 性 質 的 物 件 (Objects) 可 以 集 合 成 為 : (A) 屬 性 (Attributes) (B) 群 集 (Aggregation) (C) 類 別 (Classes) (D) 訊 息 (Messages) ( )5. 在 物 件 導 向 的 觀 念 中, 下 列 何 者 表 示 某 類 別 之 屬 性? (A) 電 視 在 播 映 DVD 影 片 (B) 電 腦 在 編 譯 VB 程 式 (C) 電 鍋 使 用 110 伏 特 電 壓 (D) 電 子 雞 在 唱 KTV 統 測 ( )6. 下 列 哪 一 項 不 是 程 式 語 言 執 行 前 所 會 使 用 到 的 軟 體? (A) 組 譯 器 (Assembler) (B) 編 譯 器 (Compiler) (C) 瀏 覽 器 (Browser) (D) 直 譯 器 (Interpreter) 統 測 ( )7. 下 列 有 關 Visual Basic 語 言 的 敘 述, 何 者 正 確? (A)Visual Basic 語 言 是 由 美 國 史 丹 佛 大 學 (Stanford University) 的 教 授 所 發 展 出 來 的 (B)Visual Basic 語 言 是 一 種 高 階 語 言 (C)Visual Basic 語 言 只 能 被 直 譯 (interpret), 不 能 被 編 譯 (compile) (D)Visual Basic 語 言 不 能 用 來 撰 寫 視 窗 程 式 技 競 ( )8. 在 Visual Basic 工 作 環 境 中, 我 們 可 以 在 哪 個 區 域 進 行 表 單 畫 面 的 設 計 及 程 式 碼 的 撰 寫 工 作? (A) 工 作 區 (B) 工 具 箱 (C) 方 案 總 管 視 窗 (D) 屬 性 視 窗 ( )9. 在 撰 寫 Visual Basic 程 式 時, 若 要 為 某 些 程 式 敘 述 加 上 註 解, 須 在 註 解 文 字 前 加 上 下 列 哪 一 個 符 號? (A)" (B)' (C)% (D)# ( )10. 在 撰 寫 Visual Basic 程 式 時, 使 用 下 列 哪 一 個 符 號 可 將 一 些 較 簡 短 的 程 式 敘 述, 合 併 撰 寫 在 同 一 行? (A) 逗 號 (B) 分 號 (C) 冒 號 (D) 井 字 號
42 程 式 語 言 與 設 計 -Visual Basic Ⅰ 二 多 元 練 習 題 1. 下 圖 是 Visual Basic 的 工 作 環 境, 請 看 圖 回 答 下 列 各 小 題 : B C A D (1) 若 要 在 表 單 上 佈 建 一 個 TextBox( 文 字 方 塊 ) 控 制 項, 我 們 必 須 在 哪 一 個 視 窗 中 點 選 對 應 的 TextBox( 文 字 方 塊 ) 控 制 項? (2) 從 哪 一 個 視 窗, 可 以 查 到 此 專 案 共 有 1 個 表 單?