05855BB07.indd

Size: px
Start display at page:

Download "05855BB07.indd"

Transcription

1 7 陣列 去游泳時, 通常都會將換下的衣物放到池畔邊的儲物櫃中 每個儲物櫃都有一個用來識別的編號, 我們必須記住自己的儲物櫃編號, 才能在更衣時正確地取回自己的衣物 在程式語言中, 也提供了一種類似儲物櫃的資料結構, 可用來組織及管理相同類型的資料, 這種結構稱為陣列 陣列不僅可以將程式所使用到資料項目做組織 歸納, 還可以減少在程式中使用過多的變數, 使程式較為簡潔 在程式設計實務中, 當需要將龐大筆數的資料排序, 或從大筆資料中找尋某些特定資料時, 通常會先將資料存放在陣列中, 以利資料排序與資料搜尋的處理 趕快進入本章, 學會使用 陣列 這個程式撰寫的利器吧! 7-1 認識陣列 一維陣列 多維陣列 7-2 陣列的應用 資料排序 資料搜尋

2 268 程式語言與設計 -Visual Basic Ⅰ 7-1 認識陣列 在 Visual Basic 中, 一個變數可以存入一項資料, 若要存放 10 項資料就必須設定 10 個變數, 當要存放數千甚至數萬項資料時, 變數的數量就會十分龐大, 而變得不易於管理及使用 Visual Basic 提供的陣列 (array) 可用來解決上述問題 圖 7-1 為使用陣列宣告與多個變數宣告的比較 宣告一個可存放 50(0 ~ 49) 筆成績的陣列, 只需一行宣告敘述宣告 50 個可存放成績的整數變數, 共需 50 行宣告敘述 Dim score(49) As Integer Dim score1 As Integer Dim score2 As Integer Dim score3 As Integer Dim score50 As Integer 圖 7-1 使用陣列宣告與多個變數宣告的比較 陣列是由一群資料型別相同的陣列元素 (elements) 所組成 每一個陣列元素可以存入一個資料項目, 這些資料項目通常會儲存在電腦相鄰的記憶體中 當我們要存取陣列中的資料項目時, 必須使用陣列的註標 (index) 來標示所要存取的資料項目 註標值預設從 0 開始 ( 圖 7-2) 名稱 陣列元素 註標 陣列 A 圖 7-2 陣列示意圖 第 3 個元素 ( 註標值為 2) 中存放的資料為 30, 可用 A(2) = 30 表示 陣列的形式有很多種, 一般常依據陣列的註標個數, 將陣列概分為㆒維陣列 及多維陣列, 分別說明如下

3 第 7 章 陣列 一維陣列 ㆒維陣列是陣列最基本的形式, 其註標只有 1 個 在使用一維陣列來儲存資料之前, 必須先使用陣列宣告敘述, 宣告陣列的元素個數與資料型別, 其語法如下 一 宣告陣列 : 語法 & 舉例 宣告陣列 A 可存放 4 個整數資料 Dim 陣列名稱 ( 註標上限 ) [As 資料型別 ] Dim A(3) As Integer 陣列 A Dim 陣列名稱型別字元 ( 註標上限 ) Dim A%(3) 陣列 A 說明 1 陣列名稱的命名規則與變數命名規則相同 2 陣列的註標值預設從 0 開始, 因此陣列元素個數 = 註標上限 + 1, 例如 A(3), 有 A(0) A(1) A(2) A(3) 共 4 個陣列元素 3 未宣告資料型別, 則資料型別預設為 Object( 物件 ) 4 宣告陣列時, 若未指定初始值,Visual Basic 會依宣告的資料型別, 自動預設陣列各元素的初始值 例如 : 料型別數值類 ( 如 Integer Single) 字串 (String) 物件(Object) 布林 (Boolean) 初始值 0 空值 (null) False

4 270 程式語言與設計 -Visual Basic Ⅰ 5 陣列宣告後, 電腦會為陣列預留一塊連續的儲存空間, 如下表所示 : 表 7-1 陣列所佔用的儲存空間之範例 註範例陣列元素個數佔用空間 Dim A(10) As Integer bytes = 44 bytes Dim A(5) As Single bytes = 24 bytes Dim X(9) As Long bytes = 80 bytes Dim X(4) As Double bytes = 40 bytes 6 陣列宣告後, 可使用 陣列名稱 ( 註標 ) 的語法來存取或更改陣列元素的資料內容 例如 A(3) = 10 A(1) = A(2) + A(3) Tip 在 VB 6 以後的版本, 已不提供設定陣列上 下限值的語法 Dim 陣列名稱 (M To N), 但仍可設定陣列的上限值 Dim 陣列名稱 (0 To N), 因為陣列的下限值固定為 0, 不可更動 二 宣告陣列並設定初始值 : 語法 & 舉例 宣告陣列 A 可存放 4 個整數資料, 並設定初始值依序為 Dim 陣列名稱 [() As 資料型別 ]=[New 資料型別 ( 註標上限 )] { 陣列元素初始值 } Dim A() As Integer = {24, 5, 13, 47} 陣列 A 說明 1 若省略資料型別的宣告,VB 會依照初始值內容, 自動選用合適的資料型別 例如 :Dim A = {10, 6} ' 動宣告成 Integer( 整數 ) Dim B = {"X", "Y"} ' 動宣告成 String( 字串 ) 2 設定陣列元素初始值, 必須以逗號 (,) 區隔 註 : 不同資料型別的陣列元素所佔用的儲存空間不盡相同, 請參照第 節表 2-3 說明

5 第 7 章 陣列 若設有註標上限, 就必須設定與陣列元素相等個數的初始值 例如 :Dim A = New Integer(3) {8, 2, 4, 9} 誤Dim B = New String(2) {"A", "B"} ' 需設定 3 個初始值錯Tip 上述用來宣告陣列並設定初始值的敘述, 是由以下 2 行程式敘述組成 Dim 陣列名稱 () As 資料型別 ' 宣告陣列陣列名稱 = [New 資料型別 ( 註標上限 )] { 陣列元素初始值 } ' 設定初始值 例 1 顯示陣列 A(3) 的內容 程式碼 內文範例 "ch7-1a.sln" Private Sub Form1_Load( ) Handles MyBase.Load Dim A() As String = {" 周杰倫 ", " 陳漢典 ", " 阮經天 ", " 柯震東 "} MsgBox(" 我的偶像 :" & A(3)) End Sub 執行結果 例 2 計算陣列元素 A(0) 的值 程式碼 內文範例 "ch7-1b.sln" 解析 Private Sub Form1_Load( ) _ Handles MyBase.Load Dim A(5), K As Integer A(5) = 0 A(4) = 2 For K = 5 To 2 Step -1 A(K - 2) = A(K) + A(K - 1) Next K End Sub K = 5 To 2 Step -1 A(K - 2) = A(K) + A(K - 1) A(5-2) = A(5) + A(5-1) A(3) = = 2 A(4-2) = A(4) + A(4-1) A(2) = = 4 A(3-2) = A(3) + A(3-1) A(1) = = 6 A(2-2) = A(2) + A(2-1) A(0) = = 10 陣列 A

6 (A)1 (B)2 (C)3 (D)4 統測馬272 程式語言與設計 -Visual Basic Ⅰ 練習 ( )1. 下列 Visual Basic 宣告敘述, 何者不正確? (A)Dim X(1 To 5) As Integer (B)Dim T As String (C)Dim A(19) As Integer (D)Dim Beauty As Boolean ( )2. Visual Basic 的陣列註標, 是從哪一個數值開始? (A)0 (B)1 (C)2 (D)3 ( )3. 若陣列 A 之內容如下圖, 執行 MsgBox(A(A(2) + 1) + 1) 指令後答案為何? 統測 陣列 A 內容 註標 ( )4. 執行下列 Visual Basic 程式的最後輸出結果? (A)6 (B)8 (C)16 (D)21 技競 Dim P(10) a = 8 P(0) = 0 P(1) = 1 For i = 2 To a P(i) = P(i - 1) + P(i - 2) Next MsgBox(P(a)) ( )5. 執行下列 Visual Basic 程式片段, 請問最後 a 的值為何? (A)0 (B)1 (C)5 (D)10 技競 Dim x(10) As Integer a = 0 For i = 10 To 1 Step -1 x(i) = i Mod 2 : a = a + x(i) Next

7 第 7 章 陣列 273 程式設計實例 猜猜原唱者是誰 建立 "ans7-1a.sln" 新專案, 設計一支可隨機顯示歌名, 並讓遊戲者根據該 歌名猜原唱者是誰的程式 ( 圖 7-3) 1 以點選的方式, 猜歌曲的原唱者 1 若配對正確, 會顯示 " 答對了!"; 反之, 顯示 " 答錯了!" 2 按答案鈕 2 圖 7-3 猜猜原唱者是誰範例的執行結果 Step1- 設計表單畫面 ( 或開啟已佈建好控制項的範例檔案 "ex7-1a.sln") 1. 在表單上佈建如圖 7-4 所示的控制項, 其中 1 個 Label( 標籤 ) 控制項, 應佈建在 GroupBox( 群組方塊 ) 內 圖 7-4 猜猜原唱者是誰範例的表單佈建畫面

8 274 程式語言與設計 -Visual Basic Ⅰ 2. 依下表設定控制項的相關屬性 表 7-2 控制項的屬性設定 控制項名稱 屬性 設定值 Form1 Text 猜猜原唱者是誰 Button1 Text 答案 GroupBox1 Text 歌名 Label1 Text 猜猜這首歌原唱者是誰? Font 字型大小 :16pt Label2 ForeColor Blue( 藍色 ) Text ( 空白 ) 3. 本實例將使用 ListBox( 清單 ) 控制項來顯示歌手的姓名, 以下是 ListBox 控制項的使用說明 ListBox 控制項 ListBox( 清單 ) 控制項可用來顯示一串特定的清單資料 ( 圖 7-5), 讓使用者從清單中點選所需資料項目 表 7-3 為此種控制項常用的屬性及方法 ListBox ( 清單 ) 圖 7-5 Excel 儲存格格式交談窗 (ListBox 的使用實例 )

9 第 7 章 陣列 275 表 7-3 ListBox 控制項常用的屬性及方法 性SelectedIndex 功能屬傳回清單內被選取之項目的索引值, 索引值從 0 開始編號 ( 此屬性只能透過程式敘述來取得 ) Count 傳回清單內的項目總數 ( 此屬性只能透過程式敘述來取得 ) Items 設定清單內要顯示的項目 屬性 / 方法 SelectedItem Text 傳回清單內被選取之項目 ( 此 2 項屬性值皆只能使用程式敘述取得 ) Sorted 方法Items.Add() Items.Remove() 設定清單內的資料項目是否要排序,True 為要排序 ;False 為不需排序 ( 預設值 ) 可讓程式設計者在程式執行階段, 將資料項目加入至清單內, 其語法為清單控制項名稱.Items.Add(" 資料 ") 可讓程式設計者在程式執行階段, 移除清單內的資料項目, 其語法為清單控制項名稱.Items.Remove(" 資料 ") Step2- 解題分析 1. 宣告 2 個一維陣列 (song singer), 分別用來儲存 5 首歌的歌名 (" 小幸運 " " 愛不需要裝乖 " " 我不離開 " " 可惜沒如果 " " 喜劇之王 ") 及這 5 首歌的原唱者姓名 (" 田馥甄 " " 謝和弦 " " 戴愛玲 " " 林俊傑 " " 李榮浩 ") 2. 利用 For Next 迴圈敘述在清單 (ListBox1) 中加入 5 位歌手的姓名 3. 從儲存在陣列 (song) 中的 5 首歌, 隨機挑出一首歌並顯示在標籤 (Label2) 中 4. 單按 (Click) 答案鈕後, 利用 If Then Else 敘述判斷使用者所點選的歌手姓名是否正確

10 276 程式語言與設計 -Visual Basic Ⅰ 5. 圖 7-6 為本程式實例的流程圖 開始 宣告變數 陣列, 並設定陣列的初始值 i = 0 i <= 4 否 (F) 是 (T) 在 ListBox1 加入第 i 位原唱者的姓名 i = i + 1 初始化亂數產生器 n = 0 ~ 4 間的亂數 顯示第 n 首歌名 開始 是否點選正確項目? 是 (T) 顯示 " 答對了!" 否 (F) 顯示 " 答錯了!" 結束 結束 表單 Load 事件程序的執行流程 答案鈕 Click 事件程序的執行流程 圖 7-6 猜猜原唱者是誰範例的流程圖 step3- 撰寫程式 按檢視程式碼鈕, 開啟程式碼視窗, 分別在 Form1_Load Button1_ Click 事件程序中, 撰寫如下的程式碼

11 第 7 章 陣列 Dim n As Short Private Sub Form1_Load( ) Handles Me.Load Dim i As Short Dim singer(4), song(4) As String song = {" 小幸運 " " 愛不需要裝乖 " " 我不離開 " " 可惜沒如果 " " 喜劇之王 "} singer = {" 田馥甄 " " 謝和弦 " " 戴愛玲 " " 林俊傑 " " 李榮浩 "} For i = 0 To 4 ' 將歌手 單加入 清單 ListBox1.Items.Add(singer(i)) Next Randomize() n = Int(Rnd() * 5) ' 隨機產生 1 個介於 0~4 之間的整數亂數 Label2.Text = song(n) End Sub Private Sub Button1_Click( ) Handles Button1.Click If n = ListBox1.SelectedIndex Then MsgBox(" 答對了!",, " 答案揭曉 ") Else MsgBox(" 答錯了!",, " 答案揭曉 ") End If End Sub 說明 10 : 將變數 n( 隨機產生的亂數 ) 宣告的位置, 置於事件程序的上方, 則該變數可被表單檔中的任一程序使用 : 宣告程式需使用的變數 i ( 計數 ), 及宣告 2 個一維陣列 song( 歌名 ) singer( 原唱者的姓名 ) : 設定 2 個一維陣列的初始值 : 利用 For Next 迴圈敘述及 Items.Add() 方法, 將原唱者的姓名加入至清單 (ListBox1) 中 90 : 設定亂數的序列, 避免程式每次執行時, 皆產生相同的一組亂數 100 : 產生 1 個介於 0 ~ 4 之間的整數亂數, 並指定給 n 110 : 依照 n 值, 在標籤 (Label2) 中顯示對應的歌名 : 利用 If Then Else 敘述, 判斷使用者所點選的選項是否正確, 並顯示答對與答錯的訊息

12 278 程式語言 -Visual Basic I 2 課想 若要增加當遊戲者猜對, 可繼續猜下一首歌曲的原唱者之功能, 並記錄答對的題數, 上述程式應如何修改?( 提示 : 將原宣告陣列 song singer 的敘述, 移至事件程序的上方, 並在 Button1_Click 中的 If Then Else 敘述加入, 若答對, 繼續顯示下一首歌曲名稱, 並累計答對題數 ; 若答錯, 則結束程式 ) 成果預覽 : Label 多維陣列 只有 1 個註標的陣列稱為㆒維陣列, 含有 2 個註標之陣列稱為㆓維陣列, 含有 3 個註標之陣列稱為㆔維陣列 ( 圖 7-7), 依此類推 當陣列的註標個數超過 1 個 時, 我們稱這種陣列為多維陣列 陣列 A 第一維(列) 第二維 ( 欄 ) A(1, 3) A(3, 1) A(5, 2) B 維陣列 維2 17 第三維第0 1 二維陣列 A(6, 3) 三維陣列 B(1, 3, 2) 圖 7-7 ㆓維陣列及㆔維陣列的示意圖 一第二 B(1, 0, 1) B(0, 1, 2) B(0, 3, 0)

13 第 7 章 陣列 279 若資料可用 1 個註標值來識別, 可使用一維陣列來儲存, 例如儲存全班同學的某一科成績 ( 註標值可代表座號 ); 若資料需要使用 2 個註標值來識別, 則需使用二維陣列來儲存, 例如儲存全班同學的國 英 數三科成績 ( 第 1 維註標值代表座號, 第 2 維註標值代表科目別 ) 一 宣告陣列 : 語法 & 舉例 宣告陣列 A 可存放 12(3 4) 個整數資料 Dim 陣列名稱 (n1, n2, ) [As 資料型別 ] 陣列 A Dim A(2, 3) As Integer Dim 陣列名稱型別字元 (n1, n2, ) Dim A%(2, 3) 說明 1 陣列的註標個數 表陣列的維數, 例如 2 個註標為二維陣列 ( 如 A(2, 4)) 3 個註標為三維陣列 ( 如 B(2, 4, 3)), 以此類推 2 以 A(2, 4) 為例 ( 圖 7-8), 陣列元素個數 = (2 + 1) * (4 + 1) = 15 陣列 A 0 (0, 0) (0, 1) (0, 2) (0, 3) (0, 4) 3 列 1 (1, 0) (1, 1) (1, 2) (1, 3) (1, 4) 2 (2, 0) (2, 1) (2, 2) (2, 3) (2, 4) 欄 圖 7-8 ㆓維陣列的範例 3 陣列宣告後, 可使用 陣列名稱 ( 註標 1, 註標 2, ) 的語法來存取或更改陣 列中的資料內容 例如 A(1, 3) = 10 A(3, 2) = A(0, 2) + A(3, 1)

14 錯誤280 程式語言與設計 -Visual Basic Ⅰ 二 宣告陣列並設定初始值 : 語法 & 舉例 宣告陣列 A 可存放 6 個整數資料, 並設定初始值依序 Dim 陣列名稱 [(, ) As 資料型別 ] = [New 資料型別 (n1, n2 )] {{ 陣列元素初始值 }, { 陣列元素初始值 }, } 設定第 0 列 A(0, 0) A(0, 1) A(0, 2) 等 3 個陣列元素的初始值 陣列 A Dim A(,) As Integer = {{10, 20, 30}, {40, 50, 60}} 設定第 1 列 A(1, 0) A(1, 1) A(1, 2) 等 3 個陣列元素的初始值 說明 1 陣列名稱後的小括號內, 需以逗號來表示陣列的維數, 逗號的數目為 陣列維數 -1, 例如加入 1 個逗號表示宣告一個二維陣列 加入 2 個逗號表示宣告一個三維陣列 以此類推 2 在語法中的 New 資料型別 (n1, n2, ) 敘述, 其資料型別後的小括號內, 也可直接以逗號來表示陣列的維數 若直接標示註標上限, 就必須設定與陣列元素個數相對應的初始值 例如 : Dim P(,) = New Integer(,) {{2, 4, 8}, {3, 6, 9}, {6, 12, 24}} Dim Q(,) = New String (1, 2) {{"A", "B", "C"}, {"D", "E", "F"}} Dim R(,) = New Integer(2, 2) {{12, 24, 48}, {3, 6, 9}} 陣列元素個數 = (2 + 1) * (2 + 1) = 9 設定的初始值數少於 9 個

15 第 7 章 陣列 281 例 1 求 sum 值 程式碼 內文範例 "ch7-1c.sln" 解析 Private Sub Form1_Load( ) Handles MyBase.Load Dim sum As Integer Dim A(,) As Integer = {{3, 3}, {2, 1}, {0, 8}} sum = A(A(2, 0) + 1, 1) + 1 End Sub A(A(2, 0) + 1, 1) + 1 = A(0 + 1, 1) + 1 = A(1, 1) + 1 = = 2 陣列 A 例 2 計算陣列元素 B(2, 1) 與 B(3, 2) 相乘的結果 程式碼 內文範例 "ch7-1d.sln" 解析 Private Sub Form1_Load( ) Handles MyBase.Load Dim B(3, 2), K, I, J As Integer K = 3 For I = 0 To 3 For J = 0 To 2 B(I, J) = K * (I - 1) + J Next J Next I End Sub B(I, J) = K * (I - 1) + J B(2, 1) = 3 * (2-1) + 1 = 3 * = 4 B(3, 2) = 3 * (3-1) + 2 = 3 * = 8 故 B(2, 1) * B(3, 2) = 4 * 8 = 32 陣列 B

16 282 程式語言與設計 -Visual Basic Ⅰ 堆疊與佇列 資料結構 (data structure) 是用來組織及管理資料的結構設計, 使用資料結構可將資料建立成為一個便於取用與處理的結構, 以節省資料的儲存空間, 並提昇資料處理的速度 前述所介紹的陣列, 及下列將介紹的堆疊與佇列是 3 種基本的資料結構 堆疊 (stack): 具有後進先出 (Last In First Out, LIFO) 特性 資料存取規則 是 : 資料項目加入時, 只能加到堆疊的頂端 (top); 取出資料項目時, 必須由頂端將資料優先取出 網頁瀏覽器中用來切換上 下一頁的功能即為堆疊的應用 例如 push 10 push 8 pop push 36 pop pop 後, 依序輸出的數值為 ( 圖 7-9) 1 push 10 2 push 8 4 push pop( 輸出 8) 5 pop( 輸出 36) 6 pop( 輸出 10) 圖 7-9 堆疊增刪範例的示意圖 佇列 (queue): 具有先進先出 (First In First Out, FIFO) 特性 資料存取規 則是 : 加入資料項目時, 只能從佇列的尾端 (rear) 加入 ; 取出資料項目時, 則只能從佇列的前端 (front) 取出 印表機列印文件的順序即為佇列的應用 例如依序加入 10 加入 8 刪除元素 加入 36 刪除元素 加入 2 後, 佇列的內容為 36 2( 圖 7-10) 1 加入 10 2 加入 8 4 加入 36 6 加入 刪除元素 5 刪除元素 圖 7-10 佇列增刪範例的示意圖

17 第 7 章 陣列 283 程式設計實例 血型性格分析 建立 "ans7-1b.sln" 新專案, 設計一個可依使用者點選的性別及血型, 來顯 示對應性格的程式 ( 圖 7-11) 1 點選性別 ( 如男 ) 2 選擇血型 ( 如 O 型 ) 按分析鈕, 即會顯示性格分析結果 3 圖 7-11 血型性格分析範例的執行結果 Step1- 設計表單畫面 ( 或開啟已佈建好控制項的範例檔案 "ex7-1b.sln") 1. 在表單上佈建, 如圖 7-12 所示之控制項, 其中 2 個 RadioButton( 選項按鈕 ) 控制項, 應佈建在 GroupBox( 群組方塊 ) 內 ComboBox1 圖 7-12 血型性格分析範例的表單佈建畫面 2. 依下表設定控制項的相關屬性 表 7-4 控制項的屬性設定 控制項名稱 屬性 設定值 控制項名稱 屬性 設定值 Form1 Text 血型性格分析 AutoSize False RadioButton2 GroupBox1 Text 性別 Text 女 AutoSize False Label1 Text 血型 RadioButton1 Text 男 Button1 Text 分析 Checked True

18 284 程式語言與設計 -Visual Basic Ⅰ 3. 本實例將使用 ComboBox( 拉式方塊 ) 控制項來供使用者點選血型資料, 以下是 ComboBox 控制項的使用說明 ComboBox 控制項 ComboBox( 下拉式方塊 ) 是一種結合 文字方塊 及 清單 特性的控制項 ( 圖 7-13) 在表單上佈建此控制項, 可讓使用者在程式執行時, 透過下拉式方塊直接選取資料 ComboBox 常用的屬性 ( 例如 Count Items Text) 方法( 例如 Items. Add Items.Remove), 與第 節 程式設計實例 中, 延伸學習所介紹的 ListBox( 清單 ) 控制項相同, 請同學自行參閱 用選按的方式來選取資料 Micorsoft Word 2010 IE 11 圖 7-13 ComboBox 的使用實例 Step2- 解題分析 1. 載入 (Load) 表單後, 將 4 種血型 ("A 型 " "B 型 " "O 型 " "AB 型 ") 加入至下拉式方塊 (ComboBox1) 中 2. 單按 (Click) 分析鈕後, 執行下列內容 : (1) 宣告 1 個二維陣列, 並依照表 7-5 血型性格分析表設定初始值 表 7-5 血型性格分析表 血型性別 A 型 B 型 O 型 AB 型 男 具責任感 善於交際 樂觀豪爽 認真能幹 女 小心謹慎 待人親切 率真俐落 魅力四射

19 第 7 章 陣列 285 (2) 宣告變數 Inx( 用來儲存使用者選取之血型的索引值 ) (3) 利用 If Then Else 敘述, 判斷使用者點選的性別, 從二維陣列 (type) 中取出並顯示對應的性格分析 3. 圖 7-14 為本程式實例的流程圖 開始 宣告變數及二維陣列, 並設定陣列初始值 Inx = 使用者選取之血型的索引值 開始 在 ComboBox1 中加入 4 種血型 性別 = 男? 是 (T) 顯示對應的性格分析結果 否 (F) 顯示對應的性格分析結果 結束 結束 表單 Load 事件程序的執行流程 分析鈕 Click 事件程序的執行流程 圖 7-14 血型性格分析範例的流程圖

20 286 程式語言與設計 -Visual Basic Ⅰ step3- 撰寫程式 按檢視程式碼鈕, 開啟程式碼視窗, 分別在 Form1_Load Button1_ Click 事件程序中, 撰寫如下的程式碼 Private Sub Form1_Load( ) Handles MyBase.Load ComboBox1.Items.Add("A 型 ") ComboBox1.Items.Add("B 型 ") ComboBox1.Items.Add("O 型 ") ComboBox1.Items.Add("AB 型 ") End Sub Private Sub Button1_Click( ) Handles Button1.Click Dim type(,) As String = {{" 具責任感 ", " 善於交際 ", " 樂觀豪爽 ", " 認真能幹 "}, {" 小心謹慎 ", " 待人親切 ", " 率真俐落 ", " 魅力四射 "}} Dim Inx As Short Inx = ComboBox1.SelectedIndex If RadioButton1.Checked = True Then MsgBox(type(0, Inx),, " 分析結果 ") Else MsgBox(type(1, Inx),, " 分析結果 ") End If End Sub 說明 : 利用 Items.Add() 方法, 將 4 種血型加入至下拉式方塊 (ComboBox1) 中 50 : 宣告二維陣列 type( 性格分析結果 ) 並設定初始值 60 : 宣告變數 Inx( 用來儲存使用者選取之血型的索引值 ) 70 : 將使用者在血型下拉式方塊中選擇之血型的索引值, 指定給 Inx : 若性別為男性, 依照 Inx 值, 取出陣列 type(0, Inx) 的分析結果 : 若性別為女性, 依照 Inx 值, 取出陣列 type(1, Inx) 的分析結果

21 第 7 章 陣列 課想 若要根據血型專家提供的血型速配指數 ( 如下表 ), 增加可依選取的性別及血型, 顯 示血型配對指數的功能, 上述程式應如何修改?( 提示 : 宣告用來儲存血型速配指數的二維陣列 match) 男 / 女 A 型 B 型 O 型 AB 型 A 型 B 型 O 型 AB 型 成果預覽 : Label2 GroupBox2 Label3 Label4 ~ Label8

22 誤288 程式語言與設計 -Visual Basic Ⅰ UBound() Length() ReDim() 方法 Visual Basic 提供的 UBound() Length() ReDim() 方法, 可分別用來取得陣列註標的上限值 陣列的元素個數, 以及重新調整陣列大小等, 說明如下 語法 & 舉例 傳回陣列的上限值 UBound( 陣列名稱 [, 欲查詢的維數 ]) Dim A(7) As Integer MsgBox(UBound(A)) ' 顯示陣列 A 的 限值, 即 7 Dim B(2, 4) As String MsgBox(UBound(B, 2)) ' 顯示陣列 B 之第㆓維的 限值, 即 4 ( 內文範例 "ch7-1e.sln") 說明 : 查詢一維陣列的上限值, 不需輸入維數, 如上例 MsgBox(UBound(A)) 陣列名稱.Length 傳回陣列的長度 ( 即陣列的元素個數 ) Dim A(3) As Integer MsgBox(A.Length) ' 顯示陣列 A 的元素個數, 即 4 Dim B(1, 2) As String MsgBox(B.Length) ' 顯示陣列 B 之第㆓維的元素個數, 即 6 ( 內文範例 "ch7-1f.sln") 語法 & 舉例錯語法 & 舉例 將陣列 B 調整為 3 4 的二維陣列, 並保留原陣列內容 ReDim [Preserve] 陣列名稱 ( 陣列上限 ) 說明 Dim B = New Integer(2, 1) {{10, 20}, {30, 40}, {50, 60}} ReDim Preserve B(2, 3) ( 內文範例 "ch7-1g.sln") 1 加入關鍵字 "Preserve", 可保留原陣列元素的值 ; 若省略, 則會刪除原陣列元素的值, 而改以預設的初始值取代 2 陣列的維度不可改變, 例如 : Dim A(5) ReDim A(9) ' 調整為可存放 10 個元素的㆒維陣列 Dim A(5) ReDim A(3, 4) ' 不可將㆒維陣列, 調整成㆓維陣列 3 雖可調整陣列大小, 但應慎重使用, 以免增加程式除錯的困難度

23 第 7 章 陣列 練習 一 選擇題 基礎 ( )1. 在 Visual Basic 中, 執行陣列宣告敘述 "Dim A() As Integer = {4, 1, 0, 6, 8}", 則 A(3) 的值為何? (A)1 (B)0 (C)6 (D)8 ( )2. 執行下列 Visual Basic 程式片段時, 請問陣列 A 占用記憶體多少 bytes 的儲存空間? (A)160 (B)96 (C)80 (D)48 統測 Dim A(3, 4) As Double ( )3. 下列何種資料結構的資料元素存取方式是先進先出 (First In First Out)? (A) 陣列 (B) 雙向串列 (C) 堆疊 (D) 佇列 統測 ( )4. 在 Visual Basic 中, 某陣列宣告敘述以 "Dim B(,, ) As String" 開頭, 由此可知該陣列為幾維陣列? (A)1 (B)2 (C)3 (D)4 ( )5. 在 Visual Basic 中, 執行陣列宣告敘述 "Dim X(2, 3, 2) As Long", 則陣列 X 可儲存幾個陣列元素? (A)7 (B)12 (C)27 (D)36 ( )6. 執行程式 ( 一 ) 後,A(3) 的值為何? (A)0 (B)1 (C)3 (D)6 統測 Dim A(3), Sum, I As Integer Sum = 0 For I = 1 To 3 Sum = Sum + I A(I) = Sum Next I Dim A(8) As Integer For I = 1 To 8 A(I) = I + 2 Next I MsgBox(A(A(A(2) + 1) - 2) + 3) 程式 ( 一 ) 程式 ( 二 ) ( )7. 執行程式 ( 二 ) 後, 其顯示的結果為何? (A)12 (B)11 (C)10 (D)9 技競 ( )8. 執行下列 Visual Basic 程式片段後, 輸出的結果為何? (A)15 (B)20 (C)25 (D)30 統測 Dim A(4) For i = 1 To 4 If (i Mod 2 <> 0) Then A(i) = i ^ 2-1 Else A(i) = i ^ End If Next i MsgBox(A(4) + A(3) - A(2))

24 290 程式語言與設計 -Visual Basic Ⅰ 進階 ( )9. 下列 Visual Basic 程式片段執行後,A(1, 3) 的值與下列哪一個元素的值相同? (A)A(2, 0) (B)A(2, 1) (C)A(2, 2) (D)A(2, 3) 統測 Dim A(3, 3) As Integer For I = 0 To 3 For J = 0 To 3 A(I, J) = 2 * I * (I + J) Next J Next I ( )10. 下列程式執行前陣列 A(1) 至 A(5) 之值依序為 5, 6, 3, 4, 1, 則其執行後印出陣列 A(1) 至 A(5) 的結果為? (A)5, 6, 3, 4, 1 (B)6, 5, 4, 3, 1 (C)1, 3, 4, 5, 6 (D)5, 4, 6, 1, 3 技競 Dim a(5) For J = 2 To 5 T = a(j) : I = J - 1 : M = J While (I >= 1 And a(i) < T) If a(i) < T Then a(m) = a(i) : I = I - 1 : M = M - 1 End While a(i + 1) = T Next J ( )11. 執行下列 VB 程式後, 輸出的結果為何? (A) (B) (C) (D) 統測 Dim a(6), i, b As Integer a(1) = 27 : a(2) = 12 : a(3) = 8 a(4) = 9 : a(5) = 21 : a(6) = 72 For i = 1 To 3 b = a(i) a(i) = a(7 - i) a(7 - i) = b Next i For i = 1 To 6 Console.Write(a(i) & " ") Next i

25 第 7 章 陣列 291 ( )12. 執行下列 Visual Basic 程式片段後,sum k 的值分別為何? (A) 產生陣列索引超出範圍之錯誤 (B)48 4 (C)66 3 (D)44 2 統測 Dim a(4, 3) As Integer a(1, 1) = 0 : a(1, 2) = 1 : a(1, 3) = 11 a(2, 1) = 0 : a(2, 2) = 2 : a(2, 3) = 22 a(3, 1) = 0 : a(3, 2) = 3 : a(3, 3) = 33 For i = 1 To 4 For j = 1 To 3 If a(i, j) <> 0 And a(i, j) Mod 2 <> 0 Then sum = sum + a(i, j) : k = k + 1 End If Next j Next i 二 多元練習題 1. 請依據下面各小題的資料儲存需求, 撰寫宣告陣列的敘述 (1) 利用陣列 temp 記錄全國某年 1 ~ 12 月的平均氣溫 ( 溫度取至小數 1 位 ): (2) 利用陣列 score 記錄全班 50 位同學的國 英 數 計概 4 科成績 ( 分數為整數 ): (3) 利用陣列 match 記錄如下表所示的十二星座之速配指數 : 男 / 女牡羊金牛雙子巨蟹獅子處女天秤天蠍射手魔羯水瓶雙魚 牡羊 金牛 雙子 巨蟹 獅子 處女 天秤 天蠍 射手 魔羯 水瓶 雙魚

26 292 程式語言與設計 -Visual Basic Ⅰ 2. 選按 檔案 / 開啟專案 選項, 開啟專案 "ex7-1c.sln", 利用二維陣列儲存近五期的 4 星彩開獎號碼, 並計算每個號碼出現的次數 成果預覽 : TextBox1 TextBox2 ~ TextBox6 1 按輸入 4 星彩開獎號碼鈕 1 2 依序輸入五期的開獎號碼 TextBox7 ~ TextBox 顯示開獎號碼及每個號碼的出現次數 3 提示 : (1) 宣告一個用來存放近五期 4 星彩開獎號碼的二維陣列 n (2) 宣告一個用來存放每個開獎號碼 (0 ~ 9) 出現次數的一維陣列 count (3) 利用巢狀迴圈及 InputBox() 函數, 讓使用者輸入近五期開獎的號碼 (4) 利用 Select Case 敘述計算每個開獎號碼的出現次數, 並顯示在對應的文字方塊 (TextBox2 ~ TextBox11) 中

27 第 7 章 陣列 陣列的應用 在程式設計實務中, 我們除了使用陣列來儲存多個具有相同資料型別的資料 ( 例如每位同學的成績 ) 之外, 為了增加資料的可讀性, 通常還會對陣列元素進行排序處理 ; 另外, 在某些情況下, 可能會需要尋找特定的陣列元素, 或確定某筆資料是否儲存於陣列中 本節將介紹陣列在排序及搜尋上的應用 資料排序 料排序是指利用 比較 與 交換 的方法, 將資料依照由小到大 ( 遞增 ) 或由大到小 ( 遞減 ) 的條件, 依序排列 以下介紹氣泡排序法 ( bubble sort) 及選擇排序法 (selection sort) 兩種常見的資料排序法 氣泡排序法 氣泡排序法 ( 或稱泡沫排序法 ) 的排序規則是逐次比較相鄰的兩個資料, 並依照由大到小或由小到大的排序條件, 交換資料的位置, 直到所有的資料排序完成 使用氣泡排序法排序, 如果要將資料由大到小排序, 則較大值的資料將逐漸往上移動 ; 相反地, 如果要將資料由小到大排序, 則較小的資料將逐漸往上移動 這種變動資料位置的情形, 就像氣泡上升的現象, 氣泡排序法也因此而得名 圖 7-15 是將 5 個大小不等的數字 ( ), 利用氣泡排序法由小到大排序的過程

28 294 程式語言與設計 -Visual Basic Ⅰ 說明 : 為比較後交換位置 ; 為比較後不交換位置 排序前 : 第一次循環 : 兩兩比較第 1 ~ 5 個相鄰的資料, 並依照比較結果調整數字的位置, 使最大的數字 (47) 排在第 5 個位置 第二次循環 : 兩兩比較第 1 ~ 4 個相鄰的資料, 並依照比較結果調整數字的位置, 使第 2 大的數字 (25) 排在第 4 個位置 第三次循環 : 兩兩比較第 1 ~ 3 個相鄰的資料, 並依照比較結果調整數字的位置, 使第 3 大的數字 (18) 排在第 3 個位置 第四次循環 : 兩兩比較第 1 ~ 2 個相鄰的資料, 並依照比較結果調整數字的位置, 使第 4 大的數字 (12) 排在第 2 個位置 排序後 : 圖 7-15 利用氣泡排序法將 5 個數字由小到大排序

29 第 7 章 陣列 295 使用氣泡排序法來排序 N 筆資料時, 有以下 3 項特性 : 1. 排序循環次數最多為 N - 1 次 2. 不論原始資料的排列順序為何, 完成排序所需的比較次數為 N * (N - 1) / 2 次 3. 若在氣泡排序法的程式中, 加入一段程式敘述, 用以判斷在每次循環中是否有資料進行交換, 如果沒有, 則表示資料已完成排序 如此一來, 當資料為 N 筆時, 最少只需比較 N - 1 次 ( 即原始資料順序與欲排序的順序相同時 ), 即完成排序的工作 流程圖表示 開始 宣告變數 陣列, 並設定初始值 註 i = 1 i <= (5-1) 是 (T) j = 0 否 (F) 圖 7-16 是使用流程圖來描述利用氣泡排序法將 5 個大小不等的資料 ( ) 由小到大依序排序的流程 ( 假設資料已儲存在陣列 A 中 ) j <= (4 - i) 是 (T) A(j) > A(j + 1) 是 (T) A(j) 與 A(j + 1) 交換 否 (F) 否 (F) j = j + 1 i = i + 1 註 : i 用來表示排序循環的次數 ;j 用來表示比較資料的位置 結束 圖 7-16 氣泡排序法的流程圖

30 馬 (C) (D) 程式語言與設計 -Visual Basic Ⅰ 程式範例 圖 7-17 是利用氣泡排序法將 5 個大小不等的資料, 由小到大排序的程式碼 排序前 : 排序後 : 使用氣泡排序法, 將資料由小到大排序的程式碼 Dim A(4), tmp, i, j As Integer A(0) = 25 : A(1) = 12 : A(2) = 47 : A(3) = 18 : A(4) = 9 For i = 1 To (5-1) ' 排序循環 4 次 For j = 0 To (4 - i) ' 排序循環遞增, 比較次數遞減 If A(j) > A(j + 1) Then 將 A(j) 與 A(j + 1) 的資料交換 tmp = A(j) A(j) = A(j + 1) A(j + 1) = tmp End If 改成 A(j) < A(j + 1), 可將資料由大到小排序 Next j Next i ( 內文範例 "ch7-2a.sln") 圖 7-17 使用氣泡排序法排序 料的程式範例 練習 ( )1. 佳佳想依照段考總分來排列 30 位同學的段考名次, 如果她使用的是氣泡排序法, 請問她最多需要進行幾次的排序循環? (A)30 (B)29 (C)31 (D)28 ( )2. 如果要以氣泡排序法, 將 20 個原先由重到輕依序排列的包裹 ( 每個包裹的重量皆不相同 ), 改為由輕到重的順序重新排列, 共需進行幾次比較? (A)190 (B)210 (C)200 (D)180 ( )3. 若要以氣泡排序法, 將數列資料 由小到大依序排列, 請問在第一次循環結束後, 數列排列的狀況為何? (A) (B)

31 第 7 章 陣列 297 選擇排序法 若以由小到大 ( 遞增 ) 排序為例, 選擇排序法的排序規則是從第 1 個數值開始找尋, 直到最後一個數值, 以選出最小值, 再將最小值與第 1 個數值交換 ; 接著從第 2 個數值之後的資料列中找出最小值, 與第 2 個數值交換, 依此類推, 不斷重複上述步驟, 直到所有的資料排序完成 圖 7-18 是將 5 個大小不等的數字 ( ), 利用選擇排序法 由小到大排序的過程 排序前 : 說明 : 為比較 ;S 為最小值 第一次循環 : 在 5 個數字中比較資料的大小, 挑選出最小的數字 (12), 並與第 1 個位置的數字 (53) 交換位置 S 2 第二次循環 : 在其餘 4 個數字中比較資料的大小, 挑選出最小的數字 (38), 並與第 2 個位置的數字 (46) 交換位置 S 3 第三次循環 : 在其餘 3 個數字中比較資料的大小, 挑選出最小的數字 (46), 並與第 3 個位置的數字 (53) 交換位置 S 4 第四次循環 : 在其餘 2 個數字中比較資料的大小, 挑選出最小的數字 (53), 正好位於第 4 個位置, 不需交換位置, 排序完成 S 排序後 : 圖 7-18 利用選擇排序法將 5 個數字由小到大排序

32 298 程式語言與設計 -Visual Basic Ⅰ 使用選擇排序法來排序 N 筆資料時, 有以下 2 項特性 : 1. 排序循環次數最多為 N - 1 次 2. 不論原始資料的排列順序為何, 完成排序所需的比較次數為 N * (N - 1) / 2 次 流程圖表示圖 7-19 是使用流程圖來描述利用選擇排序法將 5 個大小不等的資料 ( ) 由小到大依序排列的流程 ( 假設資料已儲存在陣列 A 中 ) 開始 宣告變數 陣列, 並設定初始值 註 i = 0 i <= (4-1) 是 (T) S = i j = (S + 1) j <= (5-1) 是 (T) A(S) > A(j) 是 (T) S = j 否 (F) 否 (F) 否 (F) j = j + 1 A(i) 與 A(S) 交換 i = i + 1 結束 註 : i 用來表示排序循環的次數 ;j 用來表示比較資料的位置 圖 7-19 選擇排序法的流程圖

33 馬 需進行幾次比較? (A)8 (B)9 (C)10 (D)11 第 7 章 陣列 299 程式範例 圖 7-20 是利用選擇排序法將 5 個大小不等的資料, 由小到大排序的程式碼 排序前 : 排序後 : 使用選擇排序法, 將資料由小到大排序的程式碼 將 A(i) 與 A(S) 交換 Dim A(4), tmp, i, j, S As Integer ' 由小到大排序 A(0) = 53 : A(1) = 46 : A(2) = 12 : A(3) = 38 : A(4) = 76 For i = 0 To (4-1) ' 排序循環 4 次 S = i ' 設定最小值的位置在第 i 個 For j = (S + 1) To (5-1) ' 控制每次循環時, 比較 料的位置 If A(S) > A(j) Then S = j ' 判斷 料大小, 以找出最小值 Next j tmp = A(i) 改成 A(S) < A(j), 可 A(i) = A(S) 將資料由大到小排序 A(S) = tmp Next i ( 內文範例 "ch7-2b.sln") 圖 7-20 使用選擇排序法排序 料的程式範例 練習 ( )1. 若要依照銷售總額的高低, 以選擇排序法來排列園遊會中 30 個攤位的銷售名次, 請問需要進行幾次的排序循環? (A)30 (B)28 (C)31 (D)29 ( )2. 若要將未依大小順序排列的 13 張黑桃撲克牌 (A ~ K), 以選擇排序法由小到大依序排列, 共需進行幾次比較? (A)78 (B)91 (C)71 (D)82 ( )3. 使用選擇排序法, 將數列資料 ( ) 由大到小依序排列, 共

34 300 程式語言與設計 -Visual Basic Ⅰ Array.Sort() 與 Array.Reverse() 方法 在 Visual Basic 2015 中, 要將陣列中的資料進行排序, 除了可利用前述介紹的巢狀迴圈來完成之外, 其實也可利用 Array.Sort() 與 Array.Reverse() 方法, 來完成排序工作 Array.Sort() 方法是用來將一維陣列中的資料遞增排序 ;Array.Reverse() 方法則是用來反轉一維陣列中的資料 ; 使用這兩個方法來排序, 相較於自己撰寫程式, 具有快速又不易出錯的優點 語法 & 舉例 將陣列中的資料由小到大 ( 遞增 ) 排序 Array.Sort( 陣列名稱 ) Dim A = {56, 84, 12, 68, 99, 6} Array.Sort(A) 陣列 A ( 內文範例 "ch7-2c.sln") 語法 & 舉例 反轉陣列中的資料 Array.Reverse( 陣列名稱 ) Dim A = {6, 12, 56, 68, 84, 99} Array.Reverse(A) 陣列 A ( 內文範例 "ch7-2d.sln") 由上述二例可知, 若要將陣列中的資料遞減排序, 只要先利用 Array.Sort() 方法將資料遞增排序後, 再利用 Array.Reverse() 方法反轉資料即可

35 第 7 章 陣列 資料搜尋 料搜尋是指依照特定的條件及方法, 在一群資料中尋找符合條件的資料 我們可根據資料的排列特性 ( 未排序或已排序 ), 選擇使用不同的搜尋法來找出特定的資料 以下將介紹循序搜尋法 (sequential search) 及㆓元搜尋法 (binary search) 兩種常見的資料搜尋法 循序搜尋法 循序搜尋法又稱線性搜尋法, 它的搜尋規則是由第一個資料開始依序比對每個資料, 直到找到目標資料為止 當搜尋完所有項目後, 仍未找到所要搜尋的資料時, 即表示該資料不存在資料列中 當資料筆數不大或資料列未經排序時, 適合使用循序搜尋法來搜尋資料 圖 7-21 是在 10 個大小不等且未經排序的數字中, 利用循序搜尋法來搜尋數字 15 的過程 1 由第一個位置開始搜尋, 未找到數字 15, 繼續往下搜尋 由第二個位置開始搜尋, 未找到數字 15, 繼續往下搜尋 找到數字 15, 搜尋結束 圖 7-21 利用循序搜尋法在 料列 找出數字 15 使用循序搜尋法在 N 筆資料中要找到目標資料, 有以下 3 項特性 : 1. 資料列不須事先排序 2. 搜尋的比對次數最少需要 1 次 ; 最多需要 N 次 3. 平均需要比對 (N + 1) / 2 次

36 302 程式語言與設計 -Visual Basic Ⅰ 流程圖表示 圖 7-22 是使用流程圖來描述利用循序搜尋法在資料列 ( 陣列 A) 中搜尋目標 資料 (Target = 15) 的流程 開始 宣告變數 陣列, 並設定初始值 Target = 15 i = 0 i <= 9 否 (F) 是 (T) i = i + 1 否 (F) A(i) = Target? 顯示 " 找不到 " 是 (T) 顯示目前資料所在的位置 結束 圖 7-22 循序搜尋法的流程圖

37 馬 比較? (A)1 (B)23 (C)45 (D)46 第 7 章 陣列 303 程式範例 圖 7-23 是利用循序搜尋法搜尋目標資料 15 的程式碼 執行結果 陣列 A 使用循序排序法搜尋資料的程式碼 Dim Target, i As Integer Dim A() As Integer = {28, 3, 15, 55, 48, 9, 14, 1, 38, 20} Target = 15 ' 搜尋目標為 15 For i = 0 To 9 If A(i) = Target Then ' 判斷 料列 是否 要搜尋的 料 MsgBox("A(" & i & ") = " & Target) End ' 結束程式 End If Next i MsgBox(" 找不到 ") ( 內文範例 "ch7-2e.sln") 圖 7-23 使用循序搜尋法進行 料搜尋的程式範例 練習 ( )1. 下列哪一種情形, 較不適合使用循序搜尋法來搜尋資料? (A) 在蛋糕店的產品展示櫥窗中找出起司蛋糕 (B) 在數萬筆的計程車駕駛名單中, 找出名為 " 張富貴 " 的駕駛員 (C) 在家裡鞋櫃中找出自己的夏季涼鞋 (D) 在收到的 10 封電子郵件中, 找出老師回覆問題的郵件 ( )2. 使用循序搜尋法, 在 1000 筆學生資料中, 搜尋 謝明華 的資料, 請問最多需要進行幾次的搜尋比較? (A)1000 (B)1 (C)999 (D)1001 ( )3. 使用循序搜尋法, 在 45 張考卷中搜尋自己的考卷, 請問平均要進行幾次的搜尋

38 304 程式語言與設計 -Visual Basic Ⅰ 二元搜尋法 循序搜尋法雖然簡單, 但是要找到目標資料的比較次數卻很難預期, 尤其是當資料筆數龐大時, 使用此方法來搜尋資料會非常沒有效率 為了提昇資料搜尋的效率, 我們可利用第 節所介紹的排序法, 先將龐大的資料排序後, 再使用二元搜尋法來尋找資料 ㆓元搜尋法又稱二分搜尋法, 它的搜尋規則是先找出資料列的中央位置, 判定所要搜尋的資料是位於資料列的前半段或後半段, 然後捨去另一半的資料, 將搜尋範圍逐漸縮小 ; 如此重複上述步驟, 直到找到或確定資料不存在為止 二元搜尋法的中間值 (M) 計算公式為 M = (L + R) / 2, 其中 L 表示資料列可搜尋範圍的最左註標值,R 表示資料列可搜尋範圍的最右註標值 計算時, 中間值只取到計算結果的整數位數 圖 7-24 是在 7 個已依照由小到大排列的數值資料中, 利用二元搜尋法來搜尋 81 的過程 1 找出中間值 M(= (0 + 6) / 2 = 6 / 2 = 3), 因搜尋目標 (81)> M 代表的數值 (47), 捨棄前半段 2 找出中間值 M(= (4 + 6) / 2 = 10 / 2 = 5), 因搜尋目標 (81)> M 代表的數值 (67), 捨棄前半段 3 找出中間值 M(= (6 + 6) / 2 = 12 / 2 = 6), 因搜尋目標 (81)= M 代表的數值 (81), 找到目標, 搜尋結束 陣列 A L M R 陣列 A L M R 陣列 A L M R 圖 7-24 利用㆓元搜尋法在 料列 找出 81

39 第 7 章 陣列 305 使用二元搜尋法在 N 筆資料中要找到目標資料, 有以下 2 項特性 : 1. 資料列必須事先排序 2. 搜尋的比對次數最少需要比較 1 次 最多需要比對 log 2 (N + 1) 次 ; 若計算結果帶有小數, 須無條件進位至個位數 例如有 8 筆資料, 最多比較次數為 log 2 (8 + 1) = log 2 (9) 3.17, 須無條件進位為 4, 表示必須比較 4 次 ( 2 3 < 9 < 2 4 ) Tip log 2N = X, 表示 2 X = N 流程圖表示圖 7-25 是使用流程圖來描述利用二元搜尋法在由小到大排序的資料列 ( 陣列 A) 中, 搜尋目標資料 (Target = 81) 的流程 開始 宣告變數 陣列, 並設定初始值 L = 0 R = UBound(A) Target = 81 否 (F) L <= R 是 (T) M = (L + R) \ 2 Target? = A(M) > A(M) < A(M) 顯示 " 找不到 " 顯示找到的位置 L = M + 1 R = M - 1 結束 圖 7-25 利用㆓元搜尋法在 料列 找出 81

40 306 程式語言與設計 -Visual Basic Ⅰ 程式範例 圖 7-26 是利用二元搜尋法搜尋資料 81 的程式碼 陣列 A 執行結果 使用二元搜尋法搜尋資料的程式碼 Dim L, R, M, Target As Integer Dim A() As Integer = {2, 16, 34, 47, 53, 67, 81} L = 0 : R = UBound(A) : Target = 81 ' 搜尋目標 (Target) 為 81 Do While L <= R M = (L + R) \ 2 ' 計算 間值 Select Case Target Case Is = A(M) ' 找到目標 料 MsgBox("A(" & M & ") = " & Target) End ' 結束程式 Case Is > A(M) ' 若是, 捨棄前半段,L 值重設 L = M + 1 Case Is < A(M) ' 若是, 捨棄後半段,R 值重設 R = M - 1 End Select Loop MsgBox(" 找不到 ") ( 內文範例 "ch7-2f.sln") 圖 7-26 使用㆓元搜尋法進行 料搜尋的程式範例 Array.IndexOf() 方法 Array.IndexOf() 方法可在一維陣列 ( 不需事先排序 ) 中搜尋特定的資料, 語法如下 語法 & 舉例 找出陣列 A 中目標資料 12 的註標值 ( 假設陣列 A 存放的內容為 ) Array.IndexOf( 陣列名稱, 目標資料 [, 搜尋起點註標值 ]) Array.IndexOf(A, 12, 0) 執行結果為 2, 表示 12 在 A(2) ( 內文範例 "ch7-2g.sln") 說明 : 若陣列中有多個符合條件的資料, 僅會傳回第 1 個符合條件的資料之註標值

41 第 7 章 陣列 練習 一 選擇題 基礎 ( )1. 利用氣泡排序法排列 N 筆資料的順序, 最多做幾次的排序循環? (A)N / 2 次 (B)N 次 (C)N - 1 次 (D)N + 1 次 統測 進階 ( )2. 二元搜尋法在搜尋升冪排序過後的資料時, 是將所欲搜尋的數值與資料中的哪一個元素進行比較? (A) 任意一個 (B) 第一個 (C) 最後一個 (D) 最中間的 統測 ( )3. 一組 10 個已排序的數值資料, 若用二元搜尋法找其中某一個特定值, 至多需要比對幾次即可找到? (A)3 (B)4 (C)5 (D)9 統測 ( )4. 利用循序搜尋法, 找尋某一筆已知存在陣列 ( 有 15 筆資料 ) 中的資料, 最好的情況要作比較次數與最壞的情況要作比較次數的平均為 : (A)8 (B)7 (C)15 (D)2 統測 ( )5. 利用循序搜尋法在 31 筆 已排序 資料中尋找指定資料 ( 假設該筆資料存在 ), 請問最少需要比較幾次, 才能找到指定資料? (A)32 (B)31 (C)5 (D)1 統測 ( )6. 下列對二元搜尋法 (Binary Search) 的敘述, 何者有誤? (A) 平均效率比 循序搜尋法好 (B) 資料必須先排序 (C) 在 N 個資料中搜尋, 比較次數最多為 log 2 (N + 1) (D) 又稱為線性搜尋法 統測 ( )7. 給定 10 個大小隨機排列的正整數, 如果要以泡沫排序的方式, 由小而大排列, 在程式設計上使用巢狀 For Next 處理, 請問至少要使用幾層巢狀 For Next? (A)10 (B)9 (C)2 (D)1 統測 ( )8. 有關循序搜尋法的敘述, 何者正確? (A) 若要在 10 筆資料中進行循序搜尋, 最少需要 10 次的搜尋比較 (B) 當資料筆數很大時, 使用循序搜尋法來找尋資料會較其它搜尋法有效率 (C) 在 N 個資料中要找到欲搜尋的資料, 最多需要 N / 2 次的搜尋比對 (D) 適合用來找尋未排序且資料個數不多的資料 ( )9. 下列哪一組資料, 不能使用二元搜尋法 (Binary search)? (A)rose,rosa,paul,mary,john,jane,fred,bill,anne,adam (B)1,10,15,30,50,55,100,123,150 (C)1,5,6,8,9,12,15,20,30,53 (D)1.43,-2,0,10.2,5.8,3.56,1.44 技競

42 308 程式語言與設計 -Visual Basic Ⅰ ( )10. 執行下列程式, 印出的結果為何? (A) (B) (C) (D) 統測 Dim A(5), B A(1) = 15 A(2) = 8 A(3) = 5 A(4) = 20 A(5) = 35 For X = 4 To 1 Step -1 For Y = 1 To X If A(Y) < A(Y + 1) Then B = A(Y) A(Y) = A(Y + 1) A(Y + 1) = B End If Next Y Next X For X = 1 To 5 Console.Write(A(X) & " ") Next X 二 多元練習題 1. 下列哪些情況適合使用循序搜尋法來找尋資料? 請在方格中勾選 (1) 在文化走廊的 10 幅畫作中, 找出名為 拾穗 的作品 (2) 在上萬筆統測資料中, 找出准考證號碼為 的考生成績 (3) 從 50 張數學考卷中, 找出得分 90 分以上的同學 (4) 在依釀造年份排序的數萬瓶葡萄酒中, 找出釀造年份為 1965 年的法國波爾多紅葡萄酒

43 第 7 章 陣列 請將同學每 3 人分為 1 組, 每組依照下面的說明, 完成下表的內容 (1) 資料排序 : 每人分別提供 2 個數字, 數字須介於 1 ~ 99 之間, 且不得重複 ; 再利用本節所介紹的任一種資料排序法, 將數列由大到小排列 (2) 資料搜尋 : 請老師提供 6 個數字 ( 須介於 1 ~ 99 之間 ) 及目標資料數字 ; 同學利用二元搜尋法來搜尋該數字是否存在排序完成的數列中 資料排序 資料搜尋 原始資料 : 已排序資料 : 目標資料 : 利用任一種資料排序法, 將數字由大到小排列 : 請勾選所使用的資料排序法 氣泡排序法 選擇排序法 利用二元搜尋法來搜尋數字是否存在於排序完成的數列中 ( 請在每一次搜尋的數列下方, 標示 L R M 值 ) 第 1 次排序循環 : 第 1 次搜尋 : 第 2 次排序循環 : 第 2 次搜尋 : 第 3 次排序循環 : 第 3 次搜尋 : 第 4 次排序循環 : 第 5 次排序循環 :

44 310 程式語言與設計 -Visual Basic Ⅰ 綜合評量 一 選擇題 基礎 ( )1. 在 Visual Basic 中, 執行陣列宣告敘述 "Dim Y(, ) = {{1, 7}, {13, 17}}", 則 Y(1, 1) 的值為何? (A)1 (B)7 (C)13 (D)17 ( )2. 在 Visual Basic 中, 我們可以使用下列哪一個敘述來變更陣列元素的個數? (A)UBound (B)Length (C)ReDim (D)LIFO ( )3. 在 Visual Basic 中, 不管陣列的維度是多少, 各註標的下限值預設為? (A)0 (B)1 (C)2 (D)3 ( )4. 在 Visual Basic 中, 宣告一個陣列 "Dim salary(9) As Short", 表示陣列 salary 需使用多少記憶體空間 ( 提示 : 短整數型別佔用 2 bytes 的記憶體空間 )? (A)18 (B)20 (C)22 (D)24 ( )5. 在 3000 筆已由大至小排序好的資料中, 用二元搜尋法 (Binary Search) 搜尋某一筆特定資料 ( 假定資料存在 ), 最多需要比較幾次可以搜尋到該筆資料? (A)12 (B)16 (C)20 (D)30 統測 ( )6. 在電影裡, 被害人 ( 或目擊證人 ) 到警局指認室中, 從數十位可疑份子中找尋出兇嫌的方法, 類似於下列哪一種搜尋方法? (A) 循序搜尋法 (B) 二元搜尋法 (C) 費氏搜尋法 (D) 插補搜尋法 ( )7. 對下列 7 筆已排序的資料 (2, 13, 27, 32, 44, 58, 67), 以二元搜尋法找尋關鍵值為 58 的資料, 總共要作幾次比較? (A)2 (B)3 (C)4 (D)6 統測 進階 ( )8. 下列有關陣列的敘述, 何者錯誤? (A) 同一陣列中的元素可儲存不同資料型別的資料 (B) 一維陣列只有 1 個註標值 (C) 陣列元素通常會依先後順序儲存在電 腦記憶體中 (D) 必須使用註標值才能存取陣列元素的資料內容 ( )9. 若陣列 A 之宣告為 Dim A(2, 3) As Integer,A 之內容如下圖, 則 A(A(1, 2) - 1, A(2, 3) + 1) 的答案為何? (A)0 (B)1 (C)2 (D)3 統測 陣列 A 標註

45 第 7 章 陣列 311 ( )10. 執行程式 ( 一 ) 後, 何者的值與 B(3, 1) 的值相等? (A)B(0, 2) (B)B(1, 1) (C)B(1, 3) (D)B(2, 1) Dim B (3, 3) As Integer For I = 0 To 3 For J = 0 To 3 B(I, J) = 2 * I * J Next J Next I Dim A(3, 3) As Integer For I = 1 To 3 For J = 1 To 3 A(I, J) = A(I - 1, J - 1) + (I + J) * 2 Next J Next I 程式 ( 一 ) 程式 ( 二 ) ( )11. 執行程式 ( 二 ) 後,A(3, 3) 的值為何? (A)16 (B)24 (C)30 (D)36 統測 ( )12. 執行下列 VB 程式片段後, 請問 A(3, 1) =? (A)4 (B)3 (C)2 (D)0 統測 Dim A (5, 5) As Integer Dim I, J As Integer For I = 0 to 5 For J = 0 to 5 If (I > J) Then A(I, J) = A(I - 1, J) ElseIf (I = J) Then A(I, J) = I + J Else A(I, J) = I * J End If Next J Next I 二 實作題 1. 選按 檔案 / 開啟專案 選項, 開啟專案 "ex7-a.sln", 撰寫一支可用來測驗英文單字能力的程式 成果預覽 : Label1 ComboBox1

46 312 程式語言與設計 -Visual Basic Ⅰ 提示 : (1) 在事件程序的上方, 宣告變數 n, 用來儲存隨機產生的亂數 (2) 宣告一維陣列 English 用來儲存 "afraid" "art" "basketball" "beach" "chance" 等 5 個英文單字 ; 宣告一維陣列 Chinese 用來儲存 " 害怕 " " 藝術 " " 籃球 " " 海灘 " " 機會 " 等 5 個中文字義 (3) 在標籤 (Label1) 控制項中隨機顯示一個英文單字 (4) 利用 For Next 迴圈敘述在下拉式方塊 (ComboBox1) 控制項中加入 5 個中文字義 (5) 雙按下拉式方塊控制項, 在下拉式方塊的 SelectedIndexChanged 事件中撰寫程式 : 利用 If Then Else 敘述判斷使用者所點選的中文字義選項是否正確 2. 選按 檔案 / 開啟專案 選項, 開啟專案 "ex7-b.sln", 撰寫一支可用來查詢國 英 數成績並計算總分及平均的程式 成果預覽 : Button1 科目座號 國文英文數學 TextBox1 Label2 ~ Label 提示 : (1) 宣告 1 個二維陣列 (score), 並依上表設定 5 位同學的國 英 數成績 (2) 依使用者輸入的座號, 在標籤 (Label2 ~ Label4) 控制項, 顯示對應的國 英 數成績, 並將計算所得的總分 (sum) 與平均 (avg) 顯示於標籤 (Label5 Label6) 控制項中

05855BT07.indd

05855BT07.indd 第 7 章 陣列 95 第 7 章陣列 參考答案 7-1 認識陣列 7-1.1 一維陣列 馬上練習配合課本第 272 頁 ( A )1. 下列 Visual Basic 宣告敘述, 何者不正確? (A)Dim X(1 To 5) As Integer (B)Dim T As String (C)Dim A(19) As Integer (D)Dim Beauty As Boolean 統測 ( A

More information

p-2

p-2 B 卷 選擇題 共 50 題 ( 共 100 分 ) 1. 執行下列 Visual Basic 程式片段後, 共輸出幾筆資 料? x = 0: y = 1 Print y x = x + y Print x y = y + 1 If x >= 10 Then Exit Loop While y

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

PowerPoint Presentation

PowerPoint Presentation Visual Basic 2005 學 習 範 本 第 7 章 陣 列 的 活 用 7-1 陣 列 當 我 們 需 要 處 理 資 料 時, 都 使 用 變 數 來 存 放 資 料 因 為 一 個 變 數 只 能 代 表 一 個 資 料, 若 需 要 處 理 100 位 同 學 的 成 績 時, 便 要 使 用 100 個 不 同 的 變 數 名 稱, 這 不 但 會 增 加 變 數 名 稱 命 名

More information

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63> 全國高級中等學校 106 學年度商業類科學生技藝競賽 程式設計 職種 學科 試卷 選手證號碼 ( 崗位編號 ): 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 :( 選擇題共 25 題每題 4 分, 答錯不倒扣, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 (B) 12 (C) 7 (D) 3 Dim

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

Microsoft Word - 投影片ch06

Microsoft Word - 投影片ch06 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第六章陣列 本章學習目標認識陣列與一般資料型態的不同認識一維與二維陣列學習陣列的應用 陣列 6-2 6.1 一維陣列 一維陣列 (1-dimensional array) 可以存放多個相同資料型態的資料 6.1.1 一維陣列的宣告與記憶體的配置 要使用陣列必須經過兩個步驟 :(1) 宣告陣列 (2) 配置記憶體給該陣列

More information

Chapter 16 集合

Chapter 16 集合 Chapter 16 集合 20 ArrayList StringCollection 16 本章學習目標 : ArrayList ArrayList Array StringCollection 16-1 21 10-3-8 System.Array Clear Clear 16-1 Clear System.Array Microsoft System.Collection IList 542

More information

編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用 二 本書共分 Ⅰ Ⅱ 兩冊,Ⅰ 冊著重介紹程式設計概念與流程控制,Ⅱ 冊則著重介

編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用 二 本書共分 Ⅰ Ⅱ 兩冊,Ⅰ 冊著重介紹程式設計概念與流程控制,Ⅱ 冊則著重介 程式語言與設計 ( 全 ) Fu nc For tion Button End Next Dim Public ByVal Form Private Sub led Enab Else 編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用

More information

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378> 全國國高級中中等學校 105 學年度商商業類學學生技藝藝競賽 程式式設計 職職種 學學科 試試卷 崗位位編號 : 姓名 : 注意事項 : 請將答案案劃記於答案案卡, 未依依規定劃記者者不予計分分 試題說明 :( 選擇題每每題 4 分, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 Dim i As Byte i = &HFC Console.WriteLine(Not

More information

附 錄

附 錄 附 錄 屬性 / 方法 / 事件說明適用控制項屬性218 程式語言與設計 -Visual Basic Ⅰ 附錄 A A-1 Visual Basic 控制項常用的屬性 方法及事件 每一個控制項都有一些預定的屬性 方法及事件, 表 A - 1 彙整了常用的屬 性 方法及事件的說明 表 A-1 Visual Basic 控制項常用的屬性 方法及事件 AutoSize 控制項大小可隨控制項內文字的字 數

More information

- 延伸練習 7-2 一維陣列 如果要在本實例中, 增加可供使用者選擇題目難易度的選項功能, 則程式該如何 撰寫呢? 提示 : (1) 利用 InputBox( ) 讀使用者選擇題目難 中 易三個等級的選項 (2) 在表單 Load ( 載入 ) 事件程序中增加陣列宣告.用來存放不同難易度的 中 英

- 延伸練習 7-2 一維陣列 如果要在本實例中, 增加可供使用者選擇題目難易度的選項功能, 則程式該如何 撰寫呢? 提示 : (1) 利用 InputBox( ) 讀使用者選擇題目難 中 易三個等級的選項 (2) 在表單 Load ( 載入 ) 事件程序中增加陣列宣告.用來存放不同難易度的 中 英 -E 第 7 章陣列 隨堂練習 7..2 一維陳列 請依照下面各小題的儲存需求, 撰寫宣告陣列的敘述 1. 記錄全班的個人的某次段考總成績 2. 記錄全國某年 1-12 月的平均氣溫 I 船 1. Dim sum(1 To 40) As Integer 2. Dim temp(1 To 12) As Single 7..3 多維陣列 講依下面各小題的陣列宣告敘述, 寫出各陣列的維數, 並計算各陣列可儲存的陣列元素個數

More information

ACI pdf

ACI pdf 09 9.1 -...9-2 9.1.1...9-2 9.1.2...9-3 9.2 -...9-4 9.2.1 PMT - ()...9-4 9.2.2...9-6 9.3 -...9-8 9.3.1 PMT - ()...9-8 9.4...9-10 9.4.1... 9-11 9.4.2...9-12 9.4.3...9-14 9.5 -...9-17 9.5.1...9-18 1 Excel...9-21

More information

投影片 1

投影片 1 計算機程式及實習 期末報告 題目 : 六宿炒翻天 班級 : 奈米一乙姓名 : 陳洋翼學號 :4A514050 老師 : 謝慶存 程式說明 設計結帳系統, 選擇數量後, 在按下計算, 將會顯示總金額 若是老人或小孩, 將可享 8 折或 9 折的優惠 程式畫面 填選數量 在火腿蛋炒飯的數量選擇 1, 並按下計算, 可得總金額 50 元 程式畫面 打折 填選完後, 若客人是小孩或老人, 選擇欲打折項目,

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

Microsoft PowerPoint - vb_net8

Microsoft PowerPoint - vb_net8 字串與陣列 資訊科技系 林偉川 一維陣列的處理 陣列 (Array) 是一種基本的資料結構, 它是將相同資料型別的變數集合起來, 使用一個名稱代表, 然後使用索引值存取變數的值, 如下圖所示 : 2 1 宣告一維陣列 - 宣告 VB.NET 陣列同樣使用 Dim 指令宣告, 我們可以在宣告時同時指定陣列的尺寸, 一維陣列的宣告語法, 如下所示 : Dim 陣列名稱 ( 最大索引 ) As 資料型別

More information

Ⅰ 冊索引 A Activated 事件 102 algorithm 演算法 126 Array.IndexOf() 方法 306 Array.Reverse() 方法 300 Array.Sort() 方法 300 array 陣列 268 assembler 組譯器 4 assembly lan

Ⅰ 冊索引 A Activated 事件 102 algorithm 演算法 126 Array.IndexOf() 方法 306 Array.Reverse() 方法 300 Array.Sort() 方法 300 array 陣列 268 assembler 組譯器 4 assembly lan Ⅰ 冊索引 A Activated 事件 102 algorithm 演算法 126 Array.IndexOf() 方法 306 Array.Reverse() 方法 300 Array.Sort() 方法 300 array 陣列 268 assembler 組譯器 4 assembly language 組合語言 3, 4 AutoSize 屬性 105 B BackColor 屬性 100,

More information

p-1

p-1 A 卷選擇題共 50 題 ( 共 100 分 ) 1. 下列何者是下列虛擬碼的流程圖? a = 1 b = 2 a < 10 and b < 20 While (a < 10 And b < 20) If (a 等於奇數 ) = 1 Then Else a 等於奇數 (C) do while(a < 10 and b < 20) (D) if (a 等於奇數 ) then a < 10 and b

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

Visual Basic D 3D

Visual Basic D 3D Visual Basic 2008 2D 3D 6-1 6-1 - 6-2 - 06 6-2 STEP 1 5-2 (1) STEP 2 5-3 (2) - 6-3 - Visual Basic 2008 2D 3D STEP 3 User1 6-4 (3) STEP 4 User1 6-5 (4) - 6-4 - 06 STEP 5 6-6 (5) 6-3 6-3-1 (LoginForm) PictureBox1

More information

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,

More information

jQuery實戰手冊

jQuery實戰手冊 本章學習目標 1. 讓讀者了解一維 二維及多維陣列的結構及表示方法 2. 讓讀者了解矩陣中常見的各種運算 < 轉置 相加 相乘及稀疏矩陣 > 本章內容 3-1 陣列的觀念 3-2 陣列的宣告與儲存方式 3-3 二維陣列的觀念 3-4 多維陣列的觀念 3-5 陣列在記憶體中的表示法 3-6 多項式 (polynomial) 3-7 矩陣 (Matrices) 3-8 特殊矩陣本章重點整理課後評量 3-1

More information

untitled

untitled 說 參 例 邏 邏 1. 說 2. 數 數 3. 8 4. 理念 李 龍老 立 1. 理 料 2. 理 料 3. 數 料 4. 流 邏 念 5. 良 6. 讀 行 行 7. 行 例 來 邏 1. 說 說 識 量 2. 說 理 類 3. 數 數 念 4. 令 5. 良 6. 流 邏 念 7. 說 邏 理 力 1. 2. 3. 4. 5. 列 念 1 參 1. ( Visual Basic 例 ) (1)

More information

Microsoft PowerPoint - C_Structure.ppt

Microsoft PowerPoint - C_Structure.ppt 結構與其他資料型態 Janet Huang 5-1 結構的宣告 struct 結構名稱 struct 結構名稱變數 1, 變數 2,, 變數 m; struct 結構名稱 變數 1, 變數 2,, 變數 m; student; student; 5-2 1 結構變數初值的設定 struct 結構名稱 struct 結構名稱變數 = 初值 1, 初值 2,, 初值 n student="janet","1350901",100,95

More information

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11 1-3 1-3-1 Excel VBA VBA OK CD DVD Excel VBA Excel VBA Excel Visual Basic A1 1 B2 2 C3 3 STEP1 Excel Ch01_VBA.xlsm 1 > > STEP2 Excel 1 2 STEP3 1-10 1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h 資訊系統與實習 製作 : 林郁君 一 2009.09.28 9X9 'button 被按下後 ' Dim i, j As Integer For i = 1 To 9 'i 從 1 到 9' For j = 1 To 9 'j 從 1 到 9' If j * i < 10 Then ' 如果 j 乘上 i 是為個位數 ' Response.Write(i & "*" & j & " =" & i *

More information

jQuery實戰手冊

jQuery實戰手冊 3-4 多維陣列的觀念 當陣列的維度是二維以上時, 就稱為多維陣列 而其中最常見是三維陣列, 其圖形為三度空間的立體圖形, 並且我們可以將三維陣列視為多個二維陣列的組合 Dim 陣列名稱 (L,M,N) As 資料型態 L 代表二維陣列個數 M 代表列數 N 代表行數 Dim Score (2,3,4) As Integer ' 二維陣列的個數 : 0~2 共有 3 個二維陣列 ' 列註標表示範圍

More information

Microsoft PowerPoint - 04_Array

Microsoft PowerPoint - 04_Array 第四章 陣列 4.1 為何需要陣列 4.4 多維陣列 4.2 陣列常用的屬性與方法 4.5 不規則陣列 4.3 Array 類別常用靜態方法 備註 : 可依進度點選小節 4.1 為何需要陣列 4.1.1 何謂陣列 (Array) 前面章節, 每使用到一個資料就需宣告一個變數來存放, 資料一多時, 變數亦跟著增加, 增加變數命名困擾且程式長度亦增長不易維護 C# 對相同性質的資料提供陣列來存放 在宣告陣列時

More information

碩命題橫式

碩命題橫式 一 解釋名詞 :(50%) 1. Two s complement of an integer in binary 2. Arithmetic right shift of a signed integer 3. Pipelining in instruction execution 4. Highest and lowest layers in the TCP/IP protocol suite

More information

【電腦閱卷專用】

【電腦閱卷專用】 國立新化高級工業職業學校 102 學年度第 1 學期第 2 次期中考試卷 選擇題 100 分 1. ( ) 執行下列 Visual Basic 語言片段程式的結果為何? S = 0 For K = 1 To 2 For J = 2 To 3 S = S + K * J Next K Print S (95 工管管理 ) (A)10 (B)13 (C)15 (D)20 2. ( ) 執行下列 Visual

More information

untitled

untitled VB 來 立 李 龍老 年 參 車 令 度 綠 車 不 不 靈 了 來 令來 了老 利 來 練 念 邏 念 數 度 念 狀 不 度 令 數 更 參 VB VB VB 理 VB 類 數 (x,y) (0,0) x y x,y 數 (0,0) (x, 0) (0, y) (x, y) VB 裡 來 VB 來 1 Graphics VB Graphics Private Sub Button1_Click(

More information

Microsoft PowerPoint - VB3

Microsoft PowerPoint - VB3 Visual Basic 6.0 & VB.NET 丙檢設計第一站 資科系林偉川 VB 之 for 指令 for 變數 = 初值 to 終值 step 增值多個指令 Next 中途離開用 if 指令判斷條件成立後 exit for Ex: Q=2, w=100, e=2, s=0 For i = q To w Step e s = s + i Next i 2 1 VB6 提供之內建函數 End 執行結束

More information

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344> 1. 請 問 誰 提 出 積 體 電 路 (IC) 上 可 容 納 的 電 晶 體 數 目, 約 每 隔 24 個 月 (1975 年 更 改 為 18 個 月 ) 便 會 增 加 一 倍, 效 能 也 將 提 升 一 倍, 也 揭 示 了 資 訊 科 技 進 步 的 速 度? (A) 英 特 爾 (Intel) 公 司 創 始 人 戈 登. 摩 爾 (Gordon Moore) (B) 微 軟 (Microsoft)

More information

2010年3月计算机等级考试四级网络工程师笔试

2010年3月计算机等级考试四级网络工程师笔试 计 算 机 二 级 VB 经 典 预 测 题 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上, 答 在 试 卷 上 不 得 分 (1) 下 列 叙 述 中 正 确 的 是 ( ) A) 循 环 队 列 是 队 列 的 一 种 链 式 存 储 结 构 B) 循 环 队 列 是 队

More information

投影片 1

投影片 1 第五章 選擇控制項 5-1 選擇控制項介紹 一. 關於 RadioButton 選項按鈕控制項 當表單中有多個同性質的選項且只能單選時就需用到選項按鈕控制項 選項按鈕控制項彼此間是互斥 當有一個選項按鈕被點選時 - 該按鈕的 Checked =True, - 其它按鈕的 Checked = False 選項按鈕常用屬性和事件 程式設計技巧 1. 選項按鈕必須先將 Enabled 屬性設為 True

More information

<4D F736F F D203938BEC7ACECBCD2C0C0B8D5A8F7AEE6A6A1C0C92DB57BA6A1B35DAD705FA6B3B8D1B5AA5F2E646F63>

<4D F736F F D203938BEC7ACECBCD2C0C0B8D5A8F7AEE6A6A1C0C92DB57BA6A1B35DAD705FA6B3B8D1B5AA5F2E646F63> 全國高級中等學校 98 學年度商業類科學生技藝競賽 程式設計 職種學科模擬試卷 選手證號碼 : 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 : ( 選擇題每題 4 分, 共 100 分 ) ( A ) 1. 在 ASCII Code 的表示法中, 下列大小之關係何者為錯誤? (A) A>B>C (B) c>b>a (C) 3>2>1 (D) p>g>e ( D

More information

05855BT05.indd

05855BT05.indd 第 5 章 選擇結構 45 第 5 章選擇結構 參考答案 5-1 If Then 判斷敘述 舉一反三配合課本第 153 頁 若要讓程式判斷數值 i 是否能被 3 整除, 但不能被 7 整除, 應該如何修改上述程式?( 提示 : 修改 If Then 敘述的條件式 ) 解請參考教資光碟中的方案檔 "ch5-1c_1.sln" 基礎 5-1 練習配合課本第 154 頁一 選擇題 ( A )1. 在 Visual

More information

Microsoft Word - 小心翼翼的二十一點N.doc

Microsoft Word - 小心翼翼的二十一點N.doc 投 稿 類 別 : 資 訊 類 篇 名 : 小 心 翼 翼 的 二 十 一 點 作 者 : 陳 鈺 文 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 李 伯 謙 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 胡 家 媛 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 指 導 老 師 : 周 曉 玲 老 師 陳 思 亮 主 任 壹 前 言 一 研 究 動 機 平

More information

資料結構之C語言重點複習

資料結構之C語言重點複習 鏈結串列自編教材 ( 一 ) 本教材 ( 一 ) 目標問題 : 每次以亂數產生一 [0,1000] 之整數值, 若該值 >100, 則以同方式繼續產生下一亂數值, 若該值

More information

Microsoft Word - 專題製作研究報告書.doc

Microsoft Word - 專題製作研究報告書.doc 大 富 翁 之 我 要 畢 業 指 導 老 師 : 王 啟 修 參 賽 學 生 : 吳 皇 逸 林 晉 逸 黃 亭 瑋 賴 建 豫 嘉 義 高 商 資 料 處 理 科 摘 要 本 專 題 以 大 富 翁 遊 戲 為 基 本 題 材, 並 參 考 任 天 堂 遊 戲 公 司 製 作 的 Mario Party 電 視 遊 戲 和 各 代 的 大 富 翁, 將 不 同 風 格 的 小 遊 戲 與 傳 統

More information

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information

表二 105 年國中教育會考英語科閱讀與聽力答對題數對應整體能力等級加標示對照表 閱讀答 對題數 聽力答對題數 待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強

表二 105 年國中教育會考英語科閱讀與聽力答對題數對應整體能力等級加標示對照表 閱讀答 對題數 聽力答對題數 待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強 表一 105 年國中教育會考國文科 社會科與自然科能力等級加標示與答對題數對照表 國文社會自然 A++ 46-48 60-63 51-54 A+ 42-48 44-45 54-63 58-59 46-54 49-50 A 42-43 54-57 46-48 B++ 37-41 45-53 37-45 B+ 20-41 31-36 24-53 38-44 20-45 30-36 B 20-30 24-37

More information

IsPostBack 2

IsPostBack 2 5 IsPostBack 2 TextBox 3 TextBox TextBox 4 TextBox TextBox 1 2 5 TextBox Columns MaxLength ReadOnly Rows Text TextMode TextMode MultiLine TextMode MultiLine True False TextMode MultiLine Password MulitLine

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc)

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc) 作者 Amber 版本 1.0.0 日期 2012/04/25 頁數 1/7 如何使用 LED 燈顯示狀態? 適用於 : 平台 作業系統版本 XPAC utility 版本 XP-8000 系列 N/A N/A XP-8000-Atom 系列 WES2009 所有版本 N/A: Not applicable to this platform and OS. 注意! 欲變更系統的任何設定之前, 請先關閉

More information

穨文件1

穨文件1 2-1 Access 2000 Visual Basic Access 2000 97 Office Visual Basic Visual Basic Visual Basic VBA Visual Basic Visual Basic 2-1-1 Visual Basic Access Visual Basic ( ) 2-1 2-1 Visual Basic 2-1 Microsoft Access

More information

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4 JAVA Extension 0..\Example\Ch0\ \ T.html..\Example\Ch0\ \ T.txt T.txt..\Example\Ch0\ \ T_Ok.html 提示 :. Marquee Marquee Font Color #FFFFFF BG Color #867bf Width 90 Height 50. T.txt Ctrl+C your scrolling

More information

Microsoft Word - ACL chapter02-5ed.docx

Microsoft Word - ACL chapter02-5ed.docx 第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information

Microsoft PowerPoint - VB5

Microsoft PowerPoint - VB5 Visual Basic 6.0 (V) & VB.NET 丙檢試題第二站第一題身分證號碼 資科系林偉川 第二站試題 BASIC 應用程式設計 編號試題名稱 119-890306 身分證號碼檢查 119-890307 高速公路車輛統計 119-890308 分數加 減 乘 除運算 三選一 (80 分鐘 ) 2 1 VB6 第二站第一題身分證號碼 由循序檔讀入多筆記錄 Frame 物件 母件 單一物件

More information

Microsoft Word - ACI chapter00-1ed.docx

Microsoft Word - ACI chapter00-1ed.docx 前言 Excel Excel - v - 財務管理與投資分析 -Excel 建模活用範例集 5 相關 平衡 敏感 - vi - 前言 模擬 If-Then 規劃 ERP BI - vii - 財務管理與投資分析 -Excel 建模活用範例集 ERP + BI + ERP BI Excel 88 Excel 1. Excel Excel 2. Excel 3. Excel - viii - 前言 1.

More information

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr 05 CHAPTER Information.IsNumeric () Information.IsDate () True False Date DateTrue False Y Y Information.IsArray () True False Y Information.IsError () Information.IsNothing () True False True False Y

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

第六章 然而, 當我們建立了一種多重效應的變數陣列時, 你可在單一變數中儲存超過一個以上的值, 陣列的定義方式是在變數名稱後輸入陣列的大小, 因此若我們要定義長度為 10 的字串陣列, 我們可定義如下所示 : Dim s(9) As String 為何我們使用 (9) 而非 (10) 來代表陣列長度

第六章 然而, 當我們建立了一種多重效應的變數陣列時, 你可在單一變數中儲存超過一個以上的值, 陣列的定義方式是在變數名稱後輸入陣列的大小, 因此若我們要定義長度為 10 的字串陣列, 我們可定義如下所示 : Dim s(9) As String 為何我們使用 (9) 而非 (10) 來代表陣列長度 在本章中我們將介紹複雜的資料集使用方法, 我們先從陣列的介紹開始, 陣列是用來收集相似資料, 例如你可以建立朋友姓名的陣列 ( 在本章稍後將會實際建立 ), 然後將會討論如何使用列舉方法, 讓先前定義的資料集可以被使用 ( 避免你輸入錯誤的值 ), 常數將是下一個要介紹的主題, 我們將會介紹它們用常數來改善程式碼的維護性, 然後介紹結構 (structure) 的使用方法 ( 它與類別相類似 ),

More information

Microsoft PowerPoint - CH07 Arrays and Vectors [相容模式]

Microsoft PowerPoint - CH07 Arrays and Vectors [相容模式] CH7 陣列與向量 Array and Vectors 課程名稱 : 資管一程式設計任課教師 : 謝明哲單位職稱 : 台東大學資管系副教授電子郵件 :hmz@nttu.edu.tw hmz@nttu.edu.tw 2016 1 Outline 什麼是陣列? 陣列的運用 排序方式 多維陣列 hmz@nttu.edu.tw 2016 2 什麼是陣列? hmz@nttu.edu.tw 2016 3 陣列

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136 漸層填色與圖樣填色 08 8-1 漸層填色 8-2 漸層填色編輯 8-3 油漆桶填色 8-4 編輯圖樣 Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 8-1 8-2 8-3 8-4 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop 8-1-1 Photoshop 8 136 漸層填色與圖樣填色 漸層填色

More information

Microsoft Word - 095_2015.09.26 什麼最快樂 (白話與經文加註)-ok .doc

Microsoft Word - 095_2015.09.26  什麼最快樂 (白話與經文加註)-ok .doc 釋 厚 觀 ( 福 嚴 推 廣 教 育 班,2015.9.26) 各 位 法 師 各 位 居 士, 大 家 好! 今 天 跟 大 家 分 享 一 則 佛 典 故 事, 這 故 事 出 自 法 句 譬 喻 經, 在 大 正 藏 第 4 冊 595 頁 中 欄 到 596 頁 上 欄 過 去, 佛 在 舍 衛 國 祇 園 精 舍 時, 有 四 位 新 學 比 丘 一 起 來 到 㮈 樹 下 坐 禪 修

More information

投稿類別:電子工程類

投稿類別:電子工程類 投 稿 類 別 : 工 程 技 術 類 篇 名 : 井 字 生 死 戰 攻 略 作 者 : 陳 威 宇 國 立 臺 南 高 級 海 事 水 產 職 業 學 校 電 子 科 二 年 甲 班 邱 富 群 國 立 臺 南 高 級 海 事 水 產 職 業 學 校 電 子 科 二 年 甲 班 指 導 老 師 : 林 育 助 老 師 王 彥 盛 老 師 壹 前 言 家 喻 戶 曉 的 井 字 遊 戲 (Tic-Tac-Toe)

More information

Microsoft Word C-A卷.docx

Microsoft Word C-A卷.docx 100 學年度資訊學院程式設計會考 (C) 101/05/5 題組 :A 選擇題及填充題, 請在答案卡上作答, 實作題請填寫於答案卷上, 並於實作題上方填寫班級 姓名 學號 一 選擇題題目 1. unsigned char 的最大值 (a) 127 (b) 255 (c) 512 (d) 1023 2. 下列何者為正確的變數名稱? (a) Android (b) C++ (c) I Phone (d)

More information

e01 1....5 1.1....5 1.1.1....5 1.1.2....6 1.1.3....8 1.1.4....9 1.1.5....11 1.1.6. /...16 1.1.7. /...19 1.1.8. /...21 1.1.9....24 1.1.10....24 1.1.11....28 1.1.12....36 1.1.13....45 1.1.14....48 1.1.15....50

More information

05856BT09.indd

05856BT09.indd 17 第 9 章模組化程式設計 Ⅱ - 參數傳遞與變數活動範圍 參考答案 9-1 參數的傳遞 9-1 練習配合課本第 61 頁 基礎 一 選擇題 ( B )1. 若某一 Visual Basic 的自定函數如下, 則呼叫 Test(5) 的傳回值為何? (A)1 (B)5 (C)20 (D)625 Function Test(ByVal n As Short) As Integer If n < 2

More information

Microsoft PowerPoint - chap10.ppt

Microsoft PowerPoint - chap10.ppt 陣列 資訊科技系 林偉川 本章簡介 由於一個變數只能存放一個數值, 如果程式需處理大批資料 ( 如學生 員工資料等 ), 就必須宣告許多的變數來存放這些資料, 寫起來非常不便 2 1 本章簡介 程式中要用到 10 個學號, 就要宣告 10 個變數來儲存 : 3 本章簡介 C 語言提供了一種特殊的資料結構 : 陣列 (Array) 宣告一個陣列, 可以取代宣告多個變數, 讓程式更容易撰寫和閱讀 像上述

More information

Microsoft PowerPoint - 04-array_pointer.ppt

Microsoft PowerPoint - 04-array_pointer.ppt Array 與 Pointer Array Dynamical Memory Allocation Array( 陣列 ) 陣列是用來存放同樣型態的資料陣列的大小必須在程式中預先設定在程式執行中, 陣列的大小無法改變陣列中的資料是透過索引 (index) 來存取 一維陣列的宣告 type array_name[array_size]; int iarray[100]; /* an integer array

More information

MVB-1001.DOC

MVB-1001.DOC 20 1.5 10 15 20 25 80 100 CSF 1. 2. 0105 3. 4. 5. 30% 1.5 0.75 1. Visual Basic Visual Basic (A) Visual Basic Enterprise Edition (B) Visual Basic Script Edition (C) Visual Basic Learning Edition (D) Visual

More information

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不 1. 右 側 程 式 正 確 的 輸 出 應 該 如 下 : * *** ***** ******* ********* 在 不 修 改 右 側 程 式 之 第 4 行 及 第 7 行 程 式 碼 的 前 提 下, 最 少 需 修 改 幾 行 程 式 碼 以 得 到 正 確 輸 出? (A) 1 (B) 2 (C) 3 (D) 4 1 int k = 4; 2 int m = 1; 3 for (int

More information

5

5 Chapter 5. 亂數及陣列 5.1 InputBox 和 MsgBox 5.2 亂數 5.3 陣列 5.4 Load Unload 5.1 InputBox 和 MsgBox 5.1.1 InputBox 函數 InputBox 是 vb 內建的一個函數, 和一般 TextBox( 文字方塊 ) 最大的不同點在, 程式執行中, 文字方塊並沒有辦法讓程式暫停等待使用者輸入資料 以下舉範例 說明

More information

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f 27 1 Vol.27 No.1 CEMENTED CARBIDE 2010 2 Feb.2010!"!!!!"!!!!"!" doi:10.3969/j.issn.1003-7292.2010.01.011 OPC 1 1 2 1 (1., 412008; 2., 518052), OPC, WinCC VB,,, OPC ; ;VB ;WinCC Application of OPC Technology

More information

TC35短信发送程序设计

TC35短信发送程序设计 http://www.dragonsoft.net.cn/down/project/tc35_sms.rar TC35 AT /down/book/tc35_at.pdf TC35/TC35i GSM Modem TC35 GSM POS COM SIM DOWN COM E, vbcr AT VB6.0 1)C# http://www.yesky.com/softchannel/72342380468109312/20040523/1800310.shtml,

More information

Microsoft PowerPoint - Bronson-v3-ch07.ppt [相容模式]

Microsoft PowerPoint - Bronson-v3-ch07.ppt [相容模式] C++ FOR ENGINEERS AND SCIENTISTS THIRD EDITION Chapter 7 Arrays Objectives 2 In this chapter, you will learn about: One-dimensional arrays 一維陣列 Array initialization 陣列起始化 Declaring and processing two-dimensional

More information

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - OPVB1基本VB.ppt 大 綱 0.VB 能 做 什 麼? CH1 VB 基 本 認 識 1.VB 歷 史 與 版 本 2.VB 環 境 簡 介 3. 即 時 運 算 視 窗 1 0.VB 能 做 什 麼? Visual Basic =>VB=> 程 式 設 計 語 言 => 設 計 程 式 設 計 你 想 要 的 功 能 的 程 式 自 動 化 資 料 庫 計 算 模 擬 遊 戲 網 路 監 控 實 驗 輔 助 自 動

More information

05224AA11.indd

05224AA11.indd 計算機概論 CHAPTER 11 Visual Basic 入門 XBOX 360 Kinect 體感電玩 電腦遊戲 ( 如憤怒鳥 ) 圖書管理系統等都是使用程式語言開發而成 學會 Visual Basic, 你也可以自己動手開發專屬個人的遊戲或實用的軟體喔! 學好本章, 打好程式設計的基礎 執行 開始 / 所有程式 /Microsoft Visual Studio 2010 Express/Microsoft

More information

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc TwinCAT 2001.12.11 TwinCAT 1. TwinCAT... 3 2.... 4... 4...11 3. TwinCAT PLC... 13... 13 PLC IEC 61131-3... 14 4. TwinCAT... 17... 17 5. TwinCAT... 18... 18 6.... 19 Maschine.pro... 19... 27 7.... 31...

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

目次 CONTENTS 1 數列與級數 幾何圖形 三角形的基本性質 平行與四邊形

目次 CONTENTS 1 數列與級數 幾何圖形 三角形的基本性質 平行與四邊形 給同學的話 1 3 4 目次 CONTENTS 1 數列與級數 1-1 3 1-8 1 13 幾何圖形 -1 18 - -3 6 30 3 三角形的基本性質 3-1 35 3-39 3-3 44 3 48 4 平行與四邊形 4-1 54 4-59 4-3 63 4 68 3 1-1 數列 本節性質與公式摘要 1 數列 : 1 1 a 3 a 3 n n a n 3 n n1 a n1 4 n n1

More information

Microsoft Word - part doc

Microsoft Word - part doc 3 指標與陣列 3-1 指標與一維陣列 3-2 指標與二維陣列 3-3 陣列指標 3-4 為什麼 parr 等同於 *parr? 3-5 指向陣列的指標 3-6 多重指標 3-7 命令列引數 3-8 除錯題 3-9 問題演練 3-10 程式實作 32 Part 1 C 程式語言篇 指標其實就是一位址 陣列的名稱, 表示此陣列第一個元素的位址, 所以它也是指標 由此可知, 指標與陣列的關係是很密切的

More information

Microsoft PowerPoint - Chapter5

Microsoft PowerPoint - Chapter5 CH5 表 單 與 控 制 項 課 程 目 標 : 暸 解 VBA 語 言 中 的 控 制 項 及 常 用 屬 性 表 單 在 視 窗 環 境 中, 使 用 者 所 使 用 的 對 話 窗, 精 靈 等 都 是 以 表 單 為 基 本 單 位, 再 加 上 其 它 控 制 項 所 構 成 的 操 作 環 境 利 用 插 入 表 單 為 指 定 的 專 案 插 入 一 個 自 訂 表 單 表 單 常

More information

ThreeDtunnel.doc

ThreeDtunnel.doc (12) 1 1. Visual Basic Private Sub LoadDatabase() Dim strip As String Dim straccount As String Dim strpassword As String Dim strdatabase As String Dim strtable As String Dim strsql As String Dim strtemp1

More information

6. 4 5 6 7 8 9 10 11 ...1... 1...1...1...2... 3...3...5...9... 11...11...11...12...12... 13...13...14... 16...16...19...20 I 1 ---------------------------------------------------3 2 ------------------------------------------------6

More information

Microsoft Word - _m30.doc

Microsoft Word - _m30.doc 1 2 3 4 5 6 7 8 公式 2 4 2 1 能 整除 因此後玩 者贏 且關鍵數 字為3 的倍數 3 0 3 1 不能整除 所 以先拿餘數 2 關鍵數字是 4的倍 數 2 先玩者贏 4 0 4 1 能整除 因此 後玩者贏 且 關鍵數字為 5 的倍數 5 0 5 1 不能整除 所 以先拿餘數 2 關鍵 數字是 6的倍 數 2 先玩者贏 7 0 6 1 能整除 因此 後玩者贏 且 關鍵數字為7

More information

PowerPoint Presentation

PowerPoint Presentation 資料結構概論 NTU CSIE Outline 資料結構概論 C 語言的結構 (struct) 結構化的資料常見的資料結構簡介 從一個例子開始 算出班上十位同學成績之總分與平均 #include int main() // 宣告變數與資料內容 int a0=80, a=90, a2=70, a3=66, a4=56; int a5=99, a6=88, a7=50, a8=60,

More information

2

2 1 2 1-1 Visual Basic 3 1-2 3/8-3/21 3/22-4/4 4/5-4/18 4/19-5/2 5/3-5/16 5/17-5/30 5/31-6/13 6/14-6/27 6/28-7/11 7/12-7/25 7/26-8/8 8/9-8/22 8/25-9/5 9/6-9/19 9/20-10/3 10/4-10/17 10/18-10/31 11/15-11/28

More information

2009年3月二级VB语言笔试真题

2009年3月二级VB语言笔试真题 2008 年 4 月 计 算 机 二 级 考 试 VB 笔 试 试 题 一 选 择 题 ( 每 题 2 分, 共 计 70 分 ) 1. 程 序 流 程 图 中 带 有 箭 头 的 线 段 表 示 的 是 A) 图 元 关 系 B) 数 据 流 C) 控 制 流 D) 调 用 关 系 2. 结 构 化 程 序 设 计 的 基 本 原 则 不 包 括 A) 多 态 性 B) 自 顶 向 下 C) 模

More information

Microsoft PowerPoint - STU_C_Lang_CH13.ppt

Microsoft PowerPoint - STU_C_Lang_CH13.ppt 第 13 章 動態配置記憶體 程式設計與生活 - 使用 C 語言 Shi-Huang Chen Spring 2013 第 13 章 動態配置記憶體 13-1 記憶體配置函式 malloc( ) 13-2 動態配置結構陣列 配置記憶體 預估需求數量的範圍是一項不容易的學問 例 : 大到預估今年國家預算, 小到預估櫥窗裡展示的毛線衣, 需要多少磅毛線才能織成 撰寫程式時, 一樣無法預估程式執行所需的記憶體空間

More information

VB控件教程大全

VB控件教程大全 Datagrid DataGrid1.Columns.Remove(0) ' 0 DataGrid1.Columns.Add(0).Caption= ' DataGrod1.Columns(0).DataField= Name ' Adodc1.Refresh DataGrid BackColor Font DataGrid CellPadding HTML CellSpacing HTML Width

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

Microsoft PowerPoint - Class2.pptx

Microsoft PowerPoint - Class2.pptx C++ 程式初探 II 2015 暑期 C++ 程式 II 大綱 1. 變數 2. 運算式 3. 輸出 4. 條件判斷 5. 迴圈 6. 陣列 2 基本變數型態 整數 位元組 浮點數 位元組 字元 位元組 short 2 float 4 char ( 整數 ) 1 int 2 (4) double 8 long 4 (8) long double 8(10) 位元組 整數値域 浮點數値域 準確度 1-128

More information

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式 導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式語言篇第 3 章 C# 程式語言基礎 C# C# 3.0 var 第 4 章 基本資料處理 C# x

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行

More information

全 國 教 育 實 習 資 訊 平 臺 師 資 培 育 之 大 學 操 作 手 冊 目 錄 壹 在 校 師 資 生 使 用 全 國 教 育 實 習 資 訊 平 臺 之 前 置 作 業... 1 貳 使 用 者 註 冊 登 入 說 明... 4 一 加 入 會 員... 4 二 使 用 者 登 錄... 7 參 承 辦 人 員 資 料 管 理... 8 肆 校 內 公 布 欄... 9 伍 各 項 資

More information

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) () (39mm E-Mail ( )( ), : : 1 1 ( ) 2 2 ( ) 29mm) WSK ( 1 2 / 3 1 A4 2 1 3 (2-1) 2-1 4 (2-2) 2-2 5 A4 6 A4 7 A4 8 A4 9 A4 10 11 ( () 4 A4, 5 6 7 8 A4 7 ) 1 (2-1) (2-2) () 1 2 (2-1) 3 (2-2) 4 5 6 7 (8 ) 9

More information

Problem 1. 星座查詢 (Time Limit: 1 second) 問題描述 : 星座查詢有 " 水瓶 "," 雙魚 "," 牡羊 "," 金牛 "," 雙子 "," 巨蟹 "," 獅子 "," 處女 "," 天秤 "," 天蠍 "," 射手 "," 摩羯 "; 請設計程式, 根據輸入之月

Problem 1. 星座查詢 (Time Limit: 1 second) 問題描述 : 星座查詢有  水瓶 , 雙魚 , 牡羊 , 金牛 , 雙子 , 巨蟹 , 獅子 , 處女 , 天秤 , 天蠍 , 射手 , 摩羯 ; 請設計程式, 根據輸入之月 Problem 1. 星座查詢 (Time Limit: 1 second) 星座查詢有 " 水瓶 "," 雙魚 "," 牡羊 "," 金牛 "," 雙子 "," 巨蟹 "," 獅子 "," 處女 "," 天秤 "," 天蠍 "," 射手 "," 摩羯 "; 請設計程式, 根據輸入之月及日期, 輸出對應之星座輸出 1997 年 1 月 21 日 ~ 1997 年 2 月 18 日水瓶 Aquarius

More information

4 / ( / / 5 / / ( / 6 ( / / 7 1 2 / 3 ( 4 ( 2003 8 ( 2

4 / ( / / 5 / / ( / 6 ( / / 7 1 2 / 3 ( 4 ( 2003 8 ( 2 : / ( 6 (2003 8 : ( 1 ( ( / / (,, ( ( - ( - (39mm 29mm 2 ( 1 2 3-6 3 6-24 6-48 12-24 8-12 WSK / WSK WSK 1 4 / ( / / 5 / / ( / 6 ( / / 7 1 2 / 3 ( 4 ( 2003 8 ( 2 9 5 ( 10 3 11 / (600 4 5 AA 710 AB 720 730

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

Microsoft PowerPoint - 13_指標、資料傳遞2.pptx

Microsoft PowerPoint - 13_指標、資料傳遞2.pptx 1 2 指標 Lecture 13 指標函式呼叫的資料傳遞 (III) 傳址指標與陣列 Pointer 3 4 指標 / 指位器 (Pointer) 變數 int a; 整數型別, 名稱為 a 變數是為了使用記憶體資源來儲存資料與進行運算 所有的變數都佔有記憶體空間 記憶體 可視為一個很大的一維陣列, 單位是 byte 問題 一個 4KB 的電腦, 其記憶體位置 ( 編號 ) 從 0 至? 4 x

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

ActiveX Control

ActiveX Control ActiveX Control For Visual Basic 2005.NET [ 版本 : 1.0] 1 安裝 Windows 驅動程式 請依照下列步驟 : 1. 執行 Windows 驅動程式安裝程式 ( 此範例為 PIO-DIO) 驅動程式位置 : CD:\NAPDOS\PCI\PIO-DIO\dll_ocx\Driver http://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/pio-dio/dll_ocx/driver/

More information