試題最多,商管群統測必備
金賞
454 第 15 章 基本程式語言
7 數值變數的初值為 0 ,字串變數的初值為 空字串 ,不定型變數的初值為 NULL 。 8 在整數常數中,八進位的前導字元為「 &O 」 或「&」,十六進位的前導字元為「 &H 」。 9 字串常數資料前後須使用「 雙引號 」,日期常數前後須使用「 # 」。 0 常數的宣告語法: Const 常數名稱 [As 資料型別 ] 常數值 。
試題業界最多 突破4000題 滿分推薦
多做試題,是統測高分的不二法門
2
q 比較運算式用於比較字串時,會依比較字串中各字元順序的 ASCII 碼大小比較,其大小順序
大考與理論兼具
w 「&」兩邊運算元無論是字串或數字皆為串接運算,串接運算後結果為 字串 資料。 e 在邏輯運算符號中,輸入值與結果反向的為 NOT ;輸入值兩者為 True,結果才為 True ,
VB兼顧統測VB6.0&校園實務VB2010 332 第 10 章 文書處理軟體
釢
酏
。
釕
釢
酏
釢
釕
釢
( C )6 在 Word 中,繪圖工具列中的哪一工具鈕是用來改變圖形的線條色彩? 酎 釕
釢
。
酏
。
( A )7 在 Word 中,按下哪個工具鈕可插入新表格? 酎 ( C )8 在 Word 表格中,按下工具鈕
酏
釕
釢
1200 題
多功能題本
。
右對齊 釕 靠右對齊 釢 分散對齊。
釢
方案總管視窗
酏
VB6.0
的功能為 酎 插入欄 酏 刪除列 釕 插入列 釢 刪除欄。
( A )q 下列哪兩個鍵上有個小凸點,可讓使用者不需看鍵盤也可以回到指法的起始位置?
態,則預設為不定型變數(Variant)。
酎 FJ 酏 AL 釕 GH 釢 FG。
態決定。例如設定 A2,此時 A 變數為整
易字母。 ( B )t 阿星想要使用 Word 製作網頁,則他應選擇哪一種檢視模式最合適? 酎 標準 酏 Web 版面配置 釕 閱讀版面配置 釢 整頁。 ( B )y 在 Word 中,
鈕具有什麼功能? 酎 清除格式 酏 複製文字或段落的格式 釕 填滿
色彩 釢 清除文字。 ( B )u 在 Word 中,下列哪一種檢視模式,列印出來的結果與檢視相同? 酎 標準 酏 整頁 釕 大網 釢 Web 版面配置。
VB2010
工具箱 屬性視窗
自我挑戰(每題 4 分,共 100 分) ( C ) 1. 下列關於電腦的發展描述何者正確? (A)Intel 創辦人提出摩爾定律而被尊稱 為「個人電腦之父」 (B)Tablet PC 是一種嵌入式電腦 (C)未來的電腦發展將 朝向人工智慧的領域發展 (D)PDA 掌上型電腦是屬於小型電腦的一種。
釢 擷取→解碼→執行→儲存。
決定。例如設定 A2,此時 A 變數為整數,
數,若再設定 A"ABC",此時 A 變數為字
若再設定 A"ABC",此時 A 變數為字串變
串變數。
數。
為沒有 As 資料型別),變數 B 為整數。
整數。
第 15 章 基本程式語言 455
名稱
VB2010 圖示
名稱
( D ) 2. 電子計算機問世至今,經歷三、四十年期間新型電腦不斷推陳出新,目前電腦 的架構都保有「內儲程式」的觀念,下列何者是觀念提出者? (A)巴貝奇 (B)何樂利 (C)巴斯卡 (D)馮紐曼。
1 數值變數(整數、長整數、單精準度、倍精 1 數值變數(短整數、整數、長整數、單精準 標籤 Label
Label
2 字串變數的初值為空字串("")。
( C ) 3. 積體電路與超大型積體電路的差別為何? (A)元件的體積大小 (B)元件的執 行速度 (C)元件數量的多寡 (D)元件的種類。 ( A ) 4. 下列哪一類型的電腦較適合應用於氣象的預測上? (A)超級電腦 (B)大型電
2 字串變數的初值為 NULL。
3 不定型變數的初值為 Empty。
3 物件變數的初值為 NULL。
4 布林變數的初值為 False。
4 布林變數的初值為 False。
命令按鈕 CommandButton 5 日期變數的初值為 #12:00:00AM#。
Button
選項按鈕 OptionButton 若將 Nothing 指定給變數,就會將其宣告型別的
RadioButton
用於單選的選項。
預設值指定給變數。
核取方塊 CheckBox
CheckBOX
用於可複選的選項。
PictureBox
PictureBox
用來顯示圖片或圖示的控制項。
VB6.0 準度)的初值為 0。
5 日期變數的初值為 # 上午 12:00:00#。
( D ) 6. 個人電腦(PC)是屬於哪一類型電腦? (A)數位電腦 (B)微電腦 (C)一般用
(A)超級電腦
(B)一般用途電腦
速度愈來愈快
(B)硬體架構愈來愈簡單
(C)可靠度愈來愈高
度、倍精準度)的初值為 0。
文字方塊 TextBox
圖片框
0 變數的生命範圍:
途電腦 (D)以上皆是。 ( B ) 7. 下列何者不是電子計算機的特性? (A)高速度運算 (B)會自動判斷對錯 (C)可預存程式 (D)準確性高。 用途電腦 (D)迷你電腦。 *( B ) 9. 電子計算機發明至今,依其發展的歷史,下列敘述何者有誤?
VB2010
VB6.0
VB2010
框架 Frame 1 區域變數:變數宣告在某特定程序內,則可 1 區域變數:變數宣告在某特定程序內,則可
(C)特殊
作用至整個程序,若執行時跳脫程序,則該 變數也會被系統收回。
(A)CPU 執行 (D)記憶體存
例如:Private Sub 程序 A(...) Dim a
*( B )10. 小明買了一臺 PDA 來作為行事曆使用,請問 PDA 屬於哪一類型的電腦? (A)內嵌式電腦(Embedded Computer) (B)微電腦(Micro Computer) (C)超級電腦(Super Computer) (D)大型電腦(Mainframe Computer)。 ( A )11. 華碩電腦公司推出的變形金剛電腦,採用 Android 3.0 作業系統,使用觸控螢幕 輸入,亦可連接底座使用鍵盤輸入,這款電腦屬於 (A)平板電腦 (B)掌上型 電腦 (C)筆記型電腦 (D)All-in-One PC。 ( A )12. 為電腦資料最小儲存單位,僅能儲存二進位值 0 或 1,此儲存單位稱為 (A)位元 (bit) (B)位元組(Byte) (C)字組(word) (D)字串(string)。 *( D )13. 10 毫秒(Millisecond)相當於多少奈秒(Nanosecond)? (A)10-7 (B)10-5 【98 二技】 (C)105 (D)107。
GroupBox
作用至整個程序,若執行時跳脫程序,則該 2 工具箱:提供建置軟體控制介面的控制項。 VB6.0 例如:Private Sub 程序 A(...)
最基本的物件,用來裝載控制項的平臺。 只能用來顯示文字,提示使用者程式的 作用。 可供使用者用來輸入或顯示文字的控制 項。
作為控制項的容器,可收納控制項為同 一組。
【101 統測】 北橋晶片組
( B )3 CPU 運作的機器週期(Machine Cycle)中,不包含下列哪一個步驟? 酎 擷 PCI 擴充槽
取(Fetch) 酏 編碼(Encode) 釕 解碼(Decode) 釢 執行(Execute)。 【97 CPU 統測】 插槽
7
鈕。
( B )1 一般而言,CPU 的指令執行有四個步驟:執行指令(Instruction Execute)、 IDE 連接埠
儲 存 結 果(Store Result)、 指 令 解 碼(Instruction Decode) 與DRAM 擷取指 令 插槽 (Instruction Fetch),則有關其執行步驟,下列何者正確? 酎 指令解碼→ 擷取指令→執行指令→儲存結果 酏 擷取指令→指令解碼→執行指令→儲存
VB2010
Dim a
結果 釕 執行指令→指令解碼→擷取指令→儲存結果 釢 擷取指令→指令解 SATA 碼→儲存結果→執行指令。 鋰電池
【95 二技】
連接埠
南橋晶片組
VB2010與校園授課環境相同
~1~
1010926
(execution cycle)包括擷取、解碼、執行三個主要步驟。
用來操控程式的控制項,例如:確定按
變數也會被系統收回。
1 For i1 to 10 step 2 For i as integer1 to 10 step 2 Dim c as integer Dim c as integer … … Next i Next i End sub End sub 其中變數 a、i、c 的生命範圍為整個程序 A。 其中變數 a 的生命範圍為整個程序 A,而變 2 公用變數:變數宣告表單程式的一開始,則 數 i 與 c 的生命範圍只有在 For... Next i。 所有宣告的變數生命範圍為整個表單檔中所 2 公用變數:變數宣告在 Public Class 底下,則 有程序皆可以使用。 所有宣告的變數生命範圍為 Public Class 中 所有程序皆可以使用。
取時間愈來愈短。
TextBox
相較於多核心微處理器,單核心微處理器更適合多工環境 釢 執行週期
用途說明
圖示
Form
表單
【96 統測】
PCI-E X1 ( A )2 下列有關微處理器的敘述,何者正確? 酎 時脈(clock)是時脈頻率(clock 擴充槽 BIOS I / O 連接埠
frequency)的倒數 酏 位址暫存器可用以存放各種狀態或運算的結果 釕 VB6.0
控制項
9 變數的初值:
腦 (C)嵌入型電腦 (D)微電腦。 ( D ) 5. 世界第一部通用型電子計算機(ENIAC)所採用的基本元件為何? (A)超大型 積體電路 (B)積體電路 (C)電晶體 (D)真空管。
1010963-1
PCI-解碼→擷取→執行→儲存 釕 E X16 擴充槽 →儲存→執行 酏 擷取→執行→解碼→儲存
態,則預設為物件型態(Object)。
Form
( C ) 8. 應用於飛機導航系統上的電腦是
將處理結果回存至記憶體中。
與外部的周邊設備連接以擴充其功能。 ( D )1 中央處理器(CPU)在處理指令時,運作的先後步驟依序為 酎 擷取→解碼
1 3 Dim A,B As Integer 變數 A 為不定型(因 3 Dim A,B As Integer 變數 A 及變數 B 皆為
倉頡輸入法 酏 嘸蝦米輸入法 釕 大易輸入法 釢 新注音輸入法。 ( B )r 嘸蝦米輸入法是將字根轉換成哪種符號? 酎 注音符號 酏 英文字母 釕 數字 釢 大
儲存(Storing)
7
2 不定型變數的資料型別,由設定時的資料型 2 物件型態的資料型別,由設定時的資料型態
Ch1 電腦科技與現代生活 範圍:1-1 電腦發展簡史
( D )e 在臺灣哪一種中文輸入法,可在不背任何字根的情況下,就可以馬上學會? 酎 大新
執行(Execute) 根據指令解碼的訊號來執行相關的處理動作。
主機板為個人電腦最主要的元件,將相關的電子電路整合在一塊電路板中,可在主機板中安裝
1 變數未宣告或變數宣告時,若不指定資料型 1 變數不宣告或變數宣告時,若不指定資料型
手無名指負責 釕 YHN 鍵應以右手食指按 釢 RHB 應以左手食指按。
解碼(Decoding) 對於指令做解碼的動作並轉換成控制訊號。
全書表格化彙整,複習迅速有效率 微處理器(CPU)、顯示卡、音效卡、硬碟、記憶體等元件。主機板也提供了相關的連接埠,其使
8 不定型變數:
( D )w 下列有關操作鍵盤指法的敘述,何者有誤? 酎 空白鍵應以大姆指負責 酏 S 鍵應以左
(指令至控制單元、資料至算術邏輯單元)。
二 、主機板
表單設計視窗
第 15 章 基本程式語言 445
。
( B )0 在 Word 中,工具鈕
由記憶體中取出指令及資料傳送至 CPU 中
ച۩ၜཚ
4760 題
總計
擷取(Fetching)
42 第 2 章 電腦硬體知識
1000 題
測驗卷
。
後,則所選取儲存格內的文字會 酎 置中對齊 酏 左
( A )9 在 Word 表格中,當滑鼠指標變成何種形狀,表示可以調整表格欄寬? 酎 釕
ց ۩ ച ᙀ ᧤
( A )5 在繪圖工具列中,哪一個是插入美工圖案的按鈕? 酎
釕
ᖲᕴ ၜཚ ጩ
酏
VB6.0與VB2010差異,隨時 補充彙整,與統測版本接軌
酏
。
( A )4 在繪圖工具列中,哪一個是文字方塊的按鈕? 酎
一 、VB2010 整合開發環境介紹
ಖᖋ᧯
( B )3 在 Word 中,要加入文件的自動編號,可將插入點移至該段落,按一下 酎
2560 題
參考書
酏
。
࠷
釢
ឯ
( A )2 Word 中,若要條列式的文件加上項目符號,可按下列哪一個工具鈕? 酎 釕
15-3 輸入與輸出
全面表格整理及清楚示意圖
1 不管電腦在進行什麼工作,對 CPU 來說,只是不斷地重複進行擷取(Fetching)、解碼 (Decoding)、執行(Execute)及儲存(Storing)等動作(如下圖所示),而這些重複的動 本書掌握高職學生最適合的複習方式 作稱為「指令週期」或是「機器週期」。 2 擷取、解碼的動作合稱為擷取週期(Fetch Cycle);執行、儲存的動作合稱為執行週期 (Execution Cycle)。 ឯ࠷ၜཚ 說明 動作
ژ
釕
結果為 True,其餘為 False 的運算為 EQV 。 基礎練習
滿分推薦 3 CPU 指令週期:
第 2 章 電腦硬體知識 53
ᚏ
( D )1 在 Word 中, 要 為 所 選 取 的 文 字 加 上 網 底, 可 按 哪 一 個 工 具 鈕? 酎
其餘為 False 的運算為 AND ;輸入值兩者為 False,結果才為 False ,其餘為 True 的運算為 OR ;輸入值兩者不同,結果為 True ,其餘為 False 的運算為 XOR ;輸入值兩者相同,
計算機概論 復習講義
綜合練習
3
為:空白 < 數字(0 < 9) < 英文字母大寫(A < Z)< 英文字母小寫(a < z) <中 文。
൳ ࠫ ᇞ ᒘ ց
1
滿分推薦
Yes,You can
2 在執行模式:由程式設定之,其語法:物件名稱 . 屬性名稱 設定值。 方案總管:
ATX 電源線插槽 cpu
實體照片標示超清楚
前端匯流排 PCI-e16 AGP 插槽
北橋晶片
記憶體 模組
SATA IDE
南橋晶片
PCI PCI-e1
試題最多,商管群統測必備
金賞
454 第 15 章 基本程式語言
7 數值變數的初值為 0 ,字串變數的初值為 空字串 ,不定型變數的初值為 NULL 。 8 在整數常數中,八進位的前導字元為「 &O 」 或「&」,十六進位的前導字元為「 &H 」。 9 字串常數資料前後須使用「 雙引號 」,日期常數前後須使用「 # 」。 0 常數的宣告語法: Const 常數名稱 [As 資料型別 ] 常數值 。
試題業界最多 突破4000題 滿分推薦
多做試題,是統測高分的不二法門
2
q 比較運算式用於比較字串時,會依比較字串中各字元順序的 ASCII 碼大小比較,其大小順序
大考與理論兼具
w 「&」兩邊運算元無論是字串或數字皆為串接運算,串接運算後結果為 字串 資料。 e 在邏輯運算符號中,輸入值與結果反向的為 NOT ;輸入值兩者為 True,結果才為 True ,
VB兼顧統測VB6.0&校園實務VB2010 332 第 10 章 文書處理軟體
釢
酏
。
釕
釢
酏
釢
釕
釢
( C )6 在 Word 中,繪圖工具列中的哪一工具鈕是用來改變圖形的線條色彩? 酎 釕
釢
。
酏
。
( A )7 在 Word 中,按下哪個工具鈕可插入新表格? 酎 ( C )8 在 Word 表格中,按下工具鈕
酏
釕
釢
1200 題
多功能題本
。
右對齊 釕 靠右對齊 釢 分散對齊。
釢
方案總管視窗
酏
VB6.0
的功能為 酎 插入欄 酏 刪除列 釕 插入列 釢 刪除欄。
( A )q 下列哪兩個鍵上有個小凸點,可讓使用者不需看鍵盤也可以回到指法的起始位置?
態,則預設為不定型變數(Variant)。
酎 FJ 酏 AL 釕 GH 釢 FG。
態決定。例如設定 A2,此時 A 變數為整
易字母。 ( B )t 阿星想要使用 Word 製作網頁,則他應選擇哪一種檢視模式最合適? 酎 標準 酏 Web 版面配置 釕 閱讀版面配置 釢 整頁。 ( B )y 在 Word 中,
鈕具有什麼功能? 酎 清除格式 酏 複製文字或段落的格式 釕 填滿
色彩 釢 清除文字。 ( B )u 在 Word 中,下列哪一種檢視模式,列印出來的結果與檢視相同? 酎 標準 酏 整頁 釕 大網 釢 Web 版面配置。
VB2010
工具箱 屬性視窗
自我挑戰(每題 4 分,共 100 分) ( C ) 1. 下列關於電腦的發展描述何者正確? (A)Intel 創辦人提出摩爾定律而被尊稱 為「個人電腦之父」 (B)Tablet PC 是一種嵌入式電腦 (C)未來的電腦發展將 朝向人工智慧的領域發展 (D)PDA 掌上型電腦是屬於小型電腦的一種。
釢 擷取→解碼→執行→儲存。
決定。例如設定 A2,此時 A 變數為整數,
數,若再設定 A"ABC",此時 A 變數為字
若再設定 A"ABC",此時 A 變數為字串變
串變數。
數。
為沒有 As 資料型別),變數 B 為整數。
整數。
第 15 章 基本程式語言 455
名稱
VB2010 圖示
名稱
( D ) 2. 電子計算機問世至今,經歷三、四十年期間新型電腦不斷推陳出新,目前電腦 的架構都保有「內儲程式」的觀念,下列何者是觀念提出者? (A)巴貝奇 (B)何樂利 (C)巴斯卡 (D)馮紐曼。
1 數值變數(整數、長整數、單精準度、倍精 1 數值變數(短整數、整數、長整數、單精準 標籤 Label
Label
2 字串變數的初值為空字串("")。
( C ) 3. 積體電路與超大型積體電路的差別為何? (A)元件的體積大小 (B)元件的執 行速度 (C)元件數量的多寡 (D)元件的種類。 ( A ) 4. 下列哪一類型的電腦較適合應用於氣象的預測上? (A)超級電腦 (B)大型電
2 字串變數的初值為 NULL。
3 不定型變數的初值為 Empty。
3 物件變數的初值為 NULL。
4 布林變數的初值為 False。
4 布林變數的初值為 False。
命令按鈕 CommandButton 5 日期變數的初值為 #12:00:00AM#。
Button
選項按鈕 OptionButton 若將 Nothing 指定給變數,就會將其宣告型別的
RadioButton
用於單選的選項。
預設值指定給變數。
核取方塊 CheckBox
CheckBOX
用於可複選的選項。
PictureBox
PictureBox
用來顯示圖片或圖示的控制項。
VB6.0 準度)的初值為 0。
5 日期變數的初值為 # 上午 12:00:00#。
( D ) 6. 個人電腦(PC)是屬於哪一類型電腦? (A)數位電腦 (B)微電腦 (C)一般用
(A)超級電腦
(B)一般用途電腦
速度愈來愈快
(B)硬體架構愈來愈簡單
(C)可靠度愈來愈高
度、倍精準度)的初值為 0。
文字方塊 TextBox
圖片框
0 變數的生命範圍:
途電腦 (D)以上皆是。 ( B ) 7. 下列何者不是電子計算機的特性? (A)高速度運算 (B)會自動判斷對錯 (C)可預存程式 (D)準確性高。 用途電腦 (D)迷你電腦。 *( B ) 9. 電子計算機發明至今,依其發展的歷史,下列敘述何者有誤?
VB2010
VB6.0
VB2010
框架 Frame 1 區域變數:變數宣告在某特定程序內,則可 1 區域變數:變數宣告在某特定程序內,則可
(C)特殊
作用至整個程序,若執行時跳脫程序,則該 變數也會被系統收回。
(A)CPU 執行 (D)記憶體存
例如:Private Sub 程序 A(...) Dim a
*( B )10. 小明買了一臺 PDA 來作為行事曆使用,請問 PDA 屬於哪一類型的電腦? (A)內嵌式電腦(Embedded Computer) (B)微電腦(Micro Computer) (C)超級電腦(Super Computer) (D)大型電腦(Mainframe Computer)。 ( A )11. 華碩電腦公司推出的變形金剛電腦,採用 Android 3.0 作業系統,使用觸控螢幕 輸入,亦可連接底座使用鍵盤輸入,這款電腦屬於 (A)平板電腦 (B)掌上型 電腦 (C)筆記型電腦 (D)All-in-One PC。 ( A )12. 為電腦資料最小儲存單位,僅能儲存二進位值 0 或 1,此儲存單位稱為 (A)位元 (bit) (B)位元組(Byte) (C)字組(word) (D)字串(string)。 *( D )13. 10 毫秒(Millisecond)相當於多少奈秒(Nanosecond)? (A)10-7 (B)10-5 【98 二技】 (C)105 (D)107。
GroupBox
作用至整個程序,若執行時跳脫程序,則該 2 工具箱:提供建置軟體控制介面的控制項。 VB6.0 例如:Private Sub 程序 A(...)
最基本的物件,用來裝載控制項的平臺。 只能用來顯示文字,提示使用者程式的 作用。 可供使用者用來輸入或顯示文字的控制 項。
作為控制項的容器,可收納控制項為同 一組。
【101 統測】 北橋晶片組
( B )3 CPU 運作的機器週期(Machine Cycle)中,不包含下列哪一個步驟? 酎 擷 PCI 擴充槽
取(Fetch) 酏 編碼(Encode) 釕 解碼(Decode) 釢 執行(Execute)。 【97 CPU 統測】 插槽
7
鈕。
( B )1 一般而言,CPU 的指令執行有四個步驟:執行指令(Instruction Execute)、 IDE 連接埠
儲 存 結 果(Store Result)、 指 令 解 碼(Instruction Decode) 與DRAM 擷取指 令 插槽 (Instruction Fetch),則有關其執行步驟,下列何者正確? 酎 指令解碼→ 擷取指令→執行指令→儲存結果 酏 擷取指令→指令解碼→執行指令→儲存
VB2010
Dim a
結果 釕 執行指令→指令解碼→擷取指令→儲存結果 釢 擷取指令→指令解 SATA 碼→儲存結果→執行指令。 鋰電池
【95 二技】
連接埠
南橋晶片組
VB2010與校園授課環境相同
~1~
1010926
(execution cycle)包括擷取、解碼、執行三個主要步驟。
用來操控程式的控制項,例如:確定按
變數也會被系統收回。
1 For i1 to 10 step 2 For i as integer1 to 10 step 2 Dim c as integer Dim c as integer … … Next i Next i End sub End sub 其中變數 a、i、c 的生命範圍為整個程序 A。 其中變數 a 的生命範圍為整個程序 A,而變 2 公用變數:變數宣告表單程式的一開始,則 數 i 與 c 的生命範圍只有在 For... Next i。 所有宣告的變數生命範圍為整個表單檔中所 2 公用變數:變數宣告在 Public Class 底下,則 有程序皆可以使用。 所有宣告的變數生命範圍為 Public Class 中 所有程序皆可以使用。
取時間愈來愈短。
TextBox
相較於多核心微處理器,單核心微處理器更適合多工環境 釢 執行週期
用途說明
圖示
Form
表單
【96 統測】
PCI-E X1 ( A )2 下列有關微處理器的敘述,何者正確? 酎 時脈(clock)是時脈頻率(clock 擴充槽 BIOS I / O 連接埠
frequency)的倒數 酏 位址暫存器可用以存放各種狀態或運算的結果 釕 VB6.0
控制項
9 變數的初值:
腦 (C)嵌入型電腦 (D)微電腦。 ( D ) 5. 世界第一部通用型電子計算機(ENIAC)所採用的基本元件為何? (A)超大型 積體電路 (B)積體電路 (C)電晶體 (D)真空管。
1010963-1
PCI-解碼→擷取→執行→儲存 釕 E X16 擴充槽 →儲存→執行 酏 擷取→執行→解碼→儲存
態,則預設為物件型態(Object)。
Form
( C ) 8. 應用於飛機導航系統上的電腦是
將處理結果回存至記憶體中。
與外部的周邊設備連接以擴充其功能。 ( D )1 中央處理器(CPU)在處理指令時,運作的先後步驟依序為 酎 擷取→解碼
1 3 Dim A,B As Integer 變數 A 為不定型(因 3 Dim A,B As Integer 變數 A 及變數 B 皆為
倉頡輸入法 酏 嘸蝦米輸入法 釕 大易輸入法 釢 新注音輸入法。 ( B )r 嘸蝦米輸入法是將字根轉換成哪種符號? 酎 注音符號 酏 英文字母 釕 數字 釢 大
儲存(Storing)
7
2 不定型變數的資料型別,由設定時的資料型 2 物件型態的資料型別,由設定時的資料型態
Ch1 電腦科技與現代生活 範圍:1-1 電腦發展簡史
( D )e 在臺灣哪一種中文輸入法,可在不背任何字根的情況下,就可以馬上學會? 酎 大新
執行(Execute) 根據指令解碼的訊號來執行相關的處理動作。
主機板為個人電腦最主要的元件,將相關的電子電路整合在一塊電路板中,可在主機板中安裝
1 變數未宣告或變數宣告時,若不指定資料型 1 變數不宣告或變數宣告時,若不指定資料型
手無名指負責 釕 YHN 鍵應以右手食指按 釢 RHB 應以左手食指按。
解碼(Decoding) 對於指令做解碼的動作並轉換成控制訊號。
全書表格化彙整,複習迅速有效率 微處理器(CPU)、顯示卡、音效卡、硬碟、記憶體等元件。主機板也提供了相關的連接埠,其使
8 不定型變數:
( D )w 下列有關操作鍵盤指法的敘述,何者有誤? 酎 空白鍵應以大姆指負責 酏 S 鍵應以左
(指令至控制單元、資料至算術邏輯單元)。
二 、主機板
表單設計視窗
第 15 章 基本程式語言 445
。
( B )0 在 Word 中,工具鈕
由記憶體中取出指令及資料傳送至 CPU 中
ച۩ၜཚ
4760 題
總計
擷取(Fetching)
42 第 2 章 電腦硬體知識
1000 題
測驗卷
。
後,則所選取儲存格內的文字會 酎 置中對齊 酏 左
( A )9 在 Word 表格中,當滑鼠指標變成何種形狀,表示可以調整表格欄寬? 酎 釕
ց ۩ ച ᙀ ᧤
( A )5 在繪圖工具列中,哪一個是插入美工圖案的按鈕? 酎
釕
ᖲᕴ ၜཚ ጩ
酏
VB6.0與VB2010差異,隨時 補充彙整,與統測版本接軌
酏
。
( A )4 在繪圖工具列中,哪一個是文字方塊的按鈕? 酎
一 、VB2010 整合開發環境介紹
ಖᖋ᧯
( B )3 在 Word 中,要加入文件的自動編號,可將插入點移至該段落,按一下 酎
2560 題
參考書
酏
。
࠷
釢
ឯ
( A )2 Word 中,若要條列式的文件加上項目符號,可按下列哪一個工具鈕? 酎 釕
15-3 輸入與輸出
全面表格整理及清楚示意圖
1 不管電腦在進行什麼工作,對 CPU 來說,只是不斷地重複進行擷取(Fetching)、解碼 (Decoding)、執行(Execute)及儲存(Storing)等動作(如下圖所示),而這些重複的動 本書掌握高職學生最適合的複習方式 作稱為「指令週期」或是「機器週期」。 2 擷取、解碼的動作合稱為擷取週期(Fetch Cycle);執行、儲存的動作合稱為執行週期 (Execution Cycle)。 ឯ࠷ၜཚ 說明 動作
ژ
釕
結果為 True,其餘為 False 的運算為 EQV 。 基礎練習
滿分推薦 3 CPU 指令週期:
第 2 章 電腦硬體知識 53
ᚏ
( D )1 在 Word 中, 要 為 所 選 取 的 文 字 加 上 網 底, 可 按 哪 一 個 工 具 鈕? 酎
其餘為 False 的運算為 AND ;輸入值兩者為 False,結果才為 False ,其餘為 True 的運算為 OR ;輸入值兩者不同,結果為 True ,其餘為 False 的運算為 XOR ;輸入值兩者相同,
計算機概論 復習講義
綜合練習
3
為:空白 < 數字(0 < 9) < 英文字母大寫(A < Z)< 英文字母小寫(a < z) <中 文。
൳ ࠫ ᇞ ᒘ ց
1
滿分推薦
Yes,You can
2 在執行模式:由程式設定之,其語法:物件名稱 . 屬性名稱 設定值。 方案總管:
ATX 電源線插槽 cpu
實體照片標示超清楚
前端匯流排 PCI-e16 AGP 插槽
北橋晶片
記憶體 模組
SATA IDE
南橋晶片
PCI PCI-e1
試題最多,商管群統測必備
金賞
454 第 15 章 基本程式語言
7 數值變數的初值為 0 ,字串變數的初值為 空字串 ,不定型變數的初值為 NULL 。 8 在整數常數中,八進位的前導字元為「 &O 」 或「&」,十六進位的前導字元為「 &H 」。 9 字串常數資料前後須使用「 雙引號 」,日期常數前後須使用「 # 」。 0 常數的宣告語法: Const 常數名稱 [As 資料型別 ] 常數值 。
試題業界最多 突破4000題 滿分推薦
多做試題,是統測高分的不二法門
2
q 比較運算式用於比較字串時,會依比較字串中各字元順序的 ASCII 碼大小比較,其大小順序
大考與理論兼具
w 「&」兩邊運算元無論是字串或數字皆為串接運算,串接運算後結果為 字串 資料。 e 在邏輯運算符號中,輸入值與結果反向的為 NOT ;輸入值兩者為 True,結果才為 True ,
VB兼顧統測VB6.0&校園實務VB2010 332 第 10 章 文書處理軟體
釢
酏
。
釕
釢
酏
釢
釕
釢
( C )6 在 Word 中,繪圖工具列中的哪一工具鈕是用來改變圖形的線條色彩? 酎 釕
釢
。
酏
。
( A )7 在 Word 中,按下哪個工具鈕可插入新表格? 酎 ( C )8 在 Word 表格中,按下工具鈕
酏
釕
釢
1200 題
多功能題本
。
右對齊 釕 靠右對齊 釢 分散對齊。
釢
方案總管視窗
酏
VB6.0
的功能為 酎 插入欄 酏 刪除列 釕 插入列 釢 刪除欄。
( A )q 下列哪兩個鍵上有個小凸點,可讓使用者不需看鍵盤也可以回到指法的起始位置?
態,則預設為不定型變數(Variant)。
酎 FJ 酏 AL 釕 GH 釢 FG。
態決定。例如設定 A2,此時 A 變數為整
易字母。 ( B )t 阿星想要使用 Word 製作網頁,則他應選擇哪一種檢視模式最合適? 酎 標準 酏 Web 版面配置 釕 閱讀版面配置 釢 整頁。 ( B )y 在 Word 中,
鈕具有什麼功能? 酎 清除格式 酏 複製文字或段落的格式 釕 填滿
色彩 釢 清除文字。 ( B )u 在 Word 中,下列哪一種檢視模式,列印出來的結果與檢視相同? 酎 標準 酏 整頁 釕 大網 釢 Web 版面配置。
VB2010
工具箱 屬性視窗
自我挑戰(每題 4 分,共 100 分) ( C ) 1. 下列關於電腦的發展描述何者正確? (A)Intel 創辦人提出摩爾定律而被尊稱 為「個人電腦之父」 (B)Tablet PC 是一種嵌入式電腦 (C)未來的電腦發展將 朝向人工智慧的領域發展 (D)PDA 掌上型電腦是屬於小型電腦的一種。
釢 擷取→解碼→執行→儲存。
決定。例如設定 A2,此時 A 變數為整數,
數,若再設定 A"ABC",此時 A 變數為字
若再設定 A"ABC",此時 A 變數為字串變
串變數。
數。
為沒有 As 資料型別),變數 B 為整數。
整數。
第 15 章 基本程式語言 455
名稱
VB2010 圖示
名稱
( D ) 2. 電子計算機問世至今,經歷三、四十年期間新型電腦不斷推陳出新,目前電腦 的架構都保有「內儲程式」的觀念,下列何者是觀念提出者? (A)巴貝奇 (B)何樂利 (C)巴斯卡 (D)馮紐曼。
1 數值變數(整數、長整數、單精準度、倍精 1 數值變數(短整數、整數、長整數、單精準 標籤 Label
Label
2 字串變數的初值為空字串("")。
( C ) 3. 積體電路與超大型積體電路的差別為何? (A)元件的體積大小 (B)元件的執 行速度 (C)元件數量的多寡 (D)元件的種類。 ( A ) 4. 下列哪一類型的電腦較適合應用於氣象的預測上? (A)超級電腦 (B)大型電
2 字串變數的初值為 NULL。
3 不定型變數的初值為 Empty。
3 物件變數的初值為 NULL。
4 布林變數的初值為 False。
4 布林變數的初值為 False。
命令按鈕 CommandButton 5 日期變數的初值為 #12:00:00AM#。
Button
選項按鈕 OptionButton 若將 Nothing 指定給變數,就會將其宣告型別的
RadioButton
用於單選的選項。
預設值指定給變數。
核取方塊 CheckBox
CheckBOX
用於可複選的選項。
PictureBox
PictureBox
用來顯示圖片或圖示的控制項。
VB6.0 準度)的初值為 0。
5 日期變數的初值為 # 上午 12:00:00#。
( D ) 6. 個人電腦(PC)是屬於哪一類型電腦? (A)數位電腦 (B)微電腦 (C)一般用
(A)超級電腦
(B)一般用途電腦
速度愈來愈快
(B)硬體架構愈來愈簡單
(C)可靠度愈來愈高
度、倍精準度)的初值為 0。
文字方塊 TextBox
圖片框
0 變數的生命範圍:
途電腦 (D)以上皆是。 ( B ) 7. 下列何者不是電子計算機的特性? (A)高速度運算 (B)會自動判斷對錯 (C)可預存程式 (D)準確性高。 用途電腦 (D)迷你電腦。 *( B ) 9. 電子計算機發明至今,依其發展的歷史,下列敘述何者有誤?
VB2010
VB6.0
VB2010
框架 Frame 1 區域變數:變數宣告在某特定程序內,則可 1 區域變數:變數宣告在某特定程序內,則可
(C)特殊
作用至整個程序,若執行時跳脫程序,則該 變數也會被系統收回。
(A)CPU 執行 (D)記憶體存
例如:Private Sub 程序 A(...) Dim a
*( B )10. 小明買了一臺 PDA 來作為行事曆使用,請問 PDA 屬於哪一類型的電腦? (A)內嵌式電腦(Embedded Computer) (B)微電腦(Micro Computer) (C)超級電腦(Super Computer) (D)大型電腦(Mainframe Computer)。 ( A )11. 華碩電腦公司推出的變形金剛電腦,採用 Android 3.0 作業系統,使用觸控螢幕 輸入,亦可連接底座使用鍵盤輸入,這款電腦屬於 (A)平板電腦 (B)掌上型 電腦 (C)筆記型電腦 (D)All-in-One PC。 ( A )12. 為電腦資料最小儲存單位,僅能儲存二進位值 0 或 1,此儲存單位稱為 (A)位元 (bit) (B)位元組(Byte) (C)字組(word) (D)字串(string)。 *( D )13. 10 毫秒(Millisecond)相當於多少奈秒(Nanosecond)? (A)10-7 (B)10-5 【98 二技】 (C)105 (D)107。
GroupBox
作用至整個程序,若執行時跳脫程序,則該 2 工具箱:提供建置軟體控制介面的控制項。 VB6.0 例如:Private Sub 程序 A(...)
最基本的物件,用來裝載控制項的平臺。 只能用來顯示文字,提示使用者程式的 作用。 可供使用者用來輸入或顯示文字的控制 項。
作為控制項的容器,可收納控制項為同 一組。
【101 統測】 北橋晶片組
( B )3 CPU 運作的機器週期(Machine Cycle)中,不包含下列哪一個步驟? 酎 擷 PCI 擴充槽
取(Fetch) 酏 編碼(Encode) 釕 解碼(Decode) 釢 執行(Execute)。 【97 CPU 統測】 插槽
7
鈕。
( B )1 一般而言,CPU 的指令執行有四個步驟:執行指令(Instruction Execute)、 IDE 連接埠
儲 存 結 果(Store Result)、 指 令 解 碼(Instruction Decode) 與DRAM 擷取指 令 插槽 (Instruction Fetch),則有關其執行步驟,下列何者正確? 酎 指令解碼→ 擷取指令→執行指令→儲存結果 酏 擷取指令→指令解碼→執行指令→儲存
VB2010
Dim a
結果 釕 執行指令→指令解碼→擷取指令→儲存結果 釢 擷取指令→指令解 SATA 碼→儲存結果→執行指令。 鋰電池
【95 二技】
連接埠
南橋晶片組
VB2010與校園授課環境相同
~1~
1010926
(execution cycle)包括擷取、解碼、執行三個主要步驟。
用來操控程式的控制項,例如:確定按
變數也會被系統收回。
1 For i1 to 10 step 2 For i as integer1 to 10 step 2 Dim c as integer Dim c as integer … … Next i Next i End sub End sub 其中變數 a、i、c 的生命範圍為整個程序 A。 其中變數 a 的生命範圍為整個程序 A,而變 2 公用變數:變數宣告表單程式的一開始,則 數 i 與 c 的生命範圍只有在 For... Next i。 所有宣告的變數生命範圍為整個表單檔中所 2 公用變數:變數宣告在 Public Class 底下,則 有程序皆可以使用。 所有宣告的變數生命範圍為 Public Class 中 所有程序皆可以使用。
取時間愈來愈短。
TextBox
相較於多核心微處理器,單核心微處理器更適合多工環境 釢 執行週期
用途說明
圖示
Form
表單
【96 統測】
PCI-E X1 ( A )2 下列有關微處理器的敘述,何者正確? 酎 時脈(clock)是時脈頻率(clock 擴充槽 BIOS I / O 連接埠
frequency)的倒數 酏 位址暫存器可用以存放各種狀態或運算的結果 釕 VB6.0
控制項
9 變數的初值:
腦 (C)嵌入型電腦 (D)微電腦。 ( D ) 5. 世界第一部通用型電子計算機(ENIAC)所採用的基本元件為何? (A)超大型 積體電路 (B)積體電路 (C)電晶體 (D)真空管。
1010963-1
PCI-解碼→擷取→執行→儲存 釕 E X16 擴充槽 →儲存→執行 酏 擷取→執行→解碼→儲存
態,則預設為物件型態(Object)。
Form
( C ) 8. 應用於飛機導航系統上的電腦是
將處理結果回存至記憶體中。
與外部的周邊設備連接以擴充其功能。 ( D )1 中央處理器(CPU)在處理指令時,運作的先後步驟依序為 酎 擷取→解碼
1 3 Dim A,B As Integer 變數 A 為不定型(因 3 Dim A,B As Integer 變數 A 及變數 B 皆為
倉頡輸入法 酏 嘸蝦米輸入法 釕 大易輸入法 釢 新注音輸入法。 ( B )r 嘸蝦米輸入法是將字根轉換成哪種符號? 酎 注音符號 酏 英文字母 釕 數字 釢 大
儲存(Storing)
7
2 不定型變數的資料型別,由設定時的資料型 2 物件型態的資料型別,由設定時的資料型態
Ch1 電腦科技與現代生活 範圍:1-1 電腦發展簡史
( D )e 在臺灣哪一種中文輸入法,可在不背任何字根的情況下,就可以馬上學會? 酎 大新
執行(Execute) 根據指令解碼的訊號來執行相關的處理動作。
主機板為個人電腦最主要的元件,將相關的電子電路整合在一塊電路板中,可在主機板中安裝
1 變數未宣告或變數宣告時,若不指定資料型 1 變數不宣告或變數宣告時,若不指定資料型
手無名指負責 釕 YHN 鍵應以右手食指按 釢 RHB 應以左手食指按。
解碼(Decoding) 對於指令做解碼的動作並轉換成控制訊號。
全書表格化彙整,複習迅速有效率 微處理器(CPU)、顯示卡、音效卡、硬碟、記憶體等元件。主機板也提供了相關的連接埠,其使
8 不定型變數:
( D )w 下列有關操作鍵盤指法的敘述,何者有誤? 酎 空白鍵應以大姆指負責 酏 S 鍵應以左
(指令至控制單元、資料至算術邏輯單元)。
二 、主機板
表單設計視窗
第 15 章 基本程式語言 445
。
( B )0 在 Word 中,工具鈕
由記憶體中取出指令及資料傳送至 CPU 中
ച۩ၜཚ
4760 題
總計
擷取(Fetching)
42 第 2 章 電腦硬體知識
1000 題
測驗卷
。
後,則所選取儲存格內的文字會 酎 置中對齊 酏 左
( A )9 在 Word 表格中,當滑鼠指標變成何種形狀,表示可以調整表格欄寬? 酎 釕
ց ۩ ച ᙀ ᧤
( A )5 在繪圖工具列中,哪一個是插入美工圖案的按鈕? 酎
釕
ᖲᕴ ၜཚ ጩ
酏
VB6.0與VB2010差異,隨時 補充彙整,與統測版本接軌
酏
。
( A )4 在繪圖工具列中,哪一個是文字方塊的按鈕? 酎
一 、VB2010 整合開發環境介紹
ಖᖋ᧯
( B )3 在 Word 中,要加入文件的自動編號,可將插入點移至該段落,按一下 酎
2560 題
參考書
酏
。
࠷
釢
ឯ
( A )2 Word 中,若要條列式的文件加上項目符號,可按下列哪一個工具鈕? 酎 釕
15-3 輸入與輸出
全面表格整理及清楚示意圖
1 不管電腦在進行什麼工作,對 CPU 來說,只是不斷地重複進行擷取(Fetching)、解碼 (Decoding)、執行(Execute)及儲存(Storing)等動作(如下圖所示),而這些重複的動 本書掌握高職學生最適合的複習方式 作稱為「指令週期」或是「機器週期」。 2 擷取、解碼的動作合稱為擷取週期(Fetch Cycle);執行、儲存的動作合稱為執行週期 (Execution Cycle)。 ឯ࠷ၜཚ 說明 動作
ژ
釕
結果為 True,其餘為 False 的運算為 EQV 。 基礎練習
滿分推薦 3 CPU 指令週期:
第 2 章 電腦硬體知識 53
ᚏ
( D )1 在 Word 中, 要 為 所 選 取 的 文 字 加 上 網 底, 可 按 哪 一 個 工 具 鈕? 酎
其餘為 False 的運算為 AND ;輸入值兩者為 False,結果才為 False ,其餘為 True 的運算為 OR ;輸入值兩者不同,結果為 True ,其餘為 False 的運算為 XOR ;輸入值兩者相同,
計算機概論 復習講義
綜合練習
3
為:空白 < 數字(0 < 9) < 英文字母大寫(A < Z)< 英文字母小寫(a < z) <中 文。
൳ ࠫ ᇞ ᒘ ց
1
滿分推薦
Yes,You can
2 在執行模式:由程式設定之,其語法:物件名稱 . 屬性名稱 設定值。 方案總管:
ATX 電源線插槽 cpu
實體照片標示超清楚
前端匯流排 PCI-e16 AGP 插槽
北橋晶片
記憶體 模組
SATA IDE
南橋晶片
PCI PCI-e1
第
15
章
基本程式語言
本章學習目標 1. 程式語言的發展與各種程式語言的特性。 2. 基本資料型態、常數、變數與運算式。 3. 輸入與輸出。 4. 程式語言的基本結構。 5. 陣列的基本觀念。 6. 函數與副程式。
命題分析 本章的命題偏向較簡單的程式語言概念性的題目,例如:程式語言的特性、物 件導向的觀念、運算子、副程式等,較複雜的程式流程控制題目已不多見,但簡單 程式流程控制概念的題目是每年命題重點中的重點,建議同學務必反覆練習,直到 熟練為止,才能在統測中爭取高分。
434 第 15 章 基本程式語言
15-1 程式語言的發展與種類 一 、程式語言 為人類操控電腦的一種語言,由文字、符號及指令所組成,並按一定的格式及語法來編寫。
二 、程式語言的分類
第一代語言
演進 時程
類型
代表語言
第二代語言
低階語言: 機器語言 1 較接近電腦本身的 (Machine 語 言, 人 類 較 難 看 Language) 得懂,故可讀性差。 2 與電腦硬體的結構 有 密 切 的 關 係, 隨 組合語言 著電腦 CPU 的類型 (Assembly 不 同, 可 執 行 的 指 Language) 令 集 也 有 所 不 同, 因此可攜性差。
第三代語言 第四代語言
高階語言: 1 語 法、 指 令 較 接 近 人 類 日 常 的 用 語, 故容易記憶、學習、 編寫。 2 在不同的電腦硬體 架 構 中, 語 言 的 命 令 敘 述 類 似, 可 攜 性高於低階語言。 3 程式需透過直譯器 或編譯器轉換成機 器 語 言, 才 能 被 電 腦執行。 4 執行效能較低階語 言差。
說明 1 由 0 與 1 組成所有的指令與敘述。 2 撰寫完成的程式可直接執行,執行速度最快。 3 對人而言,指令不易記憶、學習及閱讀困難。 1 由簡單的英文縮寫來替代機器語言的指令,例 如:機器語言中 001010 代表「相加」,可以使 用 ADD 替代。 2 電腦無法了解組合語言,所以執行前,需經由組 譯器轉譯成機器語言後才能執行。 3 程式的可讀性仍差,維護、修改不易。
1 根據問題的解決過程來設計程式,並依照指令的 先後順序執行。 程序導向語言 2 撰寫程式必須清楚告訴電腦如何完成目標,每一 (Procedure個步驟及流程必須清楚的告訴電腦。 Oriented 3 大部分傳統的高階語言均屬於此種語言。 Language) 4 例如:FORTRAN、BASIC、COBOL、PASCAL、 C。 1 程式設計是將問題拆成數個物件,藉由組合物 件、建立物件間的互動關係,以解決問題。 物件導向語言 2 程式以物件的觀念為主、並針對撰寫物件發生的 (Object事件,採取適當的反應。 Oriented 3 程式碼可以被重複使用,以減少程式開發時間, Language) 程式的維護也較為容易。 4 例如:C ++、Java、Smalltalk。 問題導向語言 1 只告訴電腦「要做什麼事」,而不需要告訴電腦 如何做,如程式產生器。 (Problem2 常用在資料庫查詢方面,如 SQL(資料庫查詢語 Oriented Language) 言)。
第五代語言
自然語言 (Natural Language)
1 接近人類日常所用的語言。 2 可容忍拼字與語法上的錯誤,接近一般交談的語 言,程式編寫容易。 3 目前仍在發展階段,技術尚未成熟,主要用於知 識庫系統、決策支援系統、人工智慧等。
第 15 章 基本程式語言 435
三 、常見的程式語言 分類
程式語言
說明
應用領域
程序導向
FORTRAN
處理數值的計算能力特別強。
科學與工程的計算
COBOL
1960 年制定,語法較為冗長,類似英文句子。
商業的資料處理
BASIC
1 1965 年美國 Dartmouth 學院所開發,其語法簡單、易學。 適合初學者學習 2 又稱為培基語言。
Pascal
1 1968 年由瑞士威爾斯教授(Prof. N.Wirth)所開發。 2 具有資料結構及資料型態處理能力,且語法嚴謹。 3 具結構化程式的設計原則。
結構化程式語言教 學
C
1 兼具組合語言與高階語言的特性。 2 可攜性高於其他高階語言。 3 UNIX 與 Linux 的核心程式皆是使用 C 來開發。
系統軟體的開發
LISP
1 1958 年由 MIT 開發的程式語言。 人工智慧程式的 2 主要是應用在人工智慧上的語言,用來設計專家系統 開發 (Expert System),常用於推理及圖形辨識方面的研究。
Prolog
1 由法國馬賽大學所設計出來的程式語言。 人工智慧程式的 2 以符號邏輯為基礎,且具有推理性的程式語言,在人工 開發 智慧的領域有很大貢獻。
HTML
超文件標記語言(HyperText Markup Language)。
網頁設計
C++
修改 C 語言的架構,加入了物件導向的特性。
系統軟體的開發
物件導向
1 一個視覺化的程式設計系統,讓使用者能夠輕易的設計 出視窗程式。 適合初學者學習, Visual Basic 2 主要以 Basic 程式碼來撰寫個別物件的相對應事件程序, 應用程式的開發 以設計此物件的行為程式。 3 Visual Basic 為製作視窗應用軟體的良好工具。 Java
1 美國 SUN(昇陽)公司以 C++ 為基礎所開發出來的語 網際網路應用程式 言。 的開發 2 加強了網際網路程式的應用及跨平臺的能力。
Delphi
以 Pascal 語言為核心的視覺化程式開發工具。
Smalltalk
第一個真正物件導向的語言。
程式語言教學
1 ( A )1 下 列 何 種 資 訊 最 有 可 能 是 儲 存 於 電 腦 主 記 憶 體 內 的 機 械 碼 指 令? 酎 0101001000000111 酏 ADD AL#11 釕 PRINT "Visual Basic" 釢 STAND UP PLEASE。 【98 統測】 ( C )2 下 列關於 Java 語言的敘述何者正確? 酎 Java Applet 需經過編譯才能被執 行 酏 只能用來編寫網頁 釕 源自於 C++ 釢 由 IBM 公司所開發出來的語 言。
【94 統測】
436 第 15 章 基本程式語言
( B )3 下 列哪一個程式語言最具有「物件導向」的相關特性? 酎 COBOL 酏 Visual Basic 釕 Fortran 釢 組合語言。 ( C )4 關於程式語言的敘述,下列何者不正確? 酎 機器語言對硬體有很強的控制 能力 酏 Visual Basic 具有視覺化的設計,屬於物件導向語言 釕 組合語言 可以用來寫硬體驅動程式,屬於高階語言 釢 Java 具有物件導向特性,可應 用在網際網路程式。
【95 統測】
( D )5 下列有關程式語言之敘述,何者不正確? 酎 組合語言為低階語言 酏 Java 程式可以在不同作業系統間移植 釕 物件導向語言具封裝、繼承與多型特性 釢 組合語言不需經過組譯即可執行的。
【99 統測】
1 ( B )1 下列有關高階與低階電腦程式語言的比較,何者正確? 酎 高階語言程式撰 寫比較困難 酏 低階語言程式執行速度較快 釕 高階語言程式除錯比較困難 釢 低階語言程式維護比較容易。
【96 統測】
( C )2 下列哪一種程式不是物件導向程式語言? 酎 C++ 酏 Java 釕 Pascal 釢 Smalltalk。
【93 統測】
( B )3 機器語言及組合語言是屬於下列何種程式語言類別? 酎 物件導向語言 酏 低階語言 釕 中階語言 釢 高階語言。
【101 統測】
( A )4 程式設計師通常不使用機器語言來撰寫程式,其原因是 酎 機器語言可讀性 差 酏 機器語言須經編譯才能執行 釕 機器語言執行速度慢 釢 機器語言指 令功能少。
【94 統測】
( C )5 有關電腦語言敘述下列何者是錯誤的? 酎 UNIX 作業系統部分以 C 語言 撰寫 酏 C 語言是一種高階語言 釕 組合語言是一系列 0 與 1 數字所構成的 釢 COBOL 適用於商業資料處理。
【97 統測】
四 、程式語言的翻譯程式 1 程式語言翻譯程式:將程式語言翻譯成電腦可以執行的語言(機器語言)。 2 程式語言翻譯程式的種類:分為組譯器、編譯器及直譯器三種,其翻譯過程如下圖所示。
第 15 章 基本程式語言 437
3 程式語言翻譯程式的特性: 種類
特性 1 將所撰寫的組合語言程式,利用組譯程序將整個原始程式翻譯成目的程式 (機器語言),再與其他的程序連結後產生執行檔,並儲存在磁碟中。
組譯器 (Assembler)
2 每次要執行時,必須透過載入程式,載入至主記憶體中執行(下次執行時, 不需重新組譯)。 3 不同的 CPU 有不同的組合語言與組譯程式。 1 將所撰寫的高階語言程式,利用編譯程序將整個原始程式翻譯成目的程式, 再與其他的程序連結後產生執行檔,並儲存在磁碟中。
編譯器 (Compiler)
2 每次要執行時,須透過載入程式,載入至主記憶體中執行(下次執行時,不 需重新編譯,效率高於直譯器)。 3 不同的高階語言有不同的編譯程式。 1 翻譯時,讀入一行原始程式就翻譯一行,翻譯後就立即執行,執行後拋棄機 器碼,再讀入下一行原始程式,重複上述動作。
直(解)譯器 2 如果翻譯過程,遇到錯誤就立即停止翻譯。 (Interpreter) 3 每次執行同一個程式時,就須重新執行翻譯動作(因為翻譯後的機器碼沒有 存檔)。 4 翻譯過程中,不會產生目的程式。 4 組譯器、直譯器、編譯器的比較: 組譯器
編譯器
直譯器
目的程式
有
有
無
執行速度
最快
快
慢
翻譯處理及 組譯 1 次可以執行 編譯 1 次可以執行 每次執行皆須直譯 1 次 程式的執行 N 次 N次 程式開發 偵錯
最困難、複雜
困難
較大的程式,偵錯不易。 (可檢查程式的語法錯誤)
較為容易、簡單 採用交談式,一有錯誤立即停止在錯誤的地 方,偵錯容易。(可檢查程式的語法錯誤)
1 可看成整批翻譯,翻譯後存成可執 1 可看成即時翻譯,即讀入一行程式就翻 翻譯方式
行檔。
譯一行,翻譯後立即執行,執行後捨棄
2 每次要執行時,再次載入可執行檔 即可。
翻譯後的程式(機器碼)。 2 每次要執行,皆需重複翻譯的動作。
5 程式語言的翻譯程式: 翻譯程式
程式語言
組譯程式(Assembler) MS Assembler、Turbo Assembler 編譯程式(Compiler)
COBOL、C、C++、Pascal、Delphi、FORTAN、Java
直譯程式(Interpreter) GWBASIC、QBASIC、HTML
Quick Basic Visual Basic
438 第 15 章 基本程式語言
2 ( C )1 下 列何種程式可將高階語言轉換成機器語言? 酎 資料庫程式 酏 試算表 釕 編譯程式 釢 套裝軟體。 ( C )2 下列關於編譯器的敘述何者正確? 酎 不會產生目的程式(.obj) 酏 可以 產生執行檔並執行 釕 可以檢查原始程式之語法錯誤 釢 可以檢查出原始程 式之邏輯性錯誤。 ( B )3 當 程式組譯成目的檔(.obj)後,必須再使用下列哪一個公用程式才能獲得 可執行檔(.exe)? 酎 編輯程式(Editor) 酏 連結程式(Linker) 釕 組 譯程式(Assembler) 釢 偵錯程式(Debugger)。
【94 統測】
編譯程式原始碼、沴 編寫程式原始碼、沊 載入可執行程式碼、沝 產生程式 ( D )4 泝 目的碼、沀 連結程式目的碼,下列何種順序是正確的程式編寫與編譯過程? 酎 沴 沀 沊 泝 沝 酏 沴 沀 泝 沝 沊 釕 沴 泝 沀 沝 沊 釢 沴 泝 沝 沀 沊 。
2
【99 統測】
( A )1 利用下列何種程式語言所撰寫的原始程式碼交由機器執行前,不需要經過編 譯器(Compiler)或直譯器(Interpreter)的處理? 酎 組合語言(Assembly Language) 酏 C++ 語言 釕 Fortran 釢 Visual Basic。 ( B )2 下列何者不是一般的高階語言程式編譯器(Compiler),在編譯高階語言原 始程式碼時,會進行的編譯步驟? 酎 原始程式碼之掃描 酏 修正原始程式 碼的錯誤語法 釕 語法語意分析 釢 產生中間碼或目的碼。
【99 統測】
( C )3 下 列何者屬於直譯式語言? 酎 C++ 酏 Pascal 釕 BASIC 釢 Delphi。 【93 統測】 ( C )4 下 列 何 者 是 一 種 語 言 處 理( 翻 譯 ) 程 式? 酎 Debugger 酏 Editor 釕 Interpreter 釢 Loader。
【94 統測】
五 、物件導向程式設計(Object Oriented Programming,OOP) 1 物件導向(Object Oriented)的觀念:日常生活中每個東西(物件:Object)都有自己的運作方 式(方法:Method)及特質(屬性:Property)。將此觀念運用在程式設計中,解決問題中個體 的操作程序一個一個的封裝起來,成為一個一個的物件,而程式設計的思考重心,便放在物件 彼此的關係上,並利用訊息(Message)傳遞作為物件間的溝通,以完成程式的設計。 2 物件(Object): 1 即「東西」、「物品」的代名詞,在日常生活中,實際存在的東西都可以稱之為物件。例 如:電腦、書、桌子等。 2 每個物件都是由屬性(Property)、事件(Event)與方法(Method)三要素所構成。 3 屬性(Property): 1 屬性可以說就是物件的特徵,用來「說明」兩個相同類型物件的不同。例如:我們可以使用 「姓名」、「性別」、「膚色」、「身高」、「體重」、「年齡」、「髮長」等特徵來描述 一個人。
第 15 章 基本程式語言 439
2 每一個物件的「屬性」有其對應的「屬性值」。「屬性值」可使物件更「具象化」。例如: 類別 人
屬性
姓名
性別
膚色
身高
體重
年齡
髮長
物件 1
小明
男
黃色
179 cm
60 kg
20
短髮
物件 2
小美
女
黑色
160 cm
40 kg
20
長髮
由上表可知「人」類別中的物件 1、物件 2,經由「屬性值」的設定後就可得到姓名為「小 明」、「小美」這兩個物件。並由不同屬性值的設定,可以看出這兩個「人」的不同。 4 事件(Event): 1 「事件」是一種「情況」,例如:「打一下」、「摸一下」。
2 事件通常會發生或作用在一個物件上,例如:打一下「小明」,摸一下「小狗」,此例可以
解釋為「打一下」這個事件發生在「小明」這個物件上。 3 事件程序則為物件針對事件所做出的反應。 例如:打一下小明,則小明大叫;其中「打一下」為事件,而「小明大叫」則為事件程序。 5 方法(Method): 方法可以看成是「物件」與生具備的「本能」。在程式設計中,「可以作用」在物件上的「內 建指令」,稱為「方法」。而不能作用在物件上的「指令」則不能稱為「方法」。 6 類別(Class): 「物件」的模型或樣板,只要從相同「類別」生成的「物件」均具有相近的屬性、事件與方法。 例如:上述屬性的例子中,由「人」類別可以生成「小明」、「小美」這兩個物件,這兩個物 件具有相同的事件、方法與屬性,但由於設定的屬性值不同,而產生不同物件特質。 7 物件導向語言的特性: 特性
說明 1 即類別的相關資訊隱藏,在設計程式時,只要知道物件屬性、方法、事件
的特性及使用方式,而不需了解物件的屬性、方法、事件是如何設計的。 封裝性 2 例如:要撥打手機給朋友,只要在手機上輸入對方的電話號碼,再按撥打 (Encapsulation) 鍵即可,但我們不需知道手機如何與朋友的手機連線通話。 3 可以降低設計及維護程式成本,達到軟體 IC 的理想。 1 物 件導向語言皆會提供一些基本的類別,如果這些類別不符使用時,可
繼承性 (Inheritance)
從這些基本類別中衍生出新的類別,這個新的類別可以承襲基本類別的屬 性、方法及事件,以省去撰寫相同程式碼的時間。 2 例 如:「龍騰家商學生」是一個基本類別,如果還要定義一個「龍騰家 商資處科學生」類別,則可從「龍騰家商學生」來衍生「龍騰家商資處 科學生」類別,並繼承「龍騰家商學生」所有的特性,而不需重新定義 (Redefine)一個新的類別。「龍騰家商學生」為父類別,而「龍騰家商 資處科學生」為子類別。 1 子類別透過繼承的方式可以承襲父類別的功能,若子類別繼承的「方法」
多型性 (Polymorphism)
不符合需求,可以重新定義或修改其「方法」,以滿足其個別需求。 2 父類別和子類別之間可以擁有相同名稱但功能不同的「方法」。 3 例 如:「龍騰家商學生」這個類別有一個「上學時間」的方法規定為 「7:40 以後算遲到」,「龍騰家商資處科學生」繼承了「龍騰家商學生」 的所有特性,但「上學時間」這個方法不符使用,可將其改為「7:30 以 後算遲到」,所以兩個類別都擁有一個「上學時間」的方法,但其方法的 內容不同。
440 第 15 章 基本程式語言
3 ( C )1 在 物件導向的程式設計中,子類別會具備父類別的基本特性(包括屬性和 方法),此種特性稱為 酎 封裝性 酏 抽象性 釕 繼承性 釢 多態性。 【98 統測】 ( D )2 在 下列物件導向語言的特性中,哪一種特性是指每一個物件都包含許多 不 同「 屬 性 」 及 眾 多 針 對 不 同「 事 件 」 而 回 應 的「 方 法 」? 酎 抽 象 性 (Abstraction) 酏 多型性(Polymorphism) 釕 繼承性(Inheritance) 釢 包裝性(Encapsulation)。
【94 統測】
( C )3 在 物件導向程式語言中,父類別和子類別之間可以擁有相同名稱但不同功 能 的 方 法(Method), 此 種 特 性 稱 為 酎 封 裝(Encapsulation) 酏 繼 承 (Inheritance) 釕 多型(Polymorphism) 釢 委派(Delegation)。 【95 統測】 ( D )4 當 程式設計師以物件導向方式開發一個「校務行政課程管理系統」時,下 列何 者通常不會以類別來表示? 酎 學生 酏 教師 釕 課程 釢 姓名。 【93 統測】 ( C )5 下 列哪一項不是物件導向語言具有的特性? 酎 封裝 酏 繼承 釕 類別 釢 多型。
【96 統測】
3 ( C )1 在物件導向的觀念中,下列何者表示某類別之屬性? 酎 電視在播放 DVD 影片 酏 電腦在編譯 VB 程式 釕 電鍋使用 110 伏特電壓 釢 電子雞在唱 KTV。
【94 統測】
( B )2 在物件導向的觀念中,我們定義了「人」及其相關的一些特性,然後我們可 以從「人」這個基礎,產生「美國人」、「英國人」、「臺灣人」等物件。 在物件導向的觀念中,「人」是一種什麼? 酎 屬性 酏 類別 釕 繼承 釢 包裝。 ( C )3 在物件導向程式語言中,下列何者可以表達「子類別可以沿用父類別之 屬 性(Attributes) 與 方 法(Methods)」 的 概 念? 酎 資 料 抽 象 性(Data Abstraction) 酏 多型性(Polymorphism) 釕 繼承性(Inheritance) 釢 超 載(Overload)。
【98 二技】
( C )4 在物件導向程式語言中,用於描述物件外觀、大小、位置等的特徵值,稱之 為何? 酎 方法 酏 繼承 釕 屬性 釢 裝封。
【101 統測】
( D )5 下 列 哪 一 種 程 式 語 言, 同 時 具 有 封 裝 性、 繼 承 性 及 多 型 性 的 特 性? 酎 BASIC 酏 COBOL 釕 FORTRAN 釢 JAVA。
【97 統測】
第 15 章 基本程式語言 441
基礎練習 填充題 1 低階語言較接近電腦本身的語言,人類較難看得懂,可讀性較差,執行的速度快。 機器 語 言及 組合 語言皆屬於此類語言。 2 高階語言的語法、指令較接近人類日常的用語,故容易記憶、學習、編寫。此類語言又可分為 程序導向 語言、 物件導向 語言及問題導向語言。 3 機器 語言由 0 與 1 組成所有的指令與敘述,撰寫完成的程式可直接執行,執行速度最快; 又屬於第 一 代語言。 4 組合語言 由簡單的英文縮寫來替代 0 與 1 組成的指令,由於電腦無法了解這些英文縮寫, 所以需組譯器轉譯成機器語言後才能執行;此類語言屬於第 二 代語言。 5 程序導向 語言是根據問題的解決過程來設計,並依照指令的先後順序執行,屬於第 三 代語言。 6 物件導向 語言是將問題拆成數個物件,藉由組合物件、建立物件間的互動關係,以解決問 題,而程式以物件的觀念為主、並撰寫針對物件發生的事件,採取適當的反應,屬於第 三 代語言。 7 問題導向 語言只告訴電腦「要做什麼事」,而不需要告訴電腦如何做,如程式產生器,屬 於第 四 代語言。 8 自然 語言接近人類日常所用的語言,可容忍拼字與語法上的錯誤,接近一般交談的語言, 程式編寫容易,屬於第 五 代語言。 9 組譯器 將所撰寫的組合語言翻譯成目的程式,再與其他的程序連結後產生執行檔,並儲存 在磁碟中。 0 編譯器 將所撰寫的高階語言原始程式翻譯成目的程式,再與其他的程序連結後產生可執行 檔,並儲存在磁碟中。 q 直(解)譯器 翻譯時,讀入一行原始程式就翻譯一行,翻譯後就立即執行,執行後拋棄機 器碼,再讀入下一行原始程式,重複上述動作。 w 類別 可以看成「物件」的模型或樣板,只要從其生成的「物件」均具有相近的特質與方 法。 e 物件 即「東西」、「物品」。例如:電腦、書、桌子等。 r 屬性 可以說就是物件的特徵,用來「說明」兩個相同類型物件的不同。 事件 是一種 「情況」或「動作」。 t 方法 可以看成是「物件」與生具備的「本能」。在程式設計中,「可以作用」在物件上的 「內建指令」或「內建函數」。 基礎練習
442 第 15 章 基本程式語言
15-2 基本資料型態、常數、變數與運算式 一 、變數(Variable) 1 變數為系統所配置用來存放資料的記憶體,在程式執行的過程中,可以改變變數的內容。 2 變數由四個部分所組成:
1 變數位址:資料儲存在記憶體中的真實位址。
2 變數名稱:因要儲存記憶體中的資料時,須使用記憶體的真實位址,而記憶位址太難記憶, 故程式設計人員通常會使用有意義的英文,來替代「記憶體位址」而存取記憶體中的資料。
3 變數內容:資料所儲存在記憶體的值。
4 變 數型態:變數可儲存值的型態,以決定變數使用記憶體的 大小及儲存資料類型。 例如:如右圖系統配置一個位址為 0006H 的記憶體給變數 var1, 其中 var1 為變數名稱,0006H 為變數位址,變數內容為 0,變數 型態為整數。
3 變數名稱的命名規則: VB6.0
VB2010
1 變 數名稱第一個字元必須是英文字母或中 變數名稱第一個字元必須是英文字母、中文字 或底線。
文字。
2 第二字元以後只能為英文字母、中文、數字或底線,不能為其他的符號。 3 不可以使用系統保留字(系統預設的指令等,例如:End、For、……)。 4 變數名稱長度不可超過 255 個字元。
變數名稱長度不可超過 1023 個字元。
5 英文字母大小寫視為相同。 6 在同一個程序內不能有重複的變數名稱。 錯誤變數範例,如下表: 變數名稱
錯誤原因
Defg
變數中不能有「」,違反第 2 條規定。
5A_B
變數第一個字元不能是數字,違反第 1 條規定。
A#5 LOOP
變數中不能有「#」,違反第 2 條規定。 不可以使用系統保留字,違反第 3 條規定。
第 15 章 基本程式語言 443
4 Visual Basic 的資料型態: 下表為變數宣告時常用到的資料型態、英文名稱及宣告的符號,以決定配置記憶體的大小。 VB6.0
型態
資料型態
符號
儲存空間
說明
儲存空間
範圍:
1 Byte
說明 範圍:
數值資料 文字資料
正整數 Byte
無
1 Byte
短整數 Short
無
無
%
2 Bytes
長整數 Long
&
4 Bytes
單精度 Single
!
4 Bytes
可儲存實數
4 Bytes
可儲存實數
倍精度 Double
#
8 Bytes
可儲存實數
8 Bytes
可儲存實數
無
無
2 Bytes
整數
Integer
字元
Char
無
字串
String
$
布林資料
Boolean
無
2 Bytes
日期資料
Date
無
8 Bytes
無
依平臺而異
不定型 Variant(VB6.0) 資料
VB2010
Object(VB2010)
8
0 ∼ 2 1
2 Bytes
無 範圍: 15
15
4 Bytes
31
8 Bytes
2 ∼ 2 1 範圍: 31
2 ∼ 2 1
0 ∼ 281 範圍: 215 ∼ 2151 範圍: 231 ∼ 2311 範圍: 263 ∼ 2631
每一個字元 可使用固定長度 每個字元
無法使用固定長度
2 Bytes
String*N
String*N True(真) 或 False(假)
2 Bytes 2 Bytes
True(真) 或 False(假)
8 Bytes 可儲存上述任一 依 平 臺 而 可儲存上述任一資 資料型態
異
料型態
5 變數宣告的方式: VB6.0 1 變數名稱 型別符號 2 Dim 變數名稱 [ 型態符號 ] 範例: var1% ' 宣告成整數型態 var2# ' 宣告成倍精度型態 Dim var3$ ' 宣告成字串型態 3 Dim 變數名稱 [As 資料型態 ] ' 若省略 As 資料型態英文名稱則為「不定型變數」。 範例: Dim var1 As Integer ' 宣告成整數型態 Dim var2 As Double ' 宣告成倍精度型態 Dim var3 As String ' 宣告成字串型態 Dim var4, var5 As Integer 'var4 被 宣 告 成 不定型變數,var5 為整數型態
VB2010 1 Dim 變數名稱 [ 型態符號 ][ 初始值 ] 範例: Dim var1% ' 宣告成整數型態沒有設定初值 Dim var2# ' 宣告成倍精度型態沒有設定初值 Dim var3$ "ABC" ' 宣告成字串型態且初值 為 "ABC" 2 Dim 變數名稱 [As 資料型態 ][ 初始值 ],若 沒有指定資料型態,預設為物件(Object)型 態。範例: Dim var1 As Integer 10 ' 宣告成整數型態且 初值為 10 Dim var2 As Double ' 宣告成倍精準度型態 Dim var3 As String ' 宣告成字串型態 Dim var4, var5 As Integer 'var4,var5 皆 為 整 數型態
444 第 15 章 基本程式語言
VB6.0
VB2010
1 VB6.0 在宣告變數時無法指定初值,但 VB2010 可以。 2 VB6.0 變數沒有宣告,亦可以使用,但 VB2010 在預設狀況下,沒有宣告的變數則無法使用, 除非設定 Option Explicit Off。 6 變數與記憶體的關係: 指令
變數與記憶體的關係
Dim A As Integer Dim B As Integer 系統配置 0006H 記憶體給變數 A,配置 0009H 記憶體給 B,因為資料型別為「整數」,所以兩者初值皆為 0。 A5:B10 將 5 設定變數 A,所以變數 A 與記憶體位址 0006H 的內 容為 5,將 10 設定變數 B,記憶體位址 0009H 與變數 B 的內容為 10。其中「」為設定的意思,即將右邊的運 算結果設定給左邊的變數。 「」左邊只能是一個變數,而不能是運算式或常數。 「」右邊可以是常數、變數、運算式。 AAB 將變數 A 的內容與變數 B 的內容相加(也就是將記憶體 位址 0006H 與 0009H 內容值相加)後,將結果再設定給 變數 A,這時變數 A 的內容會被更改為 15,而變數 B 的 內容不會變。
7 若設定給整數或長整數變數的值含有小數時,會採取下列動作: 1 小數部分> 0.5 則進位。
2 小數部分< 0.5 則捨去小數部分。
3 若小數部分 0.5,整數部分為奇數則進位,為偶數則捨掉小數。 例如: Dim A As Integer
A 變數的內容
A4.4
4(小數部分< 0.5,則捨到小數部分)
A4.5
4(若小數部分 0.5,整數部分為偶數則捨掉小數)
A4.51
5(小數部分> 0.5 則進位)
A3.5
4(若小數部分 0.5,整數部分為奇數則進位)
第 15 章 基本程式語言 445
8 不定型變數: VB6.0
VB2010
1 變數未宣告或變數宣告時,若不指定資料型 1 變數不宣告或變數宣告時,若不指定資料型 態,則預設為不定型變數(Variant)。
態,則預設為物件型態(Object)。
2 不定型變數的資料型別,由設定時的資料型 2 物件型態的資料型別,由設定時的資料型態 態決定。例如設定 A2,此時 A 變數為整
決定。例如設定 A2,此時 A 變數為整數,
數,若再設定 A"ABC",此時 A 變數為字
若再設定 A"ABC",此時 A 變數為字串變
串變數。
數。
3 Dim A,B As Integer 變數 A 為不定型(因 3 Dim A,B As Integer 變數 A 及變數 B 皆為 為沒有 As 資料型別),變數 B 為整數。
整數。
9 變數的初值: VB6.0
VB2010
1 數值變數(整數、長整數、單精準度、倍精 1 數值變數(短整數、整數、長整數、單精準 準度)的初值為 0。
度、倍精準度)的初值為 0。
2 字串變數的初值為空字串("")。
2 字串變數的初值為 NULL。
3 不定型變數的初值為 Empty。
3 物件變數的初值為 NULL。
4 布林變數的初值為 False。
4 布林變數的初值為 False。
5 日期變數的初值為 #12:00:00 AM#。
5 日期變數的初值為 #12:00:00AM#。 若將 Nothing 指定給變數,就會將其宣告型別的 預設值指定給變數。
0 變數的生命範圍: VB6.0
VB2010
1 區域變數:變數宣告在某特定程序內,則可 1 區域變數:變數宣告在某特定程序內,則可 作用至整個程序,若執行時跳脫程序,則該
作用至整個程序,若執行時跳脫程序,則該
變數也會被系統收回。
變數也會被系統收回。
例如:Private Sub 程序 A(...)
例如:Private Sub 程序 A(...)
Dim a
Dim a
For i1 to 10 step 2
For i as integer1 to 10 step 2
Dim c as integer
Dim c as integer
…
…
Next i
Next i
End sub
End sub
其中變數 a、i、c 的生命範圍為整個程序 A。 2 公用變數:變數宣告在表單程式的一開始,
其中變數 a 的生命範圍為整個程序 A,而變 數 i 與 c 的生命範圍只有在 For... Next i。
則所有宣告的變數生命範圍為整個表單檔中 2 公用變數:變數宣告在 Public Class 底下,則 所有程序皆可以使用。
所有宣告的變數生命範圍為 Public Class 中 所有程序皆可以使用。
446 第 15 章 基本程式語言
1 ( A )1 在 Visual Basic 語 言 中, 下 列 哪 一 個 是 合 法 的 變 數 名 稱? 酎 nEw_7day 酏 %width 釕 5dollars 釢 #height。
【94 統測】
( A )2 下列 Visual Basic 宣告敘述,何者不正確? 酎 Dim Print As Integer 酏 Dim T As String 釕 Dim A(19) As Integer 釢 Dim Beauty As Boolean。 【101 統測】 ( D )3 下列 Visual Basic 6.0 程式語言之變數宣告,占用記憶體空間最大者為何? 酎 Dim AA% 酏 Dim AA& 釕 Dim AA! 釢 Dim AA#。 ( B )4 在 Visual Basic 中, 位 元 組(Byte) 資 料 型 態 可 儲 存 的 最 大 數 字 為 何? 酎 127 酏 255 釕 32767 釢 65535。
【101 統測】
( D )5 在 Visual Basic 中,下列哪一種資料型態所占用的記憶體空間最多? 酎 整 數( Integer ) 酏 正整數(Byte) 釕 單精準度浮點數( Single-precision Floating-point ) 釢 倍精準度浮點數( Double-precision Floating-point )。
1 ( D )1 下列何者是 Visual Basic 語言宣告變數的保留字? 酎 Rem 酏 Const 釕 As 釢 Dim。 ( C )2 根據 Visual Basic 變數與常數命名的規則,下列何者是正確的變數或常數名 稱? 酎 Case 酏 Sub 釕 Tha 釢 Then。
【100 統測】
( C )3 BASIC 語言,當變數 test 宣告成下列哪一種資料型態時,所需的記憶體最 多? 酎 Boolean 酏 Integer 釕 Double 釢 Single。 ( D )4 下列何者不屬於 Visual Basic 程式語法中資料型態的符號? 酎 String 酏 Boolean 釕 Date 釢 Int。
【98 統測】
( D )5 在 Visual Basic 程式中,想要宣告一個數值變數用來儲存成績資料的平均值, 精確度必須達小數點後兩位,那麼在 Dim 的指令中,應該要使用下列哪一種 資料型態? 酎 Byte 酏 Integer 釕 Long 釢 Single。
【100 統測】
( D )6 以 下 四 種 Visual Basic 的 資 料 型 別, 何 者 占 用 最 多 的 記 憶 體? 酎 布 林 (Boolean) 酏 單精準度浮點數(Single) 釕 整數(Integer) 釢 日期時 間(Date)。
第 15 章 基本程式語言 447
二 、常數 1 常數:為一個固定的值,程式執行的過程中,不能改變其資料值,若在程式中試圖改變其值, 在編譯或直譯時就會產生錯誤訊息。 2 在 VB 中常數的類別有: 常數類型
說明 1 不含有小數點的數值資料,包含正整數、負整數及零,但不能有千分號。 2 有三種表示法:
數值常數
• 十進位(不加任何前導字元),例如:10、0、100。 • 八進位(前導字元為「&O」或「&」),例如:&O17。
整數常數
• 十六進位(前導字元為「&H」),例如:&H1A2B。 3 若使用 Debug.Print 輸出,則轉換成十進位數輸出。
實數常數
分為定點數及浮點數: 1 定點數:含有小數點的數值資料。例如:1.204、0.567。 2 浮點數:使用指數的形式(類似科學記號)來表示。例如:1.54E8 表示 1.54108。 1 字串資料前後須使用「雙引號」。例如:" 計算機概論 "、"1234"、"AB123"。
字串常數
2 空字串為「""」,而「" "」為一個空格的字串,兩者不一樣。 3 Visual Basic 採用 Unicode 編號,故每個字元所占記憶體空間為 2 Bytes。
日期常數 時間常數 布林常數
1 日期常數前後須使用「#」,而年、月、日之間以「/」來分隔。 2 格式為 #yyyy/mm/dd#,例如:#2007/10/1#。 1 時間常數前後須使用「#」,而時、分、秒之間以「:」分隔。 2 格式為 # 時 : 分 : 秒 AM/PM#,例如:#10:25:24 AM#。 條 件 成 立 以「True」 表 示, 條 件 不 成 立 以「False」 表 示, 若 轉 換 為 數 值 時 True1,False0。
3 常數的宣告: 語法:Const 常數名稱 [As 資料型別 ] 常數值 Const 常數名稱 [ 型態符號 ] 常數值 例如:要計算半徑為 10 公分的圓形面積時,會使用圓周率,故將圓周率宣告成常數。 Const PI As Single3.14159 A10*10*PI (PI 就會以 3.14159 來取代,A314.159) PI3.14 (執行這個敘述時,因試圖更改 PI 的值,則會產生錯誤訊息) Debug.print (A)
448 第 15 章 基本程式語言
2 ( A )1 Visual Basic 程式語言中,執行 Debug.Print &O20 可以得到哪一個數值? 酎 16 酏 24 釕 26 釢 30。 ( C )2 有 關 BASIC 程 式 語 言, 下 列 哪 一 字 串 常 數 是 錯 誤 的? 酎 "538.76" 酏 "6,579.348" 釕 TOM 釢 "5,239.448"。 ( C )3 BASIC 敘述中,Const A As Long1000000,此敘述宣告 A 為 酎 長整數變 數 酏 整數變數 釕 長整數常數 釢 整數常數。 ( D )4 下 列 Visual Basic 程 式 片 段 執 行 時, 會 在 哪 裡 產 生 錯 誤? 酎 Const A As Integer2 酏 Dim B As Integer 釕 B1 釢 AB。
【99 統測】
Const A As Integer2 Dim B As Integer B1 AB
2
( B )1 有關 Visual Basic 程式語言,下列哪一數值常數是錯誤的? 酎 1.28E12 酏 5,462 釕 723 釢 389。 ( C )2 關於字串常數的敘述,下列何者錯誤? 酎 字串常數的起始必須用 " " 來包 含其中資料 酏 字串常數不可做算術運算 釕 字串常數後面要加 $ 符號,以 便與數值常數作為區隔 釢 若要合併兩字串,可使用 加號。 ( A )3 在 宣 告 常 數 時, 可 以 使 用 下 列 哪 一 個 指 令? 酎 Const 酏 Dim 釕 Rem 釢 Var。 ( D )4 在 Visual Basic 中,下列何者為正確日期資料? 酎 $1/1/2012$ 酏 @1/1/2012@ 釕 % 1/1/2012% 釢 #1/1/2012#。
【101 統測】
三 、運算式 1 是由運算符號(Operator)與運算資料(Operand)所組成。 2 運算資料(Operand):又稱為運算元,可以是常數、變數、函數或運算式。 3 運算符號(Operator):又稱為運算子,為運算式中介於運算資料之間的符號。 4 Visual Basic 的運算符號:分為算術運算符號、串接運算符號、比較運算符號、邏輯運算符號。
第 15 章 基本程式語言 449
四 、算術運算符號 優先 運算
說明
順序 符號 1
() 括號中的運算式最優先運算 Y
2
^
指數:X^YX
3
負號:與數學的負號同義
*
乘法:與數學乘法相同
4
/
除法:與數學除法相同(真“正”的除法,斜率 為正,與舉起右手 ( 臺語“正手”) 的方向相同)
範例 (53)*98*972 2^3238 8^264,(8)^264 Dim As Integer : a2 則 a^24 8*756 10 / 42.5
兩數相除取商數:(“不是真正”的除法,斜率 為負,與舉起左手 ( 臺語“副手”) 的方向相同) 如果除數與被除數不為整數時,以下方法取整 5
\
數: 1 小數部分> 0.5 則進位。 2 小數部分< 0.5 則捨去小數部分。 3 小數部分 0.5,整數部分為奇數則進位,為
10 \ 3(3 餘 1)3(取商) 10.4 \ 3
9.5 \ 3
10 \ 3
10 \ 3
3 餘 1
3 餘 1
3(取商)
3(取商)
偶數則捨去小數。 VB6.0 取餘數:
10 Mod 3(3 餘 1)
如果除數與被除數不為整數時,以下方法取整 1(取餘) 10.4 Mod 3 數:
6
Mod
1 小數部分> 0.5 則進位。 2 小數部分< 0.5 則捨去小數部分。
10 Mod 3
10 Mod 3
3 餘 1
3 餘 1
3 小數部分 0.5,整數部分為奇數則進位,為
1(取餘)
1(取餘)
偶數則捨去小數。 VB2010
10 Mod 3(3 餘 1)
取餘數:
1(取餘)
如果除數與被除數不為整數時,不需取整數, 而是直接取餘數,餘數會有小數點
7
9.5 Mod 3
10.4 Mod 3
9.5 Mod 3
3 餘 1.4
3 餘 0.5
1.4(取餘)
0.5(取餘)
加法:與數學加號同義
51015
減法:與數學減號同義
5105
450 第 15 章 基本程式語言
3
3
1 Debug.Print(16 / 42^5*8 Mod 720)
1 Debug.Print(2^2 / 2*23*4^2 / 26)
結果為何?
結果為何?
解:16 / 42^5*8 Mod 720
解:2^2 / 2*23*4^2 / 26
16 / 432*8 Mod 720
4 / 2*23*4^2 / 26
432*8 Mod 720
4 / 2*23*16 / 26
4256 Mod 720
2*23*16 / 26
4420
43*16 / 26
020
448 / 26
20
4246 206
2 2 將代數式 x b b 4ac 以 VB 語 2a 言表示。
14
2 將代數式 x
A 2C 以 VB 語言表示。 B
解:xA / B^0.52*C
解:x(b(b^24*a*c)^0.5)/(2*a) 或 x(b(b^24*a*c)^(1 / 2)) /(2*a) 或 x(b(b^24*a*c)^0.5)/ 2 / a
五 、串接運算符號 優先 運算 優先 運算
說明
順序 種類 順序 符號
範例
1 「&」兩邊運算元無論是 A123 & 456 → 變數 A 的值為 "123456" 字串或數字資料皆為串接 A"Windows" & 98 → 變 數 A 的 值 為 &
"Windows98"
2 串接運算後結果為字串資 A"Windows" & "XP" → 變數 A 的值為 料。
由左至右
串接運算符號
2
運算。
"WindowsXP"
1 「」號兩邊的資料型態 須相同才能運算。 2 「」號兩邊皆為數值資
料,則為數值運算。 3 「」 號 一 邊 為 數 字 資 料,一邊為純數字字串, 會將純數字字串轉成數值 資料,並做數值運算。
A"Windows"2000 → 產生錯誤 A123456 → 變數 A 的值為 579 A123"456" → 變數 A 的值為 579 A"Windows""XP" → 變數 A 的值為 "WindowsXP"
第 15 章 基本程式語言 451
4
4
1 Debug.Print(31"1"(3 & 1)& (31))
1 Debug.Print(12"12" & "12") 解:12"12" & "12"
解:31"1"(3 & 1)&(31)
24 & "12"
4"1"(3 & 1)&(31)
"2412"
5"31" & 436 & 4"364"
2 D ebug.Print("3""1"(3 & 1)
2 AB23 Debug.Print("AB" & 3 AB & AB)
(31)) 解:"3""1""31"4
解:"AB" & 3 23 & 23
"31" "31"4
"AB" & 26 & 23
"3131"43135
"AB26" & 23"AB2623"
六 、比較運算符號、邏輯運算符號 運算 優先 運算 種類 順序 符號
說明
範例
優先順序相等
比較運算符號
>
大於
5 > 3True,#5/5/2012# > #5/6/2012#False
<
小於
5 < 3False,True < FalseTrue
等於
53 False
> 大於等於
6 > 3True
< 小於等於
6 < 6True
<> 不等於
8 <> 9True
比較運算式用於比較字串時,會依比較字串中各字元順序的 ASCII 碼大小比較。 大小順序為:空白<數字(0 < 9)<英文字母大寫(A < Z)<英文字母小寫(a < z) <中文。 日期時間較晚者>日期時間較早,True(1)< False(0)。
邏輯運算符號
1
NOT
2
AND
3
OR
4
XOR
輸入值與結果反向
1 T 或 1 代表真(True);F 或 0 代表假(False)
輸入值兩者為 True,結果
X
Y NOT X AND
才為 True,其餘為 False
F
F
T
輸入值兩者為 False,結果
F
T
T T
才為 False,其餘為 True 輸入值兩者不同,結果為 True,其餘為 False
OR
XOR
EQV
F
F
F
T
T
F
T
T
F
F
F
F
T
T
F
T
F
T
T
F
T
2 位元運算:若邏輯運算兩邊皆 為數字時,則將兩邊數字化成
5
EQV
輸入值兩者相同,結果為 True,其餘為 False
2 進制,再進行邏輯運算。 例如:9 And 5 其結果為(若資
1001 And 0101 0001
料以 4 位元儲存) 比較運算的一邊為數字資料,一邊為純數字字串,會將純數字字串轉成數值資料,並做比較運算。
452 第 15 章 基本程式語言
指定運算:(只有 VB2010 才有,VB6.0 沒有) 指定運算
說明
A3
AA3
A3
AA3
A*3
AA*3
A/3
AA/3
A\3
AA\3
A^3
AA^3
A&"3"
AA & "3"
A"3"
AA"3"
5
5
1 VB 運算式 NOT(10 > 15)AND(456
1 VB 運 算 式 7 > 5 AND 3 < 6 OR 8 >
< "123")
510
解:NOT(10 > 15)AND(456 < "123")
解:7 > 5 AND 3 < 6 OR 8 > 510
NOT False AND False
7 > 5 AND 3 < 6 OR 8 > 15
True AND False
True AND True OR False
False
True OR False True
2 VB 運算式 NOT(3^26)OR(6 <> 3*2)
2 VB 運算式 "123""456""579"
解:NOT(3^26)OR(6 <> 3*2)
"123456""579"
NOT(96)OR(6 <> 6)
False
解:"123""456""579"
NOT False OR False True OR False True
七 、綜合運算式 運算的優先順序依序為:1 算術運算 2 串接運算 3 比較運算 4 邏輯運算。
第 15 章 基本程式語言 453
6
6
1 VB 運算式 NOT 3 > 25 AND (5 > 2 OR
1 VB 運 算 式 NOT 4 < 5 AND(5 < 3 OR
2^3 < 5)
3^2 < "5")
解:NOT 3 > 25 AND (5 > 2 OR 2^3 < 5)
解:NOT 4 < 5 AND(5 < 3 OR 3^2 < "5")
NOT 3 > 25 AND (5 > 2 OR 8 < 5)
NOT True AND (False OR 9 < 5)
NOT False AND(True OR False)
NOT True AND(False OR False)
True AND True
NOT True AND False
True
False AND False False
2 VB 運算式 NOT 3^2 \ 2 Mod 3 > 12"23" & "12" Mod 4 的結果。 解:NOT 3^2 \ 2 Mod 3 > 12"23" & "12" Mod 4
2 VB 運算式 13 & 45 < "ABC" AND 4^2 Mod 7 < 6 的結果。 解 :13 & 45 < "ABC" AND 4^2 Mod 7 < 6 4 & 45 < "ABC" AND 16 Mod 7 < 6
NOT 9 \ 2 Mod 3 > 1223 & 12 Mod 4
"445" < "ABC" AND 2 < 6
NOT 4 Mod 3 > 35 & 0
True AND True
NOT 1 > 350
True
NOT False True
基礎練習 填充題 1 變數 為系統所配置用來存放資料的記憶體,在程式執行的過程中,可以改變其內容。 2 常數 為一個固定的值,程式執行的過程中,不能改變其資料值。 3 變數由四個部分所組成: 1 變數名稱 ;2 變數位址 ;3 變數內容;4 資料型態 。 4 宣告一個變數的格式為: Dim 變數名稱 [As 資料型態英文名稱 ] ' 若省略 As 資料型態英文名稱則為「不定型變 數」。 5 變 數的命名規則中,其名稱第一個字元必須是 英文字母或中文字 ;第二字元以後只能為 英文字母 、中文、數字或 底線 ,不能為其他的符號。不可以使用系統 保留字 ,英 文字母大小寫視為 相同 ,變數名稱長度不可超過 255 個字元,在同一個程序內不能有重 複的 變數名稱 。 6 若設定給整數或長整數變數的值含有小數時,小數部分如果 大於 0.5 則進位,如果 小於 0.5 則捨去小數,若等於 0.5 則整數部分為 偶數 時捨去小數,整數部分為 奇數 時則進 位。
454 第 15 章 基本程式語言
7 數值變數的初值為 0 ,字串變數的初值為 空字串 ,不定型變數的初值為 NULL 。 8 在整數常數中,八進位的前導字元為「 &O 」 或「&」,十六進位的前導字元為「 &H 」。 9 字串常數資料前後須使用「 雙引號 」,日期常數前後須使用「 # 」。 0 常數的宣告語法: Const 常數名稱 [As 資料型別 ] 常數值 。 q 比 較運算式用於比較字串時,會依比較字串中各字元順序的 ASCII 碼大小比較,其大小順序 為:空白 < 數字(0 < 9) < 英文字母大寫(A < Z)< 英文字母小寫(a < z) <中 文。 w 「&」兩邊運算元無論是字串或數字皆為串接運算,串接運算後結果為 字串 資料。 e 在 邏輯運算符號中,輸入值與結果反向的為 NOT ;輸入值兩者為 True,結果才為 True , 其餘為 False 的運算為 AND ;輸入值兩者為 False,結果才為 False ,其餘為 True 的運算為 OR ;輸入值兩者不同,結果為 True ,其餘為 False 的運算為 XOR ;輸入值兩者相同, 結果為 True,其餘為 False 的運算為 EQV 。 基礎練習
15-3 輸入與輸出 一 、VB2010 整合開發環境介紹
方案總管視窗 表單設計視窗
工具箱 屬性視窗
第 15 章 基本程式語言 455
1 工具箱:提供建置軟體控制介面的控制項。 VB6.0
控制項
名稱
VB2010 圖示
名稱
表單
Form
Form
標籤
Label
Label
用途說明
圖示
最基本的物件,用來裝載控制項的平臺。 只能用來顯示文字,提示使用者程式的 作用。 可供使用者用來輸入或顯示文字的控制
文字方塊 TextBox
TextBox
命令按鈕 CommandButton
Button
選項按鈕 OptionButton
RadioButton
用於單選的選項。
核取方塊 CheckBox
CheckBOX
用於可複選的選項。
PictureBox
PictureBox
用來顯示圖片或圖示的控制項。
Frame
GroupBox
圖片框 框架
項。 用來操控程式的控制項,例如:確定按 鈕。
作為控制項的容器,可收納控制項為同 一組。
2 方案總管: VB6.0
VB2010
1 在 VB6.0 為專案總管,用來管理每個專案中 1 用來管理各種與程式相關的檔案,例如:專 的表單檔與模組檔。
案、表單及類別等檔案。
2 VB6.0 開發的程式檔為專案檔(.vbp)及表 2 VB2010 相關程式檔為方案檔(.sln)、專案 單檔(.frm)。
檔(.vbproj)和表單檔(.vb)等。
3 屬性(Property): 屬性的設定方式: 1 在設計模式:由 VB 開發環境中的屬性視窗設定之。
2 在執行模式:由程式設定之,其語法:物件名稱 . 屬性名稱 設定值。 例如:button1.text" 龍騰文化 ",執行結果為
。
456 第 15 章 基本程式語言
4 方法: 1 方法的命名方式為:物件名稱 . 方法(引數)。 2 例如:Debug.Print "Hello everyone",則執行結果為在 即時運算視窗印出 Hello everyone。 5 事件程序: 1 事件程序的命名方式為: Sub 物件名稱 _ 事件(引數) 事件程序 End Sub 2 例如: Private Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Text " 執行程式 !" End Sub 在「Button1」 上 按 一 下 滑 鼠 左 鍵(Click) 時, 便 執 行 事 件 程 序 Private Sub Button1_ Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 程序中的 「Button1.Text " 執行程式 !",則在按鈕上顯示「執行程式」。
二 、基本敘述 1 註解 格式:Rem 程式說明文字 ' 程式說明文字 說明:Rem 和「'(單引號)」後的文字,直譯程式皆不會翻譯成機器碼,所以不會被執行。通 常是用做程式設計時的說明文字。 2 End 格式:End 說明:結束程式的執行。 範例程式
說明
Dim A As Integer,B As Integer,C As Integer 1 先宣告了 A、B、C 三個變數。 2 將 2 設定給變數 A,4 設定給變數 B。 A2: B4 CAB ' 將變數 A 變數 B 的結果設 3 將 變 數 A 變 數 B 的 結 果 設 定 給 變 數 C(C 定給變數 C
2),但「'」後的文字視為註解,程式不會執行。
Rem CAB
4 Rem 後的文字視為註解,所以 CAB 不會執行。
Debug.Print(C)
5 印出 C ,結果為 2。
End
6 執行 End ,程式結束。
Debug.Print(A & B)
7 所以 Debug.Print(A & B)不會執行,因為程式已結束。
第 15 章 基本程式語言 457
1 ( A )1 下列程式執行結果為何? 酎 0 酏 2 釕 2 釢 2 4。 Dim A As Integer, B As Integer, C As Integer A2: B4 'CAB Debug.Print(C) End Debug.Print(A & B)
1 ( C )1 執 行完下列 Visual Basic 程式片段後,在即時運算視窗印出的結果為何? 酎 R 酏 11 釕 0 釢 RTK。 Dim T ,K, R As Integer T5 : K6 : R0 Rem RTK Debug.Print(R)
三 、輸入敘述 InputBox 函數: 函數語法:變數 InputBox(提示字串 [, 標題 ][, 預設值 ]) 說明:1 將 InputBox 交談視窗中的使用者輸入值傳回給變數。
2 [ ] 中的參數可以省略,若省略則使用系統預設值。
3 提示字串:提示使用者要輸入什麼資料。
4 標題:顯示對話方塊標題位置(藍色部分)的文字。
5 預設值:對話方塊一開始就設定好的輸入值。
範例:
scoreInputBox (" 請輸入數學成績 ", " 成績登入 ", 60)
四 、輸出敘述 1 Print 指令:適用於 VB6.0 指令語法:Print 變數 / 常數 / 運算式 / 字串資料
458 第 15 章 基本程式語言
說明:1 將資料輸出至表單、圖片控制方塊或印表機上。
2 為常用指令,可用符號「?」代替輸入。
3 「;」表示下一個輸出資料會接著上一個輸出資料後面印出。
4 「,」表示下一個輸出資料會移至下一個列印區印出。
第一區
第二區
第三區
第四區
第五區
1 ∼ 14 字元
15 ∼ 28 字元
29 ∼ 42 字元
43 ∼ 56 字元
57 ∼ 80 字元
5 Print 變數 / 常數 / 運算式 / 字串資料後沒有「;」、「,」,則下一個輸出資料會換 行印出。
6 列 印「數值資料」其格式為:[ 正負號(正數以空格輸出)] 數值資料「空格(作為 間隔)」。
7 列印「字串資料」,直接輸出,前後不加空格。 範例程式
執行結果
Private Sub Form_Activate() Print "12345678901234567890"
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
Print "1"
1
Print 1 Print-1
1
Print "1","2"
1
1
Print 1,2
2 1
2
End Sub 2 Debug.Print(引數):適合用於 VB6.0 及 VB2010,將引數的結果輸出至即時運算視窗。 3 MsgBox: 版本
說明 1 MsgBox 敘述語法: MsgBox 訊息字串 [, 圖示 按鈕設定 預設按鈕 ][, 標題 ]
VB6.0
說明:產生顯示訊息的交談視窗,沒有傳回值。 2 MsgBox 函數,函數語法: 變數 MsgBox( 訊息字串 [, 圖示 按鈕設定 預設按鈕 ][, 標題 ]) 說明:產生顯示訊息的交談視窗,有傳回值。 1 MsgBox 敘述語法: MsgBox( 訊息字串 [, 圖示 按鈕設定 預設按鈕 ][, 標題 ])
VB2010
說明:產生顯示訊息的交談視窗,沒有傳回值。 2 MsgBox 函數語法: 變數 MsgBox( 訊息字串 [, 圖示 按鈕設定 預設按鈕 ][, 標題 ]) 說明:產生顯示訊息的交談視窗,有傳回值。
第 15 章 基本程式語言 459
1 訊息圖示: 訊息圖示
代表值
VB6.0 常數 / VB2010 常數
VB2010 常數
16
vbCritical
MsgBoxStyle.Critical
32
vbQuestion
MsgBoxStyle.Question
48
vbExclamation
MsgBoxStyle.Exclamation
64
vbInformation
MsgBoxStyle.Information
2 按鈕圖示: 值 VB6.0 常數 / VB2010 常數 VB2010 常數
按鈕
0
vbOkOnly
MsgBoxStyle.OkOnly
1
vbOkCancel
MsgBoxStyle.OkCancel
2
vbAbortRetryIgnore
MsgBoxStyle.AbortRetryIgnore
3
vbYesNoCancel
MsgBoxStyle.YesNoCancel
4
vbYesNo
MsgBoxStyle.YesNo
5
vbRetryCancel
MsgBoxStyle.RetryCancel
3 預設按鈕: 預設按鈕
值
VB6.0 常數 / VB2010 常數 VB2010 常數
第 1 個按鈕
0
vbDefaultButton1
MsgBoxStyle. DefaultButton1
第 2 個按鈕
256
vbDefaultButton2
MsgBoxStyle. DefaultButton2
第 3 個按鈕
512
vbDefaultButton3
MsgBoxStyle. DefaultButton3
4 按鈕傳回值: 按下的圖示按鈕
VB6.0 常數 / VB2010 常數
值 1
vbOK
2
vbCancel
3
vbAbort
4
vbRetry
5
vbIgnore
6
vbYes
7
vbNo
460 第 15 章 基本程式語言
valAMsgBox(" 程式錯誤,請關閉程式 ",vbCriticalvbYesNovbDefaultButtonl," 錯誤訊息 ") MsgBox(" 程式錯誤,請關閉程式 ",vbCriticalvbYesNovbDefaultButtonl," 錯誤訊息 ") MsgBox(" 程式錯誤,請關閉程式 ",1640," 錯誤訊息 ")
說明: 1 16 為圖示的值,4 為按鈕的值,0 為預設第 1 個按鈕,亦可使用 VB 常數。 2 第 2 個及第 3 個 MsgBox 敘述沒有傳回值,第 1 個 MsgBox 函數,若使用者按了「是」,則 va1A 的值為 6,若按了「否」,valA 的值為 7。
2 ( B )1 Visual Basic 語 言 的 執 行 畫 面, 如 右 圖 所 示, 是 哪 一 項 指 令 執 行 的 結 果? 酎 MsgBox(" 成 績 公 佈 " , vbOKCancel vbInformation, " 國 文 成 績 90") 酏 MsgBox(" 國文成績90" , vbOKCancel vbInformation, " 成績公佈 ") 釕 MsgBox(" 成績公佈 " , vbYesNo vbInformation, " 國文成績 90") 釢 MsgBox(" 國文成績 90" , vbYesNo vbInformation, " 成績公佈 ")。 【98 統測】 ( A )2 執 行下列哪一個程式片段可產生如下圖之交談視 窗? 酎 idInputBox(" 請 輸 入 身 分 字 號 ", " 身 分證字號 檢查 ", "D123456789") 酏 idInputBox (" 請 輸 入 身 分 字 號 ", " 身 分 證 字 號 檢 查 ", D123456789) 釕 idMsgBox(" 請 輸 入 身 分 字 號 ", " 身 分 證 字 號 檢 查 ", "D123456789") 釢 idMsgBox(" 請輸入身分字號 ", " 身分證字號檢查 ", 123456789)。
2
( D )1 在 Visual Basic 的程式片段中寫到:「MsgBox " 恭喜你中獎了 ", " 中獎通知 "」 的敘述, 其執行程式後會出現下列哪一個訊息視窗? 酎 酏 釕
釢 敘述錯誤無法產生訊息視窗。
第 15 章 基本程式語言 461
( A )2 在 Visual Basic 的程式片段中寫到:「AInputBox(" 請輸入獎券號碼 ", ," 中 獎測試 ")」的敘述,其執行程式後可能會出現下列哪一個訊息視窗? 酎
酏
釕
釢 敘述錯誤無法產生訊息視窗。
基礎練習 一、填充題 1 VB 程式指令敘述中, ' 或 Rem 指令後面的文字,翻譯程式皆不會翻譯成機器碼,所以不會 被執行。 2 End 指令敘述是結束程式的執行。 3 Print 指令可用符號「 ? 」代替輸入,若某一行的敘述為「Print 」則表示 「 換行 」; 若在 Print 的資料後加「 ; 」則表示下一個輸出資料會接著上一個輸出資料後面印出;若在 Print 的資料後加「 , 」表示下一個輸出資料會移至下一個列印區印出。 4 Print 敘述要列印「 數值 資料」其格式為:[ 正負號 ] 資料「空格」。若要列印「 字串 資料」,直接輸出,前後不加空格。 5 若某執行結果如下圖,則其指令敘述為:SCORE InputBox ( " 請輸入計概成績 " , " 成績輸入 " ,60)。 6 若某執行結果如下圖,則其指令敘述為:button1 MsgBox ( " 你的計概考的不錯喔! " , 464 , " 成績報告 " )。
請輸入計概成績 你的計概考的不錯喔!
462 第 15 章 基本程式語言
二、配合題:請填入相關的 vb 常數及圖示 酎
酏
釕
釢
釚
陜
陟
隼
飣
髟
( A )1 vbCritical
( G )6 vbOkCancel
( E )2 vbQuestion
( I )7 vbAbortRetryIgnore
( B )3 vbExclamation
( H )8 vbYesNoCancel
( F )4 vbInformation
( D )9 vbYesNo
( C )5 vbOkOnly 基礎練習
( J )0 vbRetryCancel
15-4 程式語言的基本結構 一 、If...Then... 敘述 1 語法: 單行指令
多行指令
流程
If 條件式 Then If 條件式 Then 成立敘述
成立敘述 End If
2 說明: 1 單行指令與多行指令的差別在於「成立敘述」的行數多寡,單行指令的「成立敘述」只有一
行,但如果「成立敘述」有兩行以上就須使用多行指令的格式。 2 條件式是由一些算術運算式、關係運算式或邏輯運算式所組成的運算式,但運算式最後的值
只有 True 與 False。例如:36 < 113,X > 100 AND X < 200 等。 3 假如條件式成立,就執行 Then 後的「成立敘述」,否則執行 End If 指令後「下一個敘述」 (如上圖)。
第 15 章 基本程式語言 463
程式範例
流程圖
Private Sub Form_Activate() DimA As Integer,B As Integer B10 AInputBox(" 請輸入 1 ∼ 10 之間的數 ", " 數字輸入 ") If A > 5 Then BBA MsgBox(" 程式執行後 B" & B) End Sub Private Sub Form_Activate() Dim A As Integer,B As Integer B10 AInputBox(" 請輸入 1 ∼ 10 之間的數 ", " 數字輸入 ") If A > 5 Then BBA End if MsgBox(" 程式執行後 B" & B) End Sub 3 執行結果:
【程式說明】
1 程式執行時,B 設定初值為 10。
2 當輸入 7 時(A7),此時 A > 5 條件式成立,所以執行 BBA 敘述(B17),再 執行「MsgBox(" 程式執行後 B" & B)」,此時訊息為「程式執行後 B17」。
3 當輸入 3 時(A3),此時 A > 5 條件式不成立,所以直接執行「MsgBox(" 程式執行 後 B"& B)」,此時訊息為「程式執行後 B10」(因為沒有執行 BBA,所以 B 仍然 為初值 10)。
464 第 15 章 基本程式語言
1
1
( C )1 下列 Visual Basic 語言片段的執
( B )1 下 列 Visual Basic 程 式 片 段,
行 結 果 為 何? 酎 A1,B1
執行之後的顯示結果為何?
酏 A1, B2 釕 A2,B1
酎 5 酏 10 釕 50 釢 2。
釢 A2,B2。
Dim AA,BB As Integer
Dim A,B As Integer
AA5:BB10
A1:B2
If AA < BB Then AABB
If A < B Then AB
Debug.Print(AA)
If A > B Then BA1 Debug.Print("A" & A & "," & "B" & B) ( A )2 下 列 Visual Basic 語 言 片 段 的
( B )2 下 列 Visual Basic 語 言 片 段 的
執行結果為何? 酎 2 5 酏
執行結果為何? 酎 7 7 酏
5 5 釕 2.5 2 釢 5 2.5。
8 7 釕 8 8 釢 3.5 3.5。
Dim A As Integer:Dim B
Dim A As Integer:Dim B
A2.5
A3.5
B2.5
B3.5
If A > 2 Then AAA
If A > 2 Then AAA
If B > 2 Then BBB
If B > 2 Then BBB
Debug.Print(A & " " & B)
Debug.Print(A & " " & B)
二 、If...Then...Else... 敘述 1 語法: 單行指令
多行指令
流程
If 條件式 Then 成立敘述 If 條件式 Then 成立敘述 Else 不成立敘述
Else 不成立敘述 End If
2 說明: 假如條件式成立,就執行 Then 後的「成立敘述」,如果條件式不成立,就執行 Else 後「不成 立敘述」(如上圖)。
第 15 章 基本程式語言 465
程式範例 Private Sub Form_Activate() Dim Score As Integer ScoreInputBox(" 請輸入期中考數學成績 "," 數學成績輸入 ") IF Score > 60 Then MsgBox(" 您的數學成績及格 ")Else MsgBox(" 您的數學成績不及格 ") End Sub Private Sub Form_Activate() Dim Score As Integer ScoreInputBox(" 請輸入期中考數學成績 "," 數學 成績輸入 ") IF Score > 60 Then MsgBox(" 您的數學成績及格 ") Else MsgBox(" 您的數學成績不及格 ") End If End Sub 3 執行結果:
【程式說明】 1 當輸入 70 時,(Score70)> 60 條件式成立,所以執行 MsgBox(" 您的數學成績及格 ")
出現訊息視窗,再執行 End Sub 結束程式執行。 2 當輸入 50 時,(Score50)> 60 條件式不成立,所以執行 MsgBox(" 您的數學成績不及 格 ")指令,出現訊息視窗,執行 End Sub 結束程式執行。
2
( C )1 下列 VB 程式的執行結果為何? 酎 4 酏 6 釕 A 釢 B。 If(6 > 5 OR 4 > 5)Then Debug.Print("A") Else Debug.Print("B") End If
2
( D )1 使用 VB 程式語言執行下列程 式 碼 後, 則 螢 幕 輸 出 結 果 多 少? 酎 0 酏 1 釕 4 釢 5。 Dim x, y, z X9:Y5:Z6 IF(X Mod Y)> Z Then Debug.Print(Y Mod X) Else Debug.Print(Y Mod Z) END IF
466 第 15 章 基本程式語言
( C )2 求 執 行 下 列 Visual Basic 後,
( C )2 求 執 行 下 列 Visual Basic 程 式
印出 A 的結果為何? 酎 0
後,即時運算視窗輸出的結果
酏 1 釕 2 釢 4。 Dim A, J as Integer
分 別 為 何? 酎 4 酏 3 4
A0:J2
釕 5 4 釢 3 5。 Dim A, B, C as Integer
If A > J Then
A3:B5:C4
AA2
If A > B Then
Else AA1 End If
Debug.Print(A) Else Debug.Print (B)
AA*J
End If
Debug.Print(A)
Debug.Print(C)
三 、巢狀 If 敘述 格式 一
流程圖
【說明】 1 If 條件判斷敘述內還有一個以上的 If 條件判斷敘述時,形成多層 If 條件判斷敘述,稱之為巢 狀 If 判斷敘述。
2 如上圖所示,如果條件 1 成立時,就進入到「條件 1 成立的敘述」,接著再判斷條件 2,如 果成立就執行「條件 2 成立的敘述」否則就執行「條件 2 不成立敘述」,接著再執行 End If 的下一行直到 else,再跳到最下面的 End If 下執行。
3 如果條件 1 不成立時,就進入到「條件 1 不成立的敘述」,接著再判斷條件 3,如果成立就 執行「條件 3 成立的敘述」否則就執行「條件 3 不成立敘述」,接著再執行 End If 的下一 行,直至最下面的 End If 執行。
第 15 章 基本程式語言 467
程式範例
流程圖
A=InputBox ("請輸入A的體重") B=InputBox ("請輸入B的體重") C=InputBox ("請輸入C的體重") If A > C Then If A > B Then 3 Debug. Print ("A的體重最重") Else Debug. Print ("B的體重最重") 4 End If Else If B < C Then 5 Debug. Print ("C的體重最重") Else 6 Debug. Print ("B的體重最重") End If End If
1
2
【說明】 1 這個程式是在判斷 A、B、C 三人,誰的體重最重。
2 輸入三人體重後,先判斷 A > C, 如果成立則執行區塊 1 的敘述,如果不成立則執行區塊 2 的敘述。
3 執行區塊 1 的敘述時,就會判斷 A > B,如果成立則執行區塊 3 的敘述,如果不成立則執 行區塊 4 敘述。
4 執行區塊 2 的敘述時,就會判斷 B < C,如果成立則執行區塊 5 的敘述,如果不成立則執 行區塊 6 敘述。 格式二
流程圖
If 條件 1 Then 條件 1 成立的敘述區段 ElseIf 條件 2 Then 條件 2 成立的敘述區段 ElseIf 條件 3 Then 條件 3 成立的敘述區段 Else 以上條件都不成立的敘述區段 End If 【說明】
1 條件 1 成立的話就執行「條件 1 成立的敘述區段」,執行完後跳至 End If 執行。
2 條件 1 不成立,就判斷條件 2,如果成立就執行「條件 2 成立的敘述區段」,執行完後跳至 End If 執行。
468 第 15 章 基本程式語言
3 條 件 1 不成立、條件 2 不成立、就判斷條件 3,如果成立就執行「條件 3 成立的敘述區 段」, 執行完後跳至 End If 執行。
4 如果條件 1、條件 2、條件 3 都不成立,就執行「以上條件都不成立的敘述區段」,執行完 後跳至 End If 執行。 程式範例
流程圖
scoreInputBox(" 請輸入計概學期總成績 ") If score < 60 Then Debug.Print(" 丁等 ") ElseIf score < 70 Then Debug.Print(" 丙等 ") ElseIf score < 80 Then Debug.Print(" 乙等 ") ElseIf score < 90 Then Debug.Print(" 甲等 ") Else Debug.Print(" 優等 ") End If
【說明】 1 若輸入的成績為 55,因為 score < 60 成立,則輸出「丁等」。
2 若輸入的成績為 65,因為 score < 60 不成立,score < 70 成立,則輸出「丙等」。
3 若 輸入的成績為 75,因為 score < 60、score < 70 不成立,score < 80 成立,則輸出「乙 等」。
4 若輸入的成績為 85,因為 score < 60、score < 70、score < 80 不成立,score < 90 成立, 則輸出「甲等」。
5 若 輸入的成績為 95,因為 score < 60、score < 70、score < 80、score < 90 皆不成立,則 輸出「優等」。
第 15 章 基本程式語言 469
3
3
( D )1 如 下 的 Visual Basic 語 言 片 段
( D )1 執 行 下 列 Visual Basic 程 式
程式,執行後下列何者正確?
D300, 試 問 Tax 的 結 果?
酎 C1 酏 C2 釕 C3
酎 600 酏 900 釕 1200 釢
釢 C4。
1700。
Dim A, B, C As Integer
D300
A1:B2:C3
Dim D, Tax As Integer If D < 100 Then
If B > 1 Then
TaxD*2
If A < 1 Then
Else
C2
If D < 250 Then
Else
Tax150(D50)*3
C4
Else
End If
Tax700(D100)*5
End If
End If End If Debug.Print(Tax) ( D )2 下 列 Visual Basic 語 言 片 段 程
( B )2 執行下列 Visual Basic 語言片段
式執行後,何者正確? 酎 a6
程式的結果為何? 酎 1 酏 2
酏 a7 釕 b11 釢 b12。
釕 3 釢 110。
【93 統測】
Dim X, Y As Integer
Dim a, b As Integer
X110
a5
If X < 100 Then
b10 If(a Mod 20)Then aa1 ElseIf(b Mod 20)Then bb2 Else aa2 bb1 End If
Y1 ElseIf X > 120 Then Y3 Else Y2 End If Debug.Print(Y)
470 第 15 章 基本程式語言
四 、多重選擇 Select Case 敘述 指令格式
流程圖
Select Case 條件式 Case 條件式 1 符合條件式 1 的敘述 Case 條件式 2 符合條件式 2 的敘述 Case 條件式 3 … Case 條件式 N 符合條件式 N 的敘述 Case Else 不符上述條件式的敘述 End Select 【說明】 1 條件式的結果會從最上面的 Case 條件式 1、Case 條件式 2、……往下判斷,第一個符合的
Case 條件式的敘述會被執行,執行後跳至 End Select 執行。 2 Case 條件式有三種表示方法:
1 運算式 [, 運算式 ,...],例如:Case 10,12,13,只要「運算式」符合 10、12、13 的其中一個
數即可。
2 運算式 1 To 運算式 2(運算式 1 < 運算式 2),例如:Case 80 To 90,只要「運算式」
為 80 至 90 間的數即可。
3 Is 關係運算式(<、>、、< 、> 、<>),例如:Is < 60,只要「運算式」<
60 的數皆符合。
3 如果所有 Case 條件式都不符合,則執行 Case Else 的「不符合上述條件式的敘述」。 程式範例 scoreInputBox(" 請輸入計概 學期總成績 ") Select Case score Case Is < 60 Debug.Print(" 丁等 ") Case 60,61,62 To 69 Debug.Print(" 丙等 ") Case 70 To 79 Debug.Print(" 乙等 ") Case 80 To 89 Debug.Print(" 甲等 ") Case Else Debug.Print(" 優等 ") End Select
流程圖
第 15 章 基本程式語言 471
【說明】 1 若輸入的成績為 55,因為符合「Is < 60」, 則輸出「丁等」。 2 若輸入的成績為 65,因為不符合「Is < 60」,符合「60,61,62 To 69」,則輸出「丙等」。
3 若 輸入的成績為 61.5,因為「Is < 60」、「60,61,62 To 69」、「70 To 79」、「80 To 89」
皆不符合,所以輸出「優等」。 4 若輸入的成績為 75,因為不符合「Is < 60」、「60,61,62 To 69」,符合「70 To 79」,則輸
出「乙等」。 5 若輸入的成績為 85,因為不符合「Is < 60」、「60,61,62 To 69」、「70 To 79」,符合「80
To 89」,則輸出「甲等」。 6 若輸入的成績為 95,因為「Is < 60」、「60,61,62 To 69」、「70 To 79」、「80 To 89」皆 不符合,所以輸出「優等」。
4
4
( C )1 執 行 下 面 的 Visual Basic 程 式 碼 後, 輸 出 的 資 料 為 何? 酎 error 酏 large 釕 medium 釢 small。 Dim X as Integer X5 \ 2 Select Case X Case 1 Debug.Print("small") Case 2 Debug.Print("medium") Case Else Debug.Print("large") End Select
( A )1 下 列 Visual Basic 程式片段執行 後,s 之 值 為 何? 酎 "a" 酏 "b" 釕 "c" 釢 "d"。 Dim i As Integer, S As string i20 Select Case i Case Is > 10 s "a" Case 10 To 30 s "b" Case 15, 20 s "c" Case 20 s "d" End Select
( A )2 在 Visual BASIC 語言中執行以 下的程式碼後,即時運算視窗 輸出的資料為何? 酎 A 酏 B 釕 C 釢 ABC。 Dim N As Integer N (1^2 30) Mod 24.5 \ 2.5 Select Case N Case 0, l, 3, 5, 7, 9 Debug.Print("A") Case 4 Debug.Print("B") Case 6 To 20, Is > 30 Debug.Print("C") Case Else Debug.Print("D") End Select
( A )2 下 列 VB 程 式 片 段 執 行 結 果 為 何? 酎 印 出 A 酏 印 出 B 釕 印出 C 釢 印出 D。 Dim A, B, C As Integer A15:B7:C3 Select Case BC mod A Case 1,10,5,12,9 Debug.Print("A") Case Is > 10,Is < 20 Debug.Print("B") Case 2,6,8,10,20 Debug.Print("C") Case Else Debug.Print("D") End Select
472 第 15 章 基本程式語言
五 、For...Next 指令格式
流程圖
【說明】
1 當執行「For 計數變數 初值 To 終值 [Step 增值 ]」這行指令時,會依序執行下列二個動 作:
1 將「初值」設定給「計數變數」。
2 判斷(初值 < 終值 AND 增值> 0)OR(初值 > 終值 AND 增值< 0)是否成立,成立 執行敘述 1,不成立則不執行迴圈內部的敘述直接跳至「Next 計數變數」下一行繼續執行 (「4」的方向執行)。
2 當執行到「Next 計數變數」這行指令時,會依序執行下列二個動作:
1 計數變數 計數變數 增值(將「計數變數 增值」的結果設定給「計數變數」)。
2 判 斷「計數變數有沒有超出終值」,如果沒有,則跳至敘述 1 繼續執行(「3」的方 向),如果超過終值,則往「4」的方向執行。
3 若 Step 省略時,預設增值為 1。
4 Next 後的計數變數可省略。
5 若執行迴圈內敘述時,遇到 Exit For ,可跳出這一層的 For 迴圈,執行 Next 之後的敘述。
6 重複執行的次數 ((終值 初值)\ 增值)1。
7 最後一次執行的終值 初值 (執行次數 1)* 增值。
8 迴圈跳出後的計數變數值 初值 重複執行的次數 * 增值。
第 15 章 基本程式語言 473
程式範例
執行過程 迴圈次數
sum=
sum+i
Next i
1
1
01
4
For i1 To 21 Step 3
2
5
14
7
sumsumi
3
12
57
10
Next i
4
22
1210
13
Debug.Print(sum & i)
5
35
2213
16
6
51
3516
19
7
70
5119
22
備註
超過終值跳出迴圈
【說明】 1 重複執行的次數 ((終值 初值)\ 增值)1(211)\ 317 次。
2 最後一次執行的終值 初值 (執行次數 1)* 增值 1(71)*319。
迴圈跳出後的計數變數值 初值 重複執行的次數 * 增值 17*322。
5
5
( A )1 執行下列 Visual Basic 語言片段
( D )1 下 列 BASIC 程 式 片 段, 執 行
程式的結果為何? 酎 2 酏
之後的顯示結果為何? 酎 12
4 釕 6 釢 10。
酏 8 釕 10 釢 6。
Dim S, K As Integer
Dim Sum, I As Integer
S0 For K1 to 4 SS(K Mod 2) Next K Debug.Print(S)
Sum0 For I1 to 3 SumI*2 Next I Debug.Print(Sum )
( B )2 下 列程式執行後,顯示的結果
( C )2 下 列程式執行後,顯示的結果
為 何? 酎 182 酏 186 釕
為 何? 酎 440 酏 882 釕
192 釢 196。
903 釢 44205。
Dim M, I, K As Integer
Dim I, J, K As Integer
M1 For I1 To 2 K5*M^2 MMK Next I Debug.Print(M)
I1 For J1 To 3 K2*I^2 IIK Next J Debug.Print(I)
474 第 15 章 基本程式語言
( D )3 下 列哪一組(a, b, c)的組合可
( C )3 執行下列 Visual Basic 語言片
以讓以下程式碼列印 5 個 "*" ?
段程式的結果為何? 酎 4
酎 (1, 5, 2) 酏 (3, 8, 1) 釕(1, 5,1) 釢(18, 10,2)。
酏 7 釕 15 釢 30。 Dim S, X, K As Integer
For Ia To b Step c
S0
Debug.Print("*")
X1
Next I
For K1 To 4
SSX
XX*2 Next K Debug.Print(S)
六 、巢狀 For...Next 1
【格式】
For 計數變數1=初值1 To 終值1 [Step增值1] 2 For 計數變數2=初值2 To 終值2 [Step增值2] 3
4
6
Next [計數變數2] 5 Next [計數變數1] 7
【說明】 1 當執行「For 計數變數 1 初值 1 To 終值 1 [Step 增值 1]」時,將「初值 1」設定給「計數變 數 1」後往「2」的方向執行。
2 當執行「For 計數變數 2 初值 2 To 終值 2 [Step 增值 2]」時,將「初值 2」設定給「計數變
數 2」後往 「3」的方向執行。 3 當執行「Next [ 計數變數 2]」時,將「計數變數 2 增值」的結果設定給「計數變數 2」,
如果「計數變數 2」沒有超過「終值 2」則往「4」的方向執行,否則往「5」的方向執行。 4 當執行「Next [ 計數變數 1]」時,將「計數變數 1 增值」的結果設定給「計數變數 1」, 如果「計數變數 1」沒有超過「終值 1」則往「6」的方向執行,否則往「7」的方向執行。
5 迴圈的次數 外迴圈次數 * 內迴圈次數。 程式範例
執行過程 i
For i1 To 3 For j1 To i sumsumj Next j Next i
j
sum= sum+j Next j Next i
1 1
1
01
2
2 1
2
11
2
2 2
4
22
3
3 1
5
41
2
3 2
7
52
3
3 3
10
73
4
執行結果:sum10,i4,j4
2
Next j 超過終值 1 跳出迴圈。
3
Next j 超過終值 2 跳出迴圈。
4
Next j、Next i、超過終值 3 跳出迴圈。
第 15 章 基本程式語言 475
【說明】 1 執行 For i1 To 3,設定 i1 後,往下一行執行。
2 執行 For j1 To 1(i1),設定 j1 後,執行 sumsumj。
3 執行 Next j 後,j2 超過終值「1」跳出迴圈後,執行 Next i,將 i 設定為 2 後,跳至 For j1 To 2(i2)執行,這時重新設定 j1 後再往下一行執行。
6
6
( C )1 執 行 下 列 Visual Basic 語 言 片 段程式的結果為何? 酎 4
( D )1 使用 VB 程式語言執行下列程 式碼後,則即時運算視窗輸出 多少個 * 符號? 酎 12 個 酏 15 個 釕 20 個 釢 30 個。 Dim I, J, K As Integer For I1 To 3 For J1 To 4 Step 3 For K1 To 5 Debug.Print("*") Next K, J, I
酏 6 釕 10 釢 30。 Dim S, X, Y As Integer S0 For X1 to 2 For Y1 to 3 SS1 Next Y SS2 Next X Debug.Print(S) ( A )2 以下 Visual Basic 程式執行後, 會印出什麼? 酎 15 酏 25 釕 35 釢 40。 Dim S, A, B As Integer S0 For A1 To 5 For B1 To A SS1 Next B Next A Debug.Print(S) ( B )3 執行完以下 Visual Basic 6.0 程 式,總共會在螢幕顯示幾列結 果? 酎 5 酏 9 釕 45 釢 81。 Dim i, j As Integer For i1 to 9 For j1 to 9 Step 2 Print i; " x "; j; ""; i * j; " "; Next j Print Next i
( C )2 使 用 Visual Basic 程 式 語 言 執 行下列程式碼後,總共會輸出 幾個 # ? 酎 6 個 酏 10 個 釕 13 個 釢 23 個。 Dim K, J As Integer For K2 To 4 For JK To K^2 Step2 Debug.Print("#") Next J Next K ( A )3 執行下列 Visual Basic 語言片 段程式 的結果為何? 酎 3 酏 4 釕 6 釢 9。 Dim S, X, Y As Integer S0 For X1 To 3 For YX1 To 3 SS1 Next Y Next X Debug.Print(S)
476 第 15 章 基本程式語言
七 、Do...Loop 敘述 種類
當條件成立執行迴圈內的敘述
當條件不成立執行迴圈內的敘述
前測式
Do While 條件
Do Until 條件
…(迴圈內的敘
…(迴圈內的敘
述)…
述)…
Loop
Loop
先測試條件才決定是否執行迴圈內的敘述。
後測式
Do
Do
…(迴圈內的敘
…(迴圈內的敘
述)…
述)…
Loop While 條件
Loop Until 條件
先執行迴圈內的敘述一次後,再測試條件決定是否繼續執行迴圈內的敘述。 兩者 比較
前測式與後測式在大部分的情況下,並沒有什麼分別,只有在第一次條件測試不成立時, 前測式不執行迴圈敘述,而後測式則是先執行迴圈內的敘述一次後,就不再執行迴圈內的 敘述。
執行迴圈敘述時,遇到 Exit Do 時會跳離這一層迴圈。 範例程式
執行過程 i
條件測試
Dim sum As Integer, i As Integer
0
成立
0
00
1
01
Do While i < 5
1
成立
1
01
2
11
sumsumi
2
成立
3
12
3
21
ii1
3
成立
6
33
4
31
4
成立
10
64
5
41
Loop
5
sum=sum+i
i=i+1
不成立跳出迴圈,執行結果 sum10,i5
i
條件測試
Dim sum As Integer, i As Integer
0
成立
1
01
1
01
Do While i < 5
1
成立
2
11
3
12
ii1
2
成立
3
21
6
33
sumsumi
3
成立
4
31
10
64
4
成立
5
41
15
105
Loop
5
i=i+1
sum=sum+i
不成立跳出迴圈,執行結果 sum15,i5
第 15 章 基本程式語言 477
範例程式
執行過程 i
條件測試
Dim sum As Integer, i As Integer
0
不成立
0
00
1
01
Do Until i > 5
1
不成立
1
01
2
11
sumsumi
2
不成立
3
12
3
21
ii1
3
不成立
6
33
4
31
4
不成立
10
64
5
41
Loop
5
sum=sum+i
i=i+1
成立跳出迴圈,執行結果 sum10,i5
i
條件測試
Dim sum As Integer, i As Integer
0
不成立
1
01
1
01
Do Until i > 5
1
不成立
2
11
3
12
ii1
2
不成立
3
21
6
33
sumsumi
3
不成立
4
31
10
64
4
不成立
5
41
15
105
Loop
5
i=i+1
sum=sum+i
成立跳出迴圈,執行結果 sum15,i5
八 、While...Wend VB6.0 指令格式
While 條件 …(迴圈內的敘述)… Wend
VB2010 指令格式
流程圖
While 條件 …(迴圈內的敘述)… [Exit While] End While
1 其行為與下列敘述相同 Do While 條件 …(迴圈內的敘述)… Loop 2 在 VB6.0 中 While...Wend 迴圈沒有強迫跳離迴圈指令,而在 VB2010 中 While...End While 的 強迫跳離指令為 Exit While。
478 第 15 章 基本程式語言
7
7
( C )1 下 列 Visual Basic 程 式 片 段,
( A )1 下 列 Visual Basic 6.0 程 式 片
執行後的結果為何? 酎 18
段, 執 行 後 的 結 果 為 何?
酏 25 釕 33 釢 42。 Dim A, B As Integer
酎 4 酏 6 釕 8 釢 10。
A1:B1 Do AAB Select Case A Case Is < 10: AA*2 Case Is > 10: AA3 End Select BB1 Loop Until B > 5 Debug.Print(A)
Dim I As Integer S0: I0 While(I < 10) SS1 II*21 Wend Print S
Dim S As Integer
( C )2 以下 Visual Basic 6.0 程式執行
( C )2 如 下 三 種 流 程 圖, 下 列 有 關
後,會印出什麼? 酎 7 酏
VB 控制結構化程式表示法的
10 釕 15 釢 31。
關係,何者正確? 酎 If...Then
Dim X, Sum As Integer
的 流 程 圖 為 X 酏 Do...Loop
X1 Sum0 While X < 20 If X < 10 Then SumSumX End if XX*2 Wend Print Sum
While 的 流 程 圖 為 X 釕
Do...Loop While 的 流 程 圖 為 Z 釢 Do While...Loop 的流程圖為 Y。
條件 假 X
真
【97 統測】 真
條件 敘述
敘述
假 Y
敘述 真 條件 假Z
( D )3 使 用 Visual Basic(VB) 程 式
( B )3 執 行下列 Visual Basic 6.0 程式
語言執行下列程式碼後,結果
碼,若出現提示符號時輸入數
為 何? 酎 J56 酏 J504
值 100,則正確結果為何?
釕 J5040 釢 J55440。
酎 6 酏 7 釕 8 釢 9。
Dim I, J As Integer
Dim a, n As Integer
I6 J1 Do While I < 10 II1 JJ*I Loop Debug.Print("J" & J)
n0 aInputBox("input data") While a > 0 aan^2 nn1 Wend Print n1
第 15 章 基本程式語言 479
( A )4 執 行 下 列 Visual Basic 6.0 程
( A )4 執 行下列 VB 之片段程式後,
式片段後,輸出的結果為何?
印 出 的 結 果 為 酎 57 酏 67
酎 19 酏 18 釕 17 釢 13。
釕 77 釢 87。
Dim i, s As Integer
Dim I, K As Integer
s0 : i1
I16:K0
Do Until i > 7
Do While I > 10
ii1 While s < i
For J1 To I KKJ Mod 5
ssi
Next J
ii1
II3
Wend Loop
Loop Debug.Print(K)
Print is ( A )5 下列 Visual Basic 程式片段,若
( C )5 以下是一個加上行號的 Do 迴
執 行 後 power 之 值 為 8, 則 X
圈指令 Visual Basic 程式片段,
之值應設為多少? 酎 2 酏 4
執行後 Ans 之值為何? 酎 9
釕 6 釢 8。
酏 14 釕 40 釢 280。
Dim i, power, N, X As Integer
Dim i, Ans As Integer
i 1 : power 1 : N 3
Ans 1
X
i1
Do While i < N
Do While i < 10
power power*X ii1 Loop
If i Mod 2 0 Then Ans Ans*i End If ii3 Loop
( C )6 下 列何者為給定之 Visual Basic
( C )6 下 列 Visual Basic 程式片段執行
6.0 程式片段執行後的結果?
後,T 的值為何? 酎 256 酏
酎 5 酏 7 釕 11 釢 15。
240 釕 225 釢 196。
Dim A, B as Integer
Dim T, U As Integer
A1:B5
T0
While B < 10
U0
BB2*A
DO While U < 30
AA1
IF U MOD 21 Then
Wend Print B
TTU END IF UU1 Loop
480 第 15 章 基本程式語言
基礎練習 填充題 If 條件式 Then 敘述 1 End If
If 條件式 Then 敘述 1 Else
敘述 2
If 條件式 2 Then 敘述 1
敘述 2 程式 1
If 條件式 1 Then
End If
敘述 1 Else If 條件 2 Then 敘述 2
Else 敘述 2
程式 2
If 條件 1 Then
End If
Else If 條件 3 Then 敘述 3 Else
Else If 條件式 3 Then 敘述 3 Else 敘述 4
敘述 4 End If 程式 4
End if End If 程式 3 1 程式 1:若條件式成立,則執行 敘述 1 及敘述 2 ,若條件式不成立,則執行 敘述 2 。 2 程式 2:若條件式成立,則執行 敘述 1 ,若條件式不成立,則執行 敘述 2 。 3 程 式 3:若條件 1 與條件 2 皆成立,則執行 敘述 1 ,若條件 1 成立、條件 2 不成立,則執 行 敘述 2 ,若條件 1 不成立、條件 3 成立,則執行 敘述 3 ,若條件 1 不成立、條件 3 不 成立,則執行 敘述 4 。 4 程式 4:若條件 1 成立,則執行 敘述 1 ,若條件 1 不成立、條件 2 成立,則執行 敘述 2 , 若條件 1 不成立、條件 2 不成立、條件 3 成立,則執行 敘述 3 ,若條件 1 不成立、條件 2 不成立、條件 3 不成立, 則執行 敘述 4 。 5 在 Select Case 條件式中有三種表示法,分別是: 1 兩個運算式之間加上 , 符號,可設定多個符合的運算式。 2 運算式 1 TO 運算式 2,其中(運算式 1 必須 小於 (大於,小於)運算式 2)。 3 Is 關係運算式。 6 Select Case 條件式會從最上面的 case 條件式 1、case 條件式 2……往下判斷, 第一個 符合的 Case 條件式敘述會被執行,執行後跳至 End Select 執行。 7 Select Case 敘述適合使用於多條件判斷, If Then Else 敘述適合用於兩個條件的判斷。
第 15 章 基本程式語言 481
8 根據下面的 VB6.0 程式回答問題: For i1 To 1000 Step 4 ssi
For i1 To 1000 Step 4 ssi
jj1
ssi
Next i
Next i
For i1 To 100 Exit For
Print s,i
Next i
Print s,j,i
Print s,i 程式 1
For i1 To 3 For j2 To 7 sumsum1 Next j Next i
程式 2 Do While i > 10
程式 3 Do
sumsumi
sumsumi
ii1
ii1
Loop
Loop While i > 10
Print sum,i
Print sum,i
Print i,j,sum 程式 4
程式 5
Do Until i > 10
Do Until i > 10
sumsumi
sumsumi
ii1
程式 6
Loop
Loop
Print sum,i
Print sum,i 程式 7
程式 8
1 程式 1,程式執行後,j 值(迴圈重複執行的次數) 250 。 2 程式 1,程式執行後,i 值(迴圈跳出後的計數變數值) 1001 。 3 程式 1,程式執行後,s 124750 。 4 程式 2,程式執行後,i 值 1 。 5 程式 2,程式執行後,s Empty 。 6 程式 3,其 For 迴圈的增量為 1 。 7 程式 3,程式執行後,s 1 ,i 1 。 8 程 式 4,程式執行後,sum 18 ,i 4 ,j 8 ,程式中的 sumsum1 共執行 18 次。 9 程式 5,程式執行後,sum Empty ,i Empty 。 0 程式 6,程式執行後,sum 0 ,i 1 。 q 程式 7,程式執行後,sum 55 ,i 11 。 w 程式 8,程式執行後,sum 無窮迴圈,無法顯示 ,i 無窮迴圈,無法顯示 。 基礎練習
482 第 15 章 基本程式語言
15-5 陣列 一 、陣列 1 為一群相同資料型別變數的集合,系統會以連續的記憶體空間來記錄這些變數的「內容值」。 2 陣列中每一個記憶體空間稱為「陣列元素」,每一個元素相當於一個同名稱但編號不同的一個 變數,我們可以透過編號(索引)來存取陣列元素,例如:DP21(5),表示 DP21 編號 5 的元 素。 3 例如:我們想記錄資三甲班 20 位同學的成績,當然可以使用 A0001、A0002、……、A0020 變 數加以儲存。我們也可以宣告資三甲 (20) 陣列,資三甲就是「陣列名」,並可在記憶體中規劃 21 個連續的記憶位置來存放。如資三甲 (1) 表示 1 號同學的成績,資三甲 (2) 表示 2 號同學的成 績,依此類推。
二 、陣列的宣告 VB6.0
VB2010
【語法】 Dim 陣列名稱 ( 索引 1,[ 索引 2, 索引 3,... 索引 N])[As 資料型別 ] 【說明】 1 陣列名稱的命名規則與變數名稱的命名規則相同,要使用陣列一定要宣告,但不可重複宣告 同名稱的陣列與變數名稱。 2 索引的格式:(支援最小註標的設定) 2 索引的格式:(不支援最小註標的設定) 1 整 數 N: 表 示 編 號 0 ∼ N 共 N1 個 元 1 VB2010 陣列的索引起始值皆 0, 素。例如:Dim A(3),陣列元素為 A(0)、
例如:Dim A(3), A 陣列元素為 A(0)、
A(1)、A(2)、A(3) 共 314 個元素。如
A(1)、A(2)、A(3) 共 314 個元素。
果程式若沒有宣告 Option Base 的話,預
2 可以指定陣列元素的初值,例如:
設為 Option Base 0 則陣列的索引值起始
Dim A() as Integer {1,2,3,4},
由 0 開始,若有宣告 Option Base 1,則陣
則表示 A(0)1,A(1)2,A(2)3,
列的索引起始值由 1 開始。
A(3)4,共 4 個陣列元素。
2 下界 To 上界(下界 < 上界):其中下
Dim A(,) as Integer{{1,2,3},{4,5,6}},
界與上界皆為整數,例如:Dim A(2 To
則表示 A(0,0)1,A(0,1)2,
2),陣列元素為 A(2)、A(1)、A(0)、
A(0,2)3,A(1,0)4,A(1,1)5,
A(1)、A(2), 上 界 下 界 12(
A(1,2)6,共 6 個陣列元素。
2)15 個元素。 3 無法指定陣列元素的初值。
0
1
2
0
1
2
3
1
4
5
6
3 陣列宣告後,其陣列元素索引值的範圍已確定,若使用的索引值超過宣告的範圍會產生錯誤。 4 陣列的維度由宣告陣列時的「索引值個數」決定。
第 15 章 基本程式語言 483
三 、陣列宣告範例 1 假設我們要記錄某班級之成績,我們可以使用 score 為陣列名稱,如下宣告一維陣列。
2 假設我們每一個年級有 4 班,我們要記錄這四個班的成績,則可以宣告為二維陣列。
3 如果這所學校有 3 個年級,每個年級有 4 個班,每班有 40 個同學,我們要記錄全校的成績,則 可以宣告為三維陣列。
1
1
( B )1 執 行 下 列 Visual Basic 6.0 程 式
( D )1 執行下列 Visual Basic 程式片段
片段後,輸出的結果為何?
後,A (0) 的值為何? 酎 2
酎 15 酏 20 釕 25 釢 30。
酏 4 釕 6 釢 10。
Dim A(4)
Dim A(5), K As Integer
For i1 To 4
A (5) 0
If(i Mod 2 < > 0)Then
A (4) 2
A(i)i^21
For K 5 To 2 Step 1
Else A(i)i^21 End If Next i Print A(4)A(3)A(2)
A (K2) A (K) A(K1) Next K
484 第 15 章 基本程式語言
( D )2 若 在 VB6.0 中,陣列 A 之內容 如下圖,執行 Print A(A(2)1)1 指令後答案為何? 酎 1 酏 2 釕 3 釢 4。
( C )2 若 在 VB6.0 中,陣 列 A 之 宣告 為 DIM A(2, 3) As Integer, A 內 容 如 下 圖 所 示, 則 執 行 Print A(A(1, 2)1, A(2, 3)1) 指 令 後, 答 案 為 何? 酎 0 酏 1 釕 2 釢 3。
ೄ٨A 註標 0 1 2 3 0 1 2
( D )3 執行下列 Visual Basic 6.0 語言 片段程式的結果為何? 酎 4 酏 5 釕 7 釢 8。 Dim A(5) As Integer A(1)0 A(2)1 For K3 To 5 A(K)KA(K1)A(K2) Next K Print A(5)
2 3 0 1 1 3 2 0 3 0 2 1
( C )3 請問下列 Visual Basic 程式片段 執行運算後,X(7) 所得之結果 為 何? 酎 5 酏 7 釕 8 釢 9。 Dim Y , X(7) As Integer X(1) 2 Y1 For Y2 To 7 X(Y)YX(Y1) \ 5 Next Y
執 行 下 列 Visual Basic 6.0 程 式 ( B )4 下列 Visual Basic 6.0 程式片段, ( A )4 片段後,K(3, 3) 值為何? 酎 3 執行後的結果為何? 酎 16 酏 4 釕 5 釢 12。 酏 24 釕 30 釢 36。 Dim K(3, 4) Dim A(3, 3) As Integer For I 1 To 3 For I1 To 3 For J1 To 4 For J1 To 3 If(I > 1 And J > 1)Then A(I, J)A(I1, J1)(IJ)*2 K(I, J)K(I1, J1)1 Next J Next I Else Print A(3, 3) K(I, J)1 End If Next J Next I
第 15 章 基本程式語言 485
基礎練習 填充題 1 陣列 為一群相同資料型別變數的集合,系統會以 連續 (連續 / 不連續)的記憶體空間 來記錄這些變數的「內容值」。 2 陣列名稱的命名規則與 變數名稱 的命名規則相同,要使用陣列一定要 宣告 ,且 不可 (可 / 不可)重複宣告同名稱的陣列與變數名稱。 3 根據下面 VB6.0 語法陣列的宣告回答問題: Dim A(50)As Integer , B(10 To 30)As Long , C(1,2)As Integer , D(1,2,3)As Integer 1 A 為 一 維陣列,共有 51 個元素,占記憶體空間 102 Bytes。 2 B 為 一 維陣列,共有 21 個元素,占記憶體空間 84 Bytes。 3 C 為 二 維陣列,共有 6 個元素,占記憶體空間 12 Bytes。 4 D 為 三 維陣列,共有 24 個元素,占記憶體空間 48 Bytes。 5 若要將 A 陣列的第 10 元素設定給 ABC 變數,其方式為 ABCA(9) 。 6 若 ABCA(51),則 ABC 的內容為 產生錯誤,無法設定 。 7 若要將所宣告的陣列索引值從 1 開始,則須設定 Option Base 1 。 基礎練習
15-6 函數與副程式 一 、副程式 1 設計程式時,通常會將具有某種特定功能或常重複出現的敘述區塊獨立出來,成為一個獨立的 程式單元,便稱為副程式。 2 副程式是不能單獨執行的,須配合主程式的呼叫才能執行。
二 、副程式的執行流程 副程式執行流程
說明 1 主程式往箭頭方向執行。 2 遇到 Call xxx 時,先把主程式的狀態(變數的值, 目前執行的位址等等)儲存。 3 將主程式的資料傳送給副程式,並將執行權轉移 到 xxx 副程式上。 4 開始執行副程式的敘述。 5 遇到 End Sub,結束副程式的執行,並將程式的執 行權轉移到 Call xxx 的下一行。 6 將先前儲存主程式的狀態回復,並繼續往下執行。
486 第 15 章 基本程式語言
三 、副程式的特點 1 使用副程式可以節省程式的設計時間,增加程式的可讀性,但會增加執行的時間。 2 符合結構程式的設計。 3 在呼叫副程式時,須將主程式的狀態儲存,所使用的方式是一種 FILO(先進後出)資料結構, 稱為堆疊。
四 、副程式的分類 副程式一般可以分為函數(有傳回值)與程序(沒有傳回值)兩大類。
程序
副程式
函數
事件程序 Sub 物件名稱 _ 事件()…End Sub 自定程序 Sub 程序名稱()…End Sub 內建函數,例如:Int(X) 自定函數 Function 函數名稱()…End Function
次常式 GoSub…Return (較為少用)
1 ( A )1 針對副程式的敘述,下列何者錯誤? 酎 可提升程式的執行效率 酏 提高程 式的可讀性 釕 有利於分工合作,共同完成較大的程式 釢 符合結構化程式 設計。 ( D )2 下 列何種資料結構的資料元素存取方式是先進先出(First In First Out)? 酎 陣列 酏 雙向串列 釕 堆疊 釢 佇列。
【99 統測】
1 ( C )1 下列敘述何者不是副程式的特性? 酎 使程式較具結構化 酏 提升程式的可 讀性 釕 程式較不容易維護 釢 無法提升程式執行的效能。 ( A )2 在呼叫副程式時,會使用哪種資料結構來儲存主程式的狀態? 酎 堆疊 酏 佇列 釕 陣列 釢 樹。
五 、內建函數 Visual Basic 所提供的內建函數,只要以合乎語法的方式直接呼叫就可以使用。 整數數值函數
類型
版本 VB6.0 / VB2010
函數名稱
Fix(x)
功能
實例
將小數無條件捨去,只傳回整 Fix(2.5)2 數部分的值。
Fix(2.5)2
第 15 章 基本程式語言 487
1 傳回不大於 X 的最大整數 值(如高斯函數)。 2 利 用 Int 來 實 現 四 捨 五 入 Int(X)
的方法:設 m 為實數,要
整數數值函數
取到小數第 n 位四捨五入 的 公 式 為 Int((m10n)
Int(2.5)3 Int(2.5)2 Int((124.563*10^1)0.5) / 10^1 124.6
0.5)/ 10n。
VB6.0 / VB2010
以下述方法傳回整數值: 1 小數部分> 0.5 則進位。 2 小數部分< 0.5 則捨去小數 CInt(2.5)2 CInt(X)
部分。
CInt(3.5)4
3 小數部分 0.5,整數部分 CInt(2.51)3 為 奇 數 則 進 位, 為 偶 數 則 捨掉小數。 1 產生 1 ∼ 42 間的整數隨機亂數 VB6.0
Rnd
1 傳 回 一 個 0 < Rnd ( ) < 1 的實數隨機亂數。
亂數值函數
2 如何產生 M ∼ N(M < N) 之間的整數隨機亂數。 VB6.0 / VB2010
Rnd( )
公式 Int(Rnd( )*(NM1))M
XInt((4211)*Rnd( ))1 2 若 Int(Rnd( )*50)10, 則 可 產 生 範 圍 為 何 的 整 數 亂 數? 公式為 Int(Rnd( )*(NM1))M, 比 較 係 數 得 M10, 而 (N M1)50,則 N10150, 得 N59。
VB6.0
Randomize
VB2010 Randomize( ) VB6.0
Abs(n)
VB2010 Math. Abs(n) VB6.0
Sgn(n)
算術函數
VB2010 Math. Sgn(n) VB6.0
Sqr(n)
VB2010 Math. Sqr(n) VB6.0
Exp(x)
VB2010 Math. Exp(x) VB6.0
Log(x)
VB2010 Math. Log(x)
使 用 Rnd ( ) 函 數 之 前, 使 用 Randomize 製作亂數產生器的 種子,以降低亂數重複出現的 機率。 傳回 n 的絕對值。 判斷 n 的正負號函數。 1 若 n > 0 則傳回 1。 2 若 n0 則傳回 0。 3 若 n < 0 則傳回 1。
Abs(3.5)3.5 Abs(3.5)3.5 Sgn(0)0 Sgn(20.43)1 Sgn(100.43)1
傳回 n 的平方根的值。(n > Sqr(4)2 0) 求 ex 的值。
求 logex 的值。
Sqr(9)3 Exp(2)7.389056 Log(Exp(2))2 Log(1)0 Exp(Log(1))1
488 第 15 章 基本程式語言
2 ( B )1 請 問下列程式於 Visual Basic 執行運算後,所得 100 個數值之陳述,何者正 確? 酎 都是奇數,且是介於 0 至 12 之間 酏 都是偶數,且是介於 0 至 12 之間 釕 都是奇數,且是介於 12 至 70 之間 釢 都是偶數,且是介於 12 至 70 之間。 Dim i As Integer For i 1 To 100 Debug.Print (Int(Rnd( )*59) And 12) Next i ( C )2 下 列何者為給定之 Visual Basic 2010 程式片段執行後的結果? 酎 7 酏 8 釕 9 釢 10。 Dim A, B As Integer A2 B3 SA^Bmath.Abs(A – B) Debug.Print (S) ( C )3 在 VB 程式語言中,運算式 A_NUMInt(90*Rnd)10,請問 A_NUM 之範 圍為何? 酎 1 ≤ A_NUM ≤ 90 酏 10 ≤ A_NUM ≤ 90 釕 10 ≤ A_NUM ≤ 99 【95 二技】 釢 11 ≤ A_NUM ≤ 100。 ( B )4 下 列 VB6.0 程式語言函數運算,何者正確? 酎 Fix(5.8)6 酏 Int(5.8)5 釕 Rnd(5.8)5 釢 Sgn(5.8)5。 ( A )5 在 VB6.0 語 言 中, 下 列 何 種 指 令 的 執 行 結 果 與 Int(13.2) 之 值 相 同? 酎 Fix(14.3) 酏 Abs(13.2) 釕 Fix(13.2) 釢 Sqr(13.2)。 ( C )6 在 VB6.0 中,若 A5 且 B3,則下列敘述之執行結果 ,何者會與其他三者 不同? 酎 Print Int(A / B) 酏 Print Sgn(AB) 釕 Print Exp(Log(A)) 釢 Print Abs(1)。
2
( D )1 下列何者為給定之 Visual Basic 6.0 程式語言函數執行後的結果? 酎 3 酏 4 釕 – 3 釢 – 4。 Print Int(– 3.6) ( A )2 在 VB 6.0 語言中,Fix(7.6) 的值為 酎 7 酏 8 釕 7 釢 8。 ( B )3 下 列 的 VB 6.0 函 數 中, 何 者 正 確? 酎 Rnd(3.7)4 酏 Int(3.7)3 釕 Fix(3.7)4 釢 Abs(3.7)4。 ( C )4 假 設 樂 透 彩 券 的中獎號碼 是 10 ∼ 42,在 Visual Basic 語 言 中, 下列 何 者 可以產生一個從 10 到 42 的整數亂數? 酎 Int(Rnd( )*10)33 酏 Int(Rnd( )*32)10 釕 Int(Rnd( )*33)10 釢 Int(Rnd( )*41)2。 ( D )5 在 VB 中,若要產生 1 到 6 的亂數,其正確的敘述為 酎 Int*Rnd( )*61 酏 Int(Rnd( )1)*6 釕 Int(Rnd( )*61)1 釢 Int(Rnd( )*6)1。 ( C )6 在 VB6.0 程 式 語 言 中, 若 X36.49 則 Sgn(X) 為 酎 36.49 酏 36.49 釕 1 釢 1。
第 15 章 基本程式語言 489
函數 類別
函數名稱
功能
實例
字串處理函數
UCase(S)
將 S 字串的所有英文字母轉換成大寫。
UCase("abcD")"ABCD"
LCase(S)
將 S 字串的所有英文字母轉換成小寫。
LCase("abcD")"abcd"
Len(S)
傳回字串 S 的字元數量(字串長度)。
Len("abcd")4
String(n, S)
傳回重複 n 個字串 S 第一個字元。
String(2,"abc")"aa"
Space(n)
傳回 n 個半形的空白字元。
Space(2)" "
傳回由字串 S 最左邊開始,向右取 n 個字元
Left(S,n)
的字串。 傳回由字串 S 最右邊開始,向左取 n 個字元
Right(S,n)
的字串。
Mid(S,n,m) 數值與字串轉換函 數
Val(S) Str(n)
傳回由字串 S 第 n 個字元開始,向右取出 m 個字元的字串。 傳回將「字串型別的數值資料」轉換成「數 值型別的資料」。 傳回將「數值型別的資料」轉換為「字串型 別的資料」。
Left("abcde",3)"abc" Right("abcde",3)"cde" Mid("abcde",2,2)"bc" Val("1234")1234 Str(1234)" 1234"
Asc(S)
傳回 S 字串第一個字元的 ASCII 碼。
Asc("abc")97
Chr(n)
傳回 ASCII 碼為 n 的字元。
Chr(97)"a"
3 ( C )1 小 寫 英 文 字 母 "a" 的 ASCII 值 為 97, 請 問 Asc(Right(Left(Mid("LinsanityIsJ eremyNotJerome",4,8),6),2)) 於 Visual Basic 執行運算後,所得之結果為何? 酎 110 酏 115 釕 116 釢 121。
【101 統測】
( B )2 下 面 VB6.0 程式執行結果為何? 酎 TAIWAN 酏 NAWAIT 釕 ANWATI 釢 TIAWNA。 A"TIAWAN": B"" LLen(A): k1 Do While k < L CMid(A, Lk1, 1) BBC: kk1 Loop Print B
490 第 15 章 基本程式語言
( D )3 下列 VB6.0 程式執行結果為何? 酎 314 酏 CBD 釕 BAD 釢 CAD。 Private Sub Form_Activate() B"314" For i1 To 3 Print (Chr(Asc(Mid(B,i,1))Asc("A")Asc("1"))) Next i ( A )4 在 Visual Basic 中, 下 列 字 串 運 算 的 結 果 為 何? Left ("access", 1) Choose(3, "i", "si", "pp", "imp") Right("grill", 1) Mid("next", 2, 1) 酎 "apple" 酏 "asign" 釕 "sign" 釢 "simple"。
【100 統測】
( C )5 下列哪一個 Visual Basic 的運算式執行後,可以獲得 "5 月 1 日 " 的結果? 酎 Left("20110501", 6) " 月 " Left("20110501", 8) " 日 " 酏 Mid("20110501", 1, 6) " 月 " Mid("20110501", 1, 8) " 日 " 釕 Mid("20110501", 6, 1) " 月 " Mid("20110501", 8, 1) " 日 " 釢 Right("20110501", 3) " 月 " Right("20110501", 1) " 日 "。
3
【100 統測】
( A )1 在 Visual Basic 中執行 Debug.Print Right ( Left("ABCDE",3 ) , 2) 其結果為何? 酎 BC 酏 CD 釕 DE 釢 CDE。 ( B )2 下 列何者為給定之 Visual Basic 程式語言函數執行後的結果? 酎 2 酏 4 釕 6 釢 8。 Debug.Print (Len(" 中華民國 ")) ( B )3 有一 Visual Basic 程式片段如下,即時運算視窗顯示的值為何? 酎 1.461 酏 22.49 釕 22.50 釢 24.85。 Dim Weight, Height As Integer Dim BMI Weight 65 : Height 170 BMI Weight / ( Height / 100) ^ 2 Debug.Print (Mid(BMI,1,5)) VB 語言中,若 X5678,則 Len(Str$(X)) 為下列何值? 酎 7 酏 6 釕 ( C )4 在 5 釢 4。 isual Basic 程 式 語 言 的 字 串 函 數 中,Mid$("abcxyz",3,2) 之 執 行 結 果 為 ( B )5 V 酎 bcx 酏 cx 釕 cxy 釢 bc。 ( B )6 下列程式執行結果為何? 酎 RED 酏 ARE 釕 YOU 釢 SMART。 A"YOUARESOSMART" IALen("APPLE") IBLen("RND") Debug.Print (Mid(A,IA,IB))
第 15 章 基本程式語言 491
六 、一般程序—Sub 程序 【語法】 VB6.0
VB2010
Sub 程序名稱([ByVal/ByRef] 參數 1[As 資料型 Sub 程序名稱(ByVal/ByRef 參數 1[As 資料型 態 ],......)
態 ],......)
敘述區段
敘述區段
[Exit Sub]
[Exit Sub]
End Sub
End Sub
其中 ByVal 代表傳值;ByRef 代表傳址,兩者相關意思於稍後介紹。 VB6.0 若在撰寫程式時沒有設定 ByVal / ByRef,則預設為 ByRef。 VB2010 若在撰寫程式時沒有設定 ByVal / ByRef,則系統會自動補上 ByVal。 【說明】 VB6.0
VB2010
1 程序名稱命名方式與變數名稱相同,同一個模組中不可以有兩個相同名稱的程序。 2 程序的執行會一直到 End Sub 為止,才會返回主程式呼叫程序的下一個敘述,但也可以使用 「Exit Sub」來強迫離開程序,返回主程式呼叫程序的下一個敘述。 3 Sub 程序內不可以再宣告其他的 Sub 或 Function,但可以呼叫其他的 Sub 或 Function。 4 參數可以為常數、變數、陣列或物件,若有多個引數,引數之間必須使用「,」分隔。 5 呼叫程序時,可使用 Call 來呼叫,例如:Call 程序名稱 ( 參數 1, 參數 2,......)。 6 可以省略 Call,直接使用程序名稱,但引 6 可以省略 Call,直接使用「程序名稱 ( 參數 1, 數的括號須省略,如「程序名稱 參數 1,
參數 2,......)」
參數 2,......」。
Add(A,B,C)
Add A,B,C 7 若呼叫者有資料要傳送給所呼叫的副程式,則必須藉由兩者相對應位置的參數來傳送,在一 般情形下兩者參數的數目與資料型態都要相同。 1 實際參數:為呼叫 Sub 或 Function 時,實際要傳給 Sub 或 Function 的參數,如下例的 A, B,C 參數。 2 形式參數:為 Sub 或 Function 程序中,用來承接主程式所傳入的參數,如下例的 x,y,z 參數。 主程式
主程式
Dim A As Integer, B As Integer, C As Integer
Dim A As Integer, B As Integer, C As Integer
A5:B10:C0
A5:B10:C0
Call add(A,B,C)
Call add(A,B,C)
Debug.Print (A&B&C)
Debug.Print (A&B&C)
副程式
副程式
Sub add(x As Integer, y As Integer, z As Integer)
Sub add(Byval x As Integer, Byval y As Integer, Byref z
zxy End Sub
As Integer) zxy End Sub
492 第 15 章 基本程式語言
七 、引數傳送的方式 分為傳址呼叫(Call by Address or Call by Reference)及傳值呼叫(Call by Value)二種。 1 傳址呼叫:為 VB6.0 的預設模式,或是在程序宣告時,其形式參數前加上 ByRef,則實際參數 傳送是「記憶體位址」,所以實際參數與形式參數「變數位址相同」,可看成共同相同使用記 憶體位址。 VB6.0
VB2010
主程式
主程式
Dim A As Integer, B As Integer, C As Integer
Dim A As Integer, B As Integer, C As Integer
A5:B10:C0
A5:B10:C0
Call add(A,B,C)
Call add(A,B,C)
Print A,B,C
Debug.Print (A,B,C)
副程式
副程式
Sub add(x As Integer, y As Integer, z As Integer)
Sub add(ByRef x As Integer, ByRef y As Integer, ByRef z As Integer)
zxy
zxy
End Sub
End Sub 以 VB6.0 來舉例說明,其 VB2010 涵意相同: 主程式 Dim A As Integer, B As Integer, C As Integer A5 : B10 : C0 Call add ( A, B, C ) Print A, B, C 1000H
1003H
1005H
Sub add (x As Integer, y As Integer, z As Integer) zxy (15510) End Sub 副程式
1000H 1001H 1002H 1003H 1004H 1005H 1006H 1007H
5
A B
10 0 → 15
C x y z
記憶體的使用情形
【說明】 1 在 主 程 式 執 行 時, 宣 告 了 A、B、C 變 數, 其 系 統 配 置 的 記 憶 體 位 址 為 1000H、1003H、 1005H,並設定了 5、10、0 的值。如上圖所示。 2 呼叫 add 時,程式執行權轉移至 add 程序,並產生了三個變數 x、y、z,這時主程式將 A 的 位址傳給了 x,B 的位址傳給了 y,C 的位址傳給了 z,故 x 與 A、y 與 B、z 與 C 的變數位址 相同,所以這時的 x 的值為 5,y 的值為 10,z 的值為 0。 3 執行時 zxy,x 的值、y 的值相加後設定給 z,這時候 z 與 C 的值為 15。 4 執行 End Sub 時,結束 add 程序,這時 x、y、z 變數也跟著被消除。 5 返回主程式時,A 的值為 5,B 的值為 10,C 的值為 15,程式執行結果為 5 10 15。
第 15 章 基本程式語言 493
2 傳值呼叫:在 VB6.0 中主程式呼叫時,在實際參數前後使用括號,例如:call add ((A),(B)); VB6.0 / 2010 在宣告一般程序時在形式參數前加上 ByVal,則參數傳送的是參數的「值」,所以 實際參數與形式參數是不使用相同的記憶體位址。 VB6.0 主程式 Dim A As Integer , B As Integer, C As Integer A5:B10:C0 Call add((A),(B),(C)) Print A,B,C 副程式 Sub add(x As Integer , y As Integer, z As Integer) zxy End Sub
VB2010 主程式 Dim A As Integer, B As Integer, C As Integer A5:B10:C0 Call add(A,B,C) Debug.Print A,B,C 副程式 Sub add(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) zxy End Sub
【說明】 1 在主程式執行時,宣告了 A、B、C 若系統配置的記憶體位址為 1000H、1003H、1005H,並 設定了 5、10、0 的值。 2 呼叫 add 時,程式執行權轉移至 add 程序,並產生了三個變數 x(1001H)、y(1004H)、z (1007H),這時主程式將 A 的值傳給了 x,B 的值傳給了 y,C 的值傳給了 z,所以這時的 x 值為 5,y 值為 10,z 值為 0,但這時 A、B、C 沒有跟 x、y、z 共用記憶體。 3 執行時 zxy,x 值、y 值相加後設定給 z,這時候 z 值為 15,但 C 值沒有被改變。 4 執行 End Sub 時,結束 add 程序,這時 x、y、z 變數也跟著被消除。 5 返回主程式時,A 的值為 5,B 的值為 10,C 的值為 0 ,程式執行結果為 5 10 0。
八 、自定 Function 函數 1 Function 與 Sub 程序最大的不同在於 Function 有傳回值,但 Sub 則沒有傳回值。 2 Function 函數的語法如下: Function 函數名稱(參數 1, 參數 2,......)[As 資料型別 ] 敘述區段 [Exit Function] 函數名稱 傳回值 End Function 【說明】 1 Function 的編輯方式與 Sub 程序相同。 2 若要傳回函數執行結果,則必須在 Function 程序內加入「函數名稱 傳回值(運算式)」。 3 Function 函數參數的傳送方式與 Sub 程序相同。 4 函數名稱的命名規則與變數名稱相同,除非有使用 As 宣告函數名稱的資料型別(也就是傳回 值的資料型別),否則預設為自由型別。 5 呼叫 Function 函數的方式:變數名稱 函數名稱(參數 1, 參數 2,......)
494 第 15 章 基本程式語言
範例程式
說明
Sub main( ) Dim A As Integer, B As Integer, C As Integer A2:B5 1 A2 與 B5 傳 送 給 add 函 數 的 x、y Cadd(A,B) 變數,所以 x2,y5。 Debug.Print (C) 2 使用傳值呼叫。 End Sub 3 For ix To y For i2 To 5。 Function add(ByVal x As Integer, ByVal y As Integer) 4 執行 For 迴圈,結果為 sum2345 As Integer 14。 Dim i As Integer, sum As Integer 5 addsum,add14 所傳回值為 14。 For ix To y 6 執行 add 函數後,C 的值為 14。 sumsumi 7 程式執行結果為 14。 Next i addsum End Function
4
4
( C )1 執 行完下列 Visual Basic 6.0 的
( D )1 有 關 下 列 Visual Basic 6.0 程 式
Form_Activate 程式後,印出結
碼的執行結果,何者正確?
果 為 何? 酎 P(5,6,2) 酏 11
酎 10 酏 13 釕 20 釢 29。
釕 121 釢 562。
Private Sub Form _ Activate( ) Dim A, B as Integer A2:B1 Print F(A, F(A , B)) End Sub Function F(ByVal X As Integer, ByVal Y As Integer) FX^2Y^2 End Function
Private Sub Form_Activate( ) Dim X, Y, Z As Integer X5 : Y6 : Z2 Print P(X,Y,Z) End Sub Function P(ByVal A As Integer, ByVal B As Integer, ByVal C As Integer) P(AB)^C End Function ( C )2 假 設整數 a 之初始值為 3,則
( D )2 下 列的 Visual Basic 6.0 函數,
執行 Visual Basic 的 call test(a,
在 執 行 Print I2J(3,6) 後, 結 果
a, a) 敘 述 (Statement), 呼
為 何? 酎 9 酏 12 釕 15
叫下列副程式回到主程式後,
釢 18。
a 之值為何? 酎 3 酏 12 釕 15 釢 18。
【94 二技】
Sub test(ByRef x As Integer, ByRef y As Integer, ByVal z As Integer) xxy yxyz End Sub
Private Function I2J(ByVal I As Integer, ByVal J As Integer) k0 For aI To J kka Next a I2Jk End Function
第 15 章 基本程式語言 495
基礎練習 填充題(在 VB6.0 中) 1 Fix(5.5) 5 ,Int(5.5) 5 ,Int(5.5) 6 ,CInt(5.5) 6 ,CInt(4.51) 5 , CInt(4.5) 4 。 2 利用 Rnd、Int,產生一個 A 到 B 之間的整數亂數,其方法為 Int(Rnd( )*(BA1))A 。 3 Abs(5) 5 ,Abs(5) 5 ,Sgn(100) 1 ,Sgn(0) 0 ,Sgn(1000) 1 , Sqr(4) 2 ,Exp(0) 1 ,Log(1) 0 。 4 U Case("aABb") "AABB" ,LCase("aABb") "aabb" ,Len("aABb") 4 , String(4,"aABb") "aaaa" 。 Space(4) "
" , L e f t ( " a A B b " , 2 ) " a A " , R i g h t ( " a A B b " , 2 ) " B b " ,
Mid("aABb",2,2) "AB" 。 5 Val("1234") 1234 ,Str(1245) " 1245" ,Asc("aABb") 97 ,Chr(65) "A" 。 6 一般程序的宣告語法為: Sub 程序名稱([ 參數 1, 參數 2,......]) 程序的敘述 End Sub 7 一般函數的宣告語法為: Function 函數名稱([ 參數 1, 參數 2,......])[As 資料型別 ] 程序的敘述 函數名稱 傳回值 End Function 8 一 個一般程序的執行會一直到 End Sub 為止,才會返回主程式的下一個敘述,但也可以使 用「 Exit Sub 」來強迫離開一般程序返回主程式的下一個敘述。 9 一般程序的引數可以為常數、 變數 、陣列或物件,若有多個引數,引數之間必須使用 「 , 」分隔。 0 呼 叫程序時,可使用 Call 來呼叫,例如:Call 程序名稱(引數 1, 引數 2,......),也可以省略 Call 敘述,直接使用程序名稱,但引數的 括號 須省略。 q 若呼叫者有資料要傳送給所呼叫的程序,則必須藉由兩者之 參數 來傳送,其數目與資料型 態都要相同。 w 若要傳回函數執行結果,則必須在 Function 程序內加入「 函數名稱 傳回值 」。
基礎練習
496 第 15 章 基本程式語言
綜合練習 ( A )1 程式開發的步驟: 泝 問題的定義;沴 問題的分析與設計;沊 程式的撰寫;沝 程式的除錯; 沀 程式的維護。其正確的順序為 酎 泝 沴 沊 沝 沀 酏 沴 泝 沊 沀 沝 釕 沊 沴 泝 沝 沀 釢 泝沊沴沝沀。
( C )2 下列對於高階程式語言的敘述,何者不正確? 酎 高階語言的語法和人類的語言較為 接近,故較容易編寫 酏 高階語言無法直接執行,需透過翻譯程式翻譯成機器語言才 能執行 釕 組合語言因需透過翻譯程式翻譯成機器語言才能執行,故組合語言是高階 語言 釢 高階語言執行的速度較低階語言慢。 ( A )3 下 列哪一類的程式語言執行速度最快,而且不用透過翻譯程式就可以直接執行? 酎 機器語言 酏 C 語言 釕 組合語言 釢 低階語言。 ( B )4 執行完下列 Visual Basic 程式片段後,要使變數 c 的結果為 "ABC123ABC",須執行下 列哪一選項? 酎 caba 酏 ca & b& a 釕 cab & a 釢 ca & ba。 【101 統測】 Dim a, c As String Dim b As Integer a"ABC" : b123 ( B )5 如果要撰寫一個計算機應用程式,最不適合的語言為 酎 C 酏 機器語言 釕 組合語 言 釢 Java。 ( D )6 Visual Basic 可使用下列哪一種翻譯程式? 酎 直譯器 酏 編譯器 釕 組譯器 釢 直譯 器或編譯器。 ( D )7 在 VB6.0 中,右圖所設計的表單,使用了幾個物件(表單不 計)? 酎 15 酏 16 釕 17 釢 18。 ( B )8 承 上題,「開獎」(Command1)的按鈕呈灰色無法使用,是 如 何 設 定 的? 酎 Command1.EnabledTrue 酏 Command1. EnabledFalse 釕 Command1.HideTrue 釢 Command1. HideTrue。 ( B )9 在 VB6.0 中,表單上的「大樂透開獎模擬程式」文字,是使用什麼控制項? 酎 文字方 塊(Text Box) 酏 標籤(Label) 釕 按鈕(Command) 釢 文字顯示器。 ( C )0 在 VB6.0 中,如果按下「開獎」的按鈕(名稱為 Command1),便將中獎號碼顯示於標 籤上,請問「將中獎號碼顯示於標籤上」這程序須撰寫於何處? 酎 Sub Command1_ 開 獎 ( ) 酏 Function Command1_ 開 獎 ( ) 釕 Sub Command1_Click( ) 釢 Function Command1_Click( )。 ( A )q 在 VB6.0 中,將中獎號碼顯示於標籤上,應如何撰寫? 酎 Label1.Caption'' 中獎號碼 '' 酏 '' 中獎號碼 ''Label1.Caption 釕 Label1.Text'' 中獎號碼 '' 釢 Label1_Caption'' 中獎 號碼 ''。 ( A )w 在 VB6.0 中,若在程式中宣告了一個 Dim A(6) As Integer 用來存放中獎號碼,其總共產 生幾個陣列元素? 酎 7 酏 6 釕 12 釢 14。
第 15 章 基本程式語言 497
( B )e 承上題,其 A 陣列所占的記憶體空間大小為何? 酎 6 Bytes 酏 14 Bytes 釕 12 Bytes 釢 6 Bytes。 ( C )r 在 Visual Basic 程式中,如何產生 1 ∼ 42 之間的整數亂數? 酎 Int(Rnd( )*41)1 酏 Int(Rnd( )*42) 釕 Int(Rnd( )*42)1 釢 Int(Rnd( )*41)。 ( D )t 圖 a 為 VB6.0 按下對獎(Command3) 按鈕後的執行結果,應使用下列哪一 個 指 令 可 出 現 圖 b 的 會 話 方 塊? 酎 Print 酏 Input 釕 InputBox 釢 MsgBox。 ( B )y VB 的運算子有: 泝 邏輯運算子、 沴 算 術運算子、沊 串接運算子、沝 比較運算 子,其運算的先後順序為 酎 泝 沴 沊
a
b
沝 酏 沴 沊 沝 泝 釕 沴 沝 沊 泝 釢 沴 泝 沊 沝 。
( D )u 2 的平方應如何表示? 酎 (2^2) 酏 2^(2) 釕 (2^2) 釢 (2)^2。 4acb2 ( C )i 數學式子 a2b2 ,如果以 VB 的運算式來表示其結果為何? 酎 4*a*cb^2 / a*b 酏 (4*a2b2a*cb^2)/ ab 釕 (4*a*cb^2)/(a^2b^2)^0.5 釢 (4*c*bb^2) /(a^2/b^2)^0.5。 ( B )o "abcd" > "AB" 為「True」的依據為何? 酎 因為 "abcd" 字串的長度大於 "AB" 酏 因 為 "a" 的 ASCII 碼為 97,大於 "A" 的 65 釕 在一般的觀念中,英文小寫是大於英文大 寫 釢 是因為 VB 的工程師自訂的,沒有任何規則。 ( A )p 在字串資料的比較中,常見的有:泝「空白」、沴「數字」、沊「英文字母大寫」、沝「英 文字母小寫」、沀 「中文」,其大小關係由小到大排列為 酎 泝 沴 沊 沝 沀 酏 沀 沝 沊 沴 泝 釕 沴 泝 沊 沝 沀 釢 沀 泝 沊 沝 沴 。
( B )a 若 在 VB 中,"123""456" 其「」是執行什麼種類的運算子? 酎 算術運算 酏 串 接運算 釕 邏輯運算 釢 比較運算。 ( A )s 承上題,其執行結果為 酎 123456 酏 579 釕 True 釢 False。 ( A )d 在邏輯運算符號中,哪一個的運算順序最高? 酎 NOT 酏 AND 釕 OR 釢 XOR。 ( A )f 在 Visual Basic 中,運算式 3*2^2 Mod 3*26\4/2,結果為何? 酎 3 酏 4 釕 5 釢 6。
【101 統測】
( A )g 在 VB 中,下列何者是系統提供給物件,使該物件產生一特定功能,使用者不能設定只 能引用? 酎 方法 酏 事件 釕 屬性 釢 類別。 ( B )h 若要將程式加上註解,須在註解說明的文字前加上什麼符號? 酎 : 酏 ' 釕 " 釢 ;。 ( C )j 若一 VB 程式如下,則呼叫 Fab(4) 會得到結果為 酎 2 酏 3 釕 5 釢 8。 Private Function Fab(ByVal a As Integer) As Integer if a < 1 then Fab1 else FabFab(a1)Fab(a2) End Function ( A )k 下 列 哪 一 個 Visual Basic 程 式 語 言 敘 述, 會 先 判 斷 測 試 條 件 為 真(True) 時, 才 執 行 迴 圈 內 的 敘 述? 酎 Do While...Loop 酏 Do Until...Loop 釕 Do...Loop While 釢 Do...Loop Until。
【101 統測】
498 第 15 章 基本程式語言
( C )l 下 列哪一個 VB 敘述最適合用來做多個選擇的決策? 酎 If...Then...Else 酏 For...Next 釕 Select Case 釢 Do...Loop Until。 ( D ); 若一 VB 程式如下,則呼叫 Test(1,4,3) 會得到結果為 酎 0 酏 1 釕 2 釢 3。 Private Function Test(ByVal a, ByVal b, ByVal c) As Single Test((b)(b^24*a*c)^0.5) / (2*a) End Function ( C )z 若一 VB 程式如下,則執行主程式 Main( ),其結果會印出變數 a 的值為 酎 1 酏 0 釕 1 釢 2。 Private Sub Good(ByRef s As Integer) ss1 End Sub Private Sub Bad(ByVal t As Integer) tt2 End Sub Private Sub Main( ) dim a As Integer a0 Call Good(a) Call Bad(a) Debug.Print(a) End ( C )x 下 列哪一個 VB 敘述是先執行迴圈內的敘述,再判斷測試條件成真時,才重複執行 迴 圈 內 的 敘 述? 酎 Do While...Loop 酏 Do Until...Loop 釕 Do...Loop While 釢 Do...Loop Until。 ( B )c 關於 For...Next 敘述,下列何者正確? 酎 For 的遞增值若為 1 或 1,則 Step 可省略 不寫 酏 Next 後面的控制變數可省略不寫 釕 For 的終值不得小於初值 釢 For 的初值 若為 1,則可省略不寫。 ( D )v 依序執行下列 VB 敘述,其結果為 酎 45 10 酏 55 10 釕 45 11 釢 55 11。 Dim S, I As Integer S0 For I1 To 10 SSI Next I Debug.Print(S & I) ( C )b 執行下列 VB6.0 程式,將顯示 S 值為 酎 36 酏 45 釕 55 釢 66。 Dim S, X, Y As Integer S0:X1 While X < 10 Y1 While Y < X SS1 YY1 Wend XX1 Wend Debug.Print(S)
第 15 章 基本程式語言 499
( C )n 下列 Visual Basic 6.0 的 7 行程式執行運算後,如果要得到下面所列的執行結果,請問程 式第三行空白處應填入哪一個運算式? 酎 i 1 酏 Int (i) 1 釕 Abs (i) 1 釢 i。 [ 執行結果 ] Dim i , j As Integer ***** For i 4 To 4 **** For j 1 To _________ *** Print "*" Next j ** Print * Next i ** *** ****
【101 統測】 ***** ( D )m 依序執行下列 VB 敘述,其結果將顯示幾個星號(*)? 酎 3 酏 4 釕 5 釢 6。 Dim I, J As Integer For I1 To 3 For J1 To I Debug.Print("*") Next J Next I ( C ), 執行下列程式將顯示 酎 12 酏 36 釕 48 釢 99。 Dim K, I, J As Integer K3 Dim B(K,K) For I1 TO K For J1 TO K B(I,J)K*(I1)J Next J Next I Debug.Print(B(2,3)*B(3,2)) End ( A ). 執行完下列 Visual Basic 程式片段後,會在即時運算視窗顯示幾個星號? 酎 5 酏 6 釕 9 釢 10。 Dim A, B As Integer B10 For A1 To B Step 1 If (A MOD 20 ) Then Debug.Print ("*") Next A
【101 統測】
( A )/ 下列 Visual Basic 程式執行完畢,A 的值為何? 酎 1 酏 1 釕 2 釢 2。 Dim A, B As Integer A1:B2 CALL CHANGE(A,B) END SUB CHANGE(ByRef X As Integer, ByVal Y As Integer) XX:YY END SUB