程式設 計 本書以下兩章解析商科與工科技藝競賽試題, 這些題目都非常有創意且實用, 值得高中職學生臨摹解析, 筆者在此提供解答, 期望更多人一起共襄盛舉 其次, 競賽前的注意事項如下 : 1. 記得自備 USB 鍵盤與滑鼠, 因為每一鍵盤的尺寸與觸感不一, 比賽時間分秒必爭, 當然是要自備以上工具

Size: px
Start display at page:

Download "程式設 計 本書以下兩章解析商科與工科技藝競賽試題, 這些題目都非常有創意且實用, 值得高中職學生臨摹解析, 筆者在此提供解答, 期望更多人一起共襄盛舉 其次, 競賽前的注意事項如下 : 1. 記得自備 USB 鍵盤與滑鼠, 因為每一鍵盤的尺寸與觸感不一, 比賽時間分秒必爭, 當然是要自備以上工具"

Transcription

1 商科技藝競賽試題解析 年試題解析 年試題解析 年試題解析 年試題解析

2 程式設 計 本書以下兩章解析商科與工科技藝競賽試題, 這些題目都非常有創意且實用, 值得高中職學生臨摹解析, 筆者在此提供解答, 期望更多人一起共襄盛舉 其次, 競賽前的注意事項如下 : 1. 記得自備 USB 鍵盤與滑鼠, 因為每一鍵盤的尺寸與觸感不一, 比賽時間分秒必爭, 當然是要自備以上工具 2. 競賽前幾天, 腦筋還是要低溫運轉, 這樣一進考場, 才能馬上加速前進 反之, 若停機太久, 則要耗費較多時間, 才能正常運轉 3. 競賽前要有至少兩次 4 小時的模擬考, 這樣才能練習專注力與持續力 4. 競賽給的隨身碟資料要先複製到硬碟, 以免不慎破壞, 尤其工科是逐題交出隨身碟檢查, 一旦回座發現問題, 要能馬上先行更正, 並要求取回重交 若未先行複製檔案, 則必須先取回 重做 再重交, 當然為時已晚 5. 存檔路徑與格式要符合競賽規定, 否則評審可能找不到檔案 6. 要能精準選題, 不要隨便作, 又隨便放棄, 結果一事無成 尤其要先拿到基本題 2~4 題, 就可拿到優勝而上台領獎 不然辛苦一年, 到頭來空手而回, 那就虧大了 年試題解析 一 最長遞增子序列 (21%) ) 考慮一個數列在刪除最少個數的情況下, 使得剩下的數字呈現遞增狀態 例如 : 有一個數列為 8,20,27,17,13,28,35,31, 若保留前三個數字, 其 餘的全部刪除, 剩下的就是一個遞增序列 ; 或者是保留第一 第三 第六 及第七, 其餘的全部刪除, 剩下的也是一個遞增序列, 但是與前一個例子 相比, 其遞增的序列較長 -2

3 商科技藝競賽試題解析 chapter 輸入說明輸入之奇數列為下一行數列中的個數, 偶數列為數列資料, 代表一組測試資料 每個數字與數字間的區隔為一個空白符號, 當奇數列為 0 時表示結束 ( 請參照輸入範例 ) 輸入範圍每個數列最少有 2 個數字, 最多不超過 100 個 每個數列中的數字皆大於 0, 小於 1000, 且不重複 輸入範例 test1.txt 輸出說明 每組測試的數列皆要輸出欲刪除的個數 ( 請參照輸出範例 ) 輸出範例 result1.txt 3 7 輸出結果 -3

4 程式設 計 演算說明 本題可依序由 C 增子序列 程式列印 n n C n n 1 C n n 2 C n n 3 以下程式先使用陣列預設數列資料 檢驗是否遞增, 當遞增時即為最長遞 Private Sub Command1_Click() Dim r, n, k, index As Integer Dim c As Variant r = 25 c = Array(0,, 17, 1, 2, 3, 4, 5, 18, 6, 19, 7, 20, 8, 9, 10, 11, 12, 13, 21, 14, 22, 23, 24, 25, 15) Dim s As String s = "" Dim inc As Boolean inc = False Dim a(30), b(30) As Integer For i = r To 1 Step -1 For j = 1 To i a(j) = c(j) b(j) = c(j) k = 1 index = 1 n = i combi a, b, k, index, r, n, s, inc If inc Then Label1.Caption = s 遞增數列 Label2.Caption = Str(r - i) 刪除個數 Exit Sub Public Sub combi(byval a, ByVal b, ByVal k, ByVal index, ByVal r, ByVal n, ByRef s, ByRef inc) If index > n Then 先假設是遞增 Dim inc1 As Boolean inc1 = True 只要找到一個遞減, 就不是遞增 For j = 1 To n - 1 If b(j) > b(j + 1) Then -4

5 商科技藝競賽試題解析 chapter inc1 = False 只要是遞增, 才蒐集當時的數列 If inc1 Then s = "" For j = 1 To n s = s + Str(b(j)) + "," 此一組合中, 只要有一遞增, 即為遞增 inc = inc Or inc1 Else For i = k To r - (n - index) b(index) = a(i) combi a, b, i + 1, index + 1, r, n, s, inc 以下是按照題意的解答, 其中 combi 副程式同上 Private Sub Command2_Click() Dim dir As String 'dir = "F:\vbprog\ch17\96\1\test1.txt" dir = App.Path + "\test1.txt" Dim out As String out = App.Path + "\result1.txt" Dim c(20) As Integer Dim a(20), b(20) As Integer Dim inc As Boolean Open dir For Input As #1 Open out For Output As #2 Input #1, r Do While r <> 0 inc = False For i = 1 To r Input #1, c(i) For i = r To 1 Step -1 For j = 1 To i a(j) = c(j) b(j) = c(j) k = 1 index = 1 n = i combi a, b, k, index, r, n, s, inc -5

6 程式設 計 If inc Then Print #2, r - i Exit For Input #1, r Loop Close #1 Close #2 二 總和檢查 (%) ) 請檢查一個數列中, 尋找任兩個數字相加後的和是否會等於輸入的檢查值 例如 : 有一個數列為 8,20,27,17,13,28,35,31, 若輸入的檢查值為 48, 會找到 20 及 28 兩個數, 相加的和為 48; 反之, 若輸入的檢查值為 50, 則會找不到配對的數字 輸入說明輸入之第 1 列為下一列數列中的個數, 第 2 列為數列資料 每個數字與數字間的區隔為一個空白符號 第 3 列及以後的資料為輸入的檢查值, 每一列有一個檢查值, 當為 0 時表示結束 ( 請參照輸入範例 ) 輸入範圍輸入的數列最少有 2 個數字, 最多不超過 100 個 每個數列中的數字皆大於 0, 小於 1000, 且不重複 輸入範例 test2.txt

7 商科技藝競賽試題解析 chapter 輸出說明每個檢查值有一個輸出結果, 若有匹配的檢查值, 則輸出為 1, 反之為 -1 ( 請參照輸出範例 ) 輸出範例 result2.txt 1-1 演算說明 1. 本題採用雙迴圈一一提取兩個不同索引的數字, 並檢查是否等於檢查值 程式列印 Private Sub Command1_Click() Dim dir As String dir = App.Path + "\test2.txt" Dim out As String out = App.Path + "\result2.txt" Open dir For Input As #1 Open out For Output As #2 Dim b(20) As Integer Dim r As Integer Input #1, a 資料個數 For i = 1 To a Input #1, b(i) Print b(i) Input #1, c Do While c <> 0 r = -1 For i = 1 To a For j = 1 To a If i <> j Then If b(i) + b(j) = c Then r = 1 Exit For -7

8 程式設 計 Print #2, r Input #1, c Loop 三 數獨 (23%) ) 數獨 sudoku 來自日文, 但概念源自 拉丁方塊, 是十八世紀瑞士數學家歐拉發明的 其遊戲規則為 : 在九個九宮格裡, 填入 1 到 9 的數字, 讓 每個數字在每個行 列及九宮格裡都只出現一次 謎題中會預先填入若 干數字, 其他宮位則留白, 玩家得依謎題中的數字分佈狀況, 邏輯推敲出 剩下的空格裡是什麼數字, 範例如下圖所示 請設計一個程式, 可以幫助 玩家提示空格中尚可填入的數字 例如 : 第 5 行第 3 列的位置尚可填入 1 這 個數字 ; 第 6 行第 7 列的位置尚可填入 7 與 8 這兩個數字 ; 而第 5 行第 5 列的 位置已有數字填入則輸出 0 輸入說明輸入的第 1 列到第 9 列為數獨資料, 每一列由九個數字所組成 數字 1 到 9 為已填入的數值,0 代表尚未填入數值的空格, 每個數字與數字間的區隔為一個空白符號 第 10 列及以後的資料為要提示位置的座標 ( 座標的定義方式為右上角為 9 1, 左下角為 1 9, 第一個數字代表行, 第二個數字代表列 ), 當為 0 0 時表示結束 ( 請參照輸入範例 ) -8

9 商科技藝競賽試題解析 chapter 輸入範例 test3.txt 輸出說明每個提示位置有一列輸出結果, 表示尚可填入的數字, 請由小到大排列 每個數字與數字間的區隔為一個空白符號 若該位置已有填入數字, 或找不到提示的數字, 則輸出 0( 請參照輸出範例 ) 輸出範例 result3.txt 演算說明本例先修改為線上提示的輸出入介面, 當使用者用滑鼠指向某一空白位置時, 即出現可用提示數字, 如下圖 : 1. 滑鼠指向第 1 個位置 ( 索引從 0 開始 ), 座標 1,2, 僅可輸入 7, 如下圖左 : 2. 滑鼠指向第 10 個位置 ( 索引從 0 開始 ), 座標 2,2, 僅可輸入 1,5,7 如下圖右 : -9

10 程式設 計 程式列印 Dim a(9, 9) As Integer Private Sub Form_Load() ' 已經填寫的資料 Dim b(9) As String b(1) = " " b(2) = " " b(3) = " " b(4) = " " b(5) = " " b(6) = " " b(7) = " " b(8) = " " b(9) = " " For i = 1 To 9 For j = 1 To 9 a(i, j) = Mid(b(i), j, 1) ' 動態物件 For i = 1 To 80 Load txt(i) wid = txt(0).width * (i Mod 9) hig = txt(0).height * (i \ 9) txt(i).move txt(0).left + wid, txt(0).top + hig txt(i).text = IIf(a(i \ 9 + 1, i Mod 9 + 1) = 0, "", a(i \ 9 + 1, i Mod 9 + 1)) txt(i).visible = True -10

11 商科技藝競賽試題解析 chapter ' 當資料改變時, 將資料亦寫入陣列 Private Sub txt_change(index As Integer) c = Index c1 = c \ c2 = c Mod a(c1, c2) = Val(txt(c).Text) Private Sub txt_mousemove(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Dim d(9) As Integer c = Index '0 到 80 共 81 個 c1 = c \ ' 列 c2 = c Mod ' 行 Form1.Caption = Str(Index) + " " + Str(c1) + "," + Str(c2) 'f(1, 1) = 0: f(1, 2) = 1: f(1, 3) = 2: f(1, 4) = 9: f(1, 5) = 10: f(1, 6) = 11: f(1, 7) = 18: f(1, 8) = 19: f(1, 9) = 20 'f(2, 1) = 3: f(2, 2) = 4: f(2, 3) = 5: f(2, 4) = 12: f(2, 5) = 13: f(2, 6) = 14: f(2, 7) = 21: f(2, 8) = 22: f(2, 9) = 23 '3*3 正方形 9 個區塊的編號 Dim e(9) As String Dim f(9, 9) As Byte e(1) = " " e(2) = " " e(3) = " " e(4) = " " e(5) = " " e(6) = " " e(7) = " " e(8) = " " e(9) = " " ' 將以上資料讀入陣列 For i = 1 To 9 For j = 1 To 9 f(i, j) = Val(Mid(e(i), 2 * (j - 1) + 1, 2)) If a(c1, c2) = 0 Then ' 資料為零的才計算 For i = 1 To 9 d(i) = i ' 逐一刪除每一列已經出現的數字 For i = 1 To 9 d(a(i, c2)) = 0 ' 逐一刪除每一行已經出現的數字 For j = 1 To 9 d(a(c1, j)) = 0-11

12 程式設 計 j ' 刪除 9 個 3*3 正方形小區塊已經出現的數字 Select Case c Case 0, 1, 2, 9, 10, 11, 18, 19, 20 c3 = 1 ' 左上角第一區 Case 3, 4, 5, 12, 13, 14, 21, 22, 23 c3 = 2 ' 上面中間 Case 6, 7, 8, 15,, 17, 24, 25, 26 c3 = 3 ' 右上角 Case 27, 28, 29, 36, 37, 38, 45, 46, 47 c3 = 4 Case 30, 31, 32, 39, 40, 41, 48, 49, 50 c3 = 5 Case 33, 34, 35, 42, 43, 44, 51, 52, 53 c3 = 6 Case 54, 55, 56, 63, 64, 65, 72, 73, 74 c3 = 7 Case 57, 58, 59, 66, 67, 68, 75, 76, 77 c3 = 8 Case 60, 61, 62, 69, 70, 71, 78, 79, 80 c3 = 9 End Select For i = 1 To 9 c4 = f(c3, i) ' 取得 0 到 80 的編號 c5 = c4 \ ' 取得二維列編號 c6 = c4 Mod ' 取得二維行編號 d(a(c5, c6)) = 0 ' 刪除數字 ' 將不為 0 的集合起來 t = "" For i = 1 To 9 If d(i) <> 0 Then t = t + Str(d(i)) + "," Else ' 資料不為 0 的直接顯示 0 t = "0" txt(index).tooltiptext = t 自我練習 1. 同上題, 請自行加入輸入錯誤時, 出現錯誤訊息 2. 改為使用讀檔的輸入方式, 輸出亦輸出於檔案 -12

13 商科技藝競賽試題解析 chapter 四 借盤子 (13%) ) 張三把所持有的 1000 個盤子分別裝在 10 個箱子裡, 每個箱子分別裝進 及 489 個盤子 張三將這些箱子依序 標上 1~10 的號碼 有天, 李四想找張三借 N 個盤子, 張三知道每個箱子的 編號與箱子內所放盤子的個數, 但如何設計一個程式, 在不拆開箱子重 新組合盤子的情況下, 告訴張三應拿出哪些箱子給李四, 才能得到李四 要借的盤子數目呢? 輸入說明每列中的數字代表要借的盤子數, 當為 0 時表示結束 ( 請參照輸入範例 ) 輸入範圍每列中的數字皆大於 0, 小於等於 1000 輸入範例 test4.txt 輸出說明每個數字代表箱子的編號, 每個數字與數字間的區隔為一個空白符號, 請由大到小排列 ( 請參照輸出範例 ) 輸出範例 result4.txt

14 程式設 計 演算說明 1. 將 489,256,128,64,32,,8,4,2, 放入陣列, 並一一檢驗是否可減去此值 程式列印 Private Sub Command1_Click() Dim dir As String dir = App.Path + "\test4.txt" Dim out As String out = App.Path + "\result4.txt" Dim d(10) As Integer d(1) = 1: d(2) = 2: d(3) = 4: d(4) = 8: d(5) = d(6) = 32: d(7) = 64: d(8) = 128: d(9) = 256: d(10) = 489 Open dir For Input As #1 Open out For Output As #2 Input #1, r Do While r <> 0 For i = 10 To 1 Step -1 If r >= d(i) Then Print #2, i; r = r - d(i) Print #2, Chr(10) + Chr(13) ' 跳列 Input #1, r Loop Close #1 Close #2 五 尋找第 K 大的位置 (12%) ) 請設計一個程式, 能在一個數列中, 找出此數列第 K 大數字的位置 例如, 有一個數列為 8,20,27,17,13,28,35,31, 第三大的數字為 28, 此數字 的位置在串列中的第 6 個位置 ; 第 5 大的數字為 20, 此數字的位置在串列 中的第 2 個位置 -14

15 商科技藝競賽試題解析 chapter 輸入說明輸入之第 1 列為下一列數列中的個數 第 2 列為數列資料 每個數字與數字間的區隔為一個空白符號 第 3 列及以後的資料為要尋找第 K 大數字的 K 值, 當為 0 時表示結束 ( 請參照輸入範例 ) 輸入範圍輸入的數列最少為 2 個, 最多不超過 100 個 每個數列中的數字皆大於 0, 小於 1000, 且不重複 輸入範例 test5.txt 輸出說明輸入的每個 K 值皆有一個位置的輸出結果, 若超過數列的個數則輸出 -1 ( 請參照輸出範例 ) 輸出範例 result5.txt 程式列印 Private Sub Command1_Click() Dim dir As String dir = App.Path + "\test5.txt" -15

16 程式設 計 Dim out As String out = App.Path + "\result5.txt" Dim d(20) As Integer Dim c(20) As Integer Open dir For Input As #1 Open out For Output As #2 Input #1, n For i = 1 To n Input #1, d(i) ' 位置 For i = 1 To n c(i) = i ' 泡沫排序, 由大而小 For i = 1 To n - 1 For j = 1 To n - i If d(j) < d(j + 1) Then t = d(j): d(j) = d(j + 1): d(j + 1) = t t = c(j): c(j) = c(j + 1): c(j + 1) = t ' 位置 Input #1, a Do While a <> 0 If a > n Then Print #2, -1; Else Print #2, c(a) Input #1, a Loop Close #1 Close #2 六 關係運算子 (7%) ) 請設計一個程式, 能判斷出兩個數值之間三種狀態的關係運算子 : (1) 第一個數字大於第二個數字 (2) 第二個數字小於第一個數字 (3) 兩個數字一樣大 -

17 商科技藝競賽試題解析 chapter 輸入說明每一列由二個數字所組成, 為一組測試資料 每個數字與數字間的區隔為一個空白符號, 當為 0 0 時表示結束 ( 請參照輸入範例 ) 輸入範例 test6.txt 輸出說明對於每組測試資料, 輸出 > < =, 代表該二數字的關係 ( 請參照輸出範例 ) 輸出範例 result6.txt < > = 程式列印 Private Sub Command1_Click() Dim dir As String dir = App.Path + "\test6.txt" Dim out As String out = App.Path + "\result6.txt" Open dir For Input As #1 Open out For Output As #2 Input #1, a, b Dim r As String Do While (a <> 0 And b <> 0) If a > b Then r = ">" Else If a = b Then r = "=" -17

18 程式設 計 Else r = "<" Print #2, r Input #1, a, b Loop Close #1 Close #2 七 密碼解密 (8%) ) 在密碼學裡面有一種很簡單的加密方式, 就是把原始資料的每個字元通通加上某一個整數 K 而得到密碼的字元 ( 原始資料及密碼字元一定都在 ASCII 碼中可列印的範圍內 ) 例如 : 若 K=2, 那麼 apple 經過加密後就變 成 crrng 了 ; 解密則是反過來做 輸入說明第 1 列為加密的 K 值, 第 2 列為要解密的列數, 第 3 列及以後就是需要解密的字串 ( 請參照輸入範例 ) 輸入範例 test7.txt 7 3 1JKJ'pz'{ol'{yhklthyr'vm'{ol'Jvu{yvs'Kh{h'Jvywvyh{pvu5 1PIT'pz'h'{yhklthyr'vm'{ol Pu{lyuh{pvuhs' I zpulzz'thjopul'jvywvyh{pvu5 1KLJ'pz'{ol'{yhklthyr'vm'{ol'Kpnp{hs'Lx pwtlu{'jvywvyh{pvu5 輸出說明 對每一測試資料, 請輸出解密後的原始資料 ( 請參照輸出範例 ) -18

19 商科技藝競賽試題解析 chapter 輸出範例 result7.txt *CDC is the trademark of the Control Data Corporation. *IBM is a trademark of the International Business Machine Corporation. *DEC is the trademark of the Digital Equipment Corporation. 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + \test7.txt Dim out As String out = App.Path + \result7.txt Open dir For Input As #1 Open out For Output As #2 Dim data() As String Dim str As String Dim encascii As Integer Input #1, k 加密的 k 值 Input #1, n ' 列數 ReDim data(n) As String Do While Not EOF(1) i = i + 1 Line Input #1, str data(i) = str Loop For i = 1 To UBound(data) str = data(i) destr = "" For j = 1 To Len(str) destr = destr & Chr(Asc((Mid(str, j, 1))) - k) Print #2, destr i Close #1 Close #2 End -19

20 程式設 計 年試題解析 一 等差數列或等比數列 (10%) ) 在數列中有等差數列及等比數列, 若已知數列的前四項, 請判斷出此數列是等差或是等比數列, 並求出公差或公比 輸入說明第 1 行是數列的數目 t(0 t 10) 以下每行均包含四個以空白隔開的整數, 表示數列的前四項 數列的前四項均為不大於 的自然數, 等比數列的比值也是自然數 輸出說明對輸入的每個數列, 輸出兩個欄位, 欄位與欄位之間以一個空白隔開, 若是等差數列, 則第一欄輸出 A 若為等比數列, 則第一欄輸出 G; 第二欄則根據數列的判斷結果, 輸出其公差或是公比 輸入範例 輸出範例 A 2 G 2-20

21 商科技藝競賽試題解析 chapter 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\test1.txt" Dim out As String out = App.Path + "\result1.txt" Open dir For Input As #1 Open out For Output As #2 Dim data() As String Dim str As String Input #1, n ReDim data(n) As String Do While Not EOF(1) i = i + 1 Line Input #1, str data(i) = str Loop For i = 1 To UBound(data) flaga = False flagg = False ex = Split(data(i), ) 以空白分解字串 If (Val(ex(1)) - Val(ex(0))) = (Val(ex(3)) - Val(ex(2))) Then a = Val(ex(1)) - Val(ex(0)) ' 公差 flaga = True If (Val(ex(1)) / Val(ex(0))) = (Val(ex(3)) / Val(ex(2))) Then g = Val(ex(1)) / Val(ex(0)) 公比 flagg = True If flaga Then Print #2, «A «& a If flagg Then Print #2, «G «& g i Close #1 Close #2-21

22 程式設 計 二 極大值問題 (11%) ) 有一個 n 位數的正整數 A, 請問刪除其中 k 個連續或不連續的位數 (k< n), 將剩下的數字依序合併形成一個新的正整數 B,B 的最大可能值是多少? ( 請注意,A 和 B 的首位都不能是 0) 輸入說明奇數列有兩個以空白隔開的正整數 n 及 k (1 k < n ) 偶數列會有一個長度為 n 的正整數 A 輸出說明請輸出 B 的最大可能值 輸入範例 輸出範例 執行結果 -22

23 商科技藝競賽試題解析 chapter 演算說明 本題採用組合的方法 例如,5 個要刪除 2 個, 則計算 C5 取 3 的最大值即可 程式列印 Private Sub Command2_Click() Cls Dim a(5) As Integer Dim b(5) As Integer a(0) = 0: a(1) = 4: a(2) = 1: a(3) = 2: a(4) = 3: a(5) = 5 b(0) = 0: b(1) = 4: b(2) = 1: b(3) = 2: b(4) = 3: b(5) = 5 l = UBound(a) Dim r, n, k, index, max As Integer Dim s As String r = 5 n = 3 C5 取 3, 刪去 2 個 k = 1 index = 1 Call combi(a, b, k, index, r, n, s, max) Print s Print Str(max) Public Sub combi(byval a, ByVal b, ByVal k, ByVal index, ByVal r, ByVal n, ByRef s, ByRef max) If index > n Then Dim max1 As Integer For j = 1 To n s = s + Str(b(j)) max1 = 10 * max1 + b(j) s = s + Str(max1) + vbcrlf If max1 > max Then max = max1 Else For i = k To r - (n - index) b(index) = a(i) Call combi(a, b, i + 1, index + 1, r, n, s, max) -23

24 程式設 計 自我練習 1. 請改用題目規定的檔案的方式, 重做本題 三 黑盒子 (12%) ) 有一個黑盒子支援 Insert, Inquire, Clean, End 四種指令 : Insert x: 將 x 放入黑盒子中 Inquire k: 輸出黑盒子當中第 k 大的數字, 若找不到該數, 則不輸出 Clean: 更換另一組測試資料, 清空黑盒子 End: 結束程式 輸入說明 請參考範例輸入, 所有數字都為整數 一組測試資料的指令數不會超過 1000 個 輸出說明 請將每一個合法的 Inquire k 值輸出 輸入範例 Insert 4 Inquire 1 Insert 1 Inquire 2 Insert -3 Insert 3 Insert 7 Insert -99 Inquire 4 Clean Insert 3 Inquire 2 Inquire 1 END -24

25 商科技藝競賽試題解析 chapter 輸出範例 程式列印 Dim bbox(100), bi, index As Integer Private Sub Form_Activate() Dim dir As String dir = App.Path + \in.txt Dim out As String out = App.Path + \out.txt Open dir For Input As #1 Open out For Output As #2 Dim data(100) As String Dim str As String Do While Not EOF(1) Line Input #1, ss data(i) = ss i = i + 1 Loop For i = 0 To UBound(data) - 1 str = data(i) If str = END Then Exit For ex = Split(str, ) Select Case ex(0) Case Insert Call push(val(ex(1))) Case Inquire Call Sort If bbox(ex(1)) <> Then Print bbox(ex(1)) Case Clean Call clear End Select Close Sub push(v) If bi < 100 Then bi = bi + 1 bbox(bi) = v -25

26 程式設 計 Sub pop() If bi > 0 Then bbox(bi) = 0 bi = bi - 1 Sub Sort() For m = 1 To bi For n = 1 To m If bbox(m) > bbox(n) Then t = bbox(m) bbox(m) = bbox(n) bbox(n) = t n m Sub clear() For m = 1 To bi bbox(m) = m bi = 0 自我練習 以上僅將資料寫到表單, 請自行改寫, 並將輸出結果寫到檔案 四 排列最小值 (13%) ) 一串數字內有 n 個正整數 試著利用連接字串的方式去排列這 n 個正整數, 使其值最小 輸入說明 每組輸入包含一串數字, 內有 n 個正整數, 數字與數字間以一個空白隔開 -26

27 商科技藝競賽試題解析 chapter 輸出說明 每組輸出排列後的最小正整數 輸入範例 輸出範例 執行結果 演算說明本題採用排列的暴力法, 將所有排列一一檢驗, 並求其最小值, 排列的演算法請看本書 7-5 節 程式列印 Private Sub Command1_Click() Dim a(10) As String n = 3 k = 1 a(1) = 1 : a(2) = 36 : a(3) = 3647 min = # perm a, k, n, min Print min Private Sub Command2_Click() -27

28 程式設 計 Dim a(10) As String n = 4 k = 1 a(1) = 8 : a(2) = 79 : a(3) = 797 : a(4) = 799 min = # perm a, k, n, min Print min Public Sub perm(byval b, ByVal k, ByVal n, min) If k = n Then s = For j = 1 To n Debug.Print b(j); s = s + b(j) Debug.Print If Val(s) < min Then min = Val(s) Else For i = k To n t = b(i): b(i) = b(k): b(k) = t perm b, k + 1, n, min 五 兩直線間的關係 (14%) 在 2 維平面中兩條直線間的關係共有三種 : 1. 相交於一點 2. 重疊 ( 無限多交點 ) 3. 平行 ( 沒有交點 ) 輸入 4 個點, 分別代表兩條直線 請輸出這兩條直線間的關係 輸入說明每組輸入包含 8 個以空白隔開的數字 x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4, 分別代表 4 個點 (x 1, y 1 ) (x 2, y 2 ) (x 3, y 3 ) (x 4, y 4 ) 其中第一條直線會通過 (x 1, y 1 ) (x 2, y 2 ); 第二條直線會通過 (x 3, y 3 ) (x 4, y 4 ) -28

29 商科技藝競賽試題解析 chapter 輸出說明請輸出這兩條直線的關係, 如果是相交於一點, 請輸出 I; 如果這兩條線是重疊, 請輸出 L; 如果這兩條線是平行, 請輸出 N 輸入範例 輸出範例 N L I 演算說明 1. 將點轉為直線方程式 由已知兩點座標 A(x1,y1),B(x2,y2), 求經過此兩點的直線方程式, 稱為兩點式 其方法如下 : (y-y1)/(x-x1)=(y2-y1)/(x2-x2) 此方法是依照相似三角形等比的觀念推得 令 y2-y1=m,x2-x1=n 上式乘開 : mx-mx1= ny-ny1 重新整理 : mx-ny=mx1-ny1 對照直線標準式 ax+by=c, 得到 a=m,b=-n,c=mx1-ny1 2. 兩個直線方程式的重疊 平行與有一解, 請看本書 4-4 節 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\in.txt" -29

30 程式設 計 Dim out As String out = App.Path + "\out.txt" Open dir For Input As #1 Open out For Output As #2 Dim data(100) As String Dim str As String Do While Not EOF(1) Line Input #1, str data(x) = str x = x + 1 Loop Dim x1, y1, x2, y2 As Integer Dim m, n As Integer Dim a1, b1, c1 As Integer Dim a2, b2, c2 As Integer For i = 0 To x - 1 ex = Split(data(i), ««) 第一條直線 x1 = ex(0): y1 = ex(1): x2 = ex(2): y2 = ex(3) m = y2 - y1 n = x2 - x1 a1 = m b1 = -n c1 = m * x1 - n * y1 ' 第二條直線 x1 = ex(4): y1 = ex(5): x2 = ex(6): y2 = ex(7) m = y2 - y1 n = x2 - x1 a2 = m b2 = -n c2 = m * x1 - n * y1 Dim result As String If (a1 * b2 - a2 * b1) = 0 And (b1 * c2 - b2 * c1) = 0 Then result = L 重疊 Else If (a1 * b2 - a2 * b1) = 0 And (b1 * c2 - b2 * c1) <> 0 Then result = "N" ' 平行 Else result = "I" ' 相交於一點 Print #2, result Close -30

31 商科技藝競賽試題解析 chapter 六 因數 (11%) ) 已知兩個整數 n 和 d, 請你找出 n 這個值, 會有多少個因數可以被 d 整除 輸入說明每組輸入包含兩個以空白隔開的數字 n 及 d, 其 n ( 0 < n < ), 而 d (2 d < 1000) 輸出說明對於每組測試資料, 輸出 n 這個值, 會有多少個因數可以被 d 整除 輸入範例 輸出範例 6 4 演算法則 1. 用迴圈暴力法找出 n 的因數 2. 計算 n 的因數可以整除 d 的個數 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\in.txt" Dim out As String out = App.Path + "\out.txt" Open dir For Input As #1 Open out For Output As #2 Dim str As String Dim tot As Integer -31

32 程式設 計 Dim div As Integer Do While Not EOF(1) Line Input #1, str tot = 0 ex = Split(str, " ") For j = 1 To Val(ex(0)) div = Val(ex(0)) Mod j If div = 0 And (j Mod Val(ex(1))) = 0 Then tot = tot + 1 Print #2, tot Loop Close #1, #2 End 七 正多邊形的面積 (14%) ) 已知圓的半徑 r, 和內接正多邊形的邊數 n, 請計算出正多邊形的面積, 而圓周率設為 3.14 輸入說明每組輸入包含兩個數字 r 及 n,r (0 < r < 10000) 代表圓半徑,n (2 < n < 10000) 代表內接正多邊形的邊數 輸出說明對於每組測試資料, 輸出圓內接正多邊形的面積, 請四捨五入到整數位 輸入範例 輸出範例

33 商科技藝競賽試題解析 chapter 演算說明 1. 內接正三角, 表示可分割成 3 個三角形, 每個三角形面積如下 : s=(r*r*sinθ)/2, θ=360/3 所以其面積是 s=3*(r*r*sinθ)/2, θ=360/3 2. 內接正四邊形, 表示可分割成 4 個三角形, 每個三角形面積如下 : s=(r*r*sinθ)/2, θ=360/4 所以其面積是 s=4*(r*r*sinθ)/2, θ=360/4 3. 度度量轉為徑度量的公式如下 : θ*pi/180 程式列印 Private Sub Form_Activate() Const pi = Dim dir As String dir = App.Path + "\in.txt" Dim out As String out = App.Path + "\out.txt" Open dir For Input As #1 Open out For Output As #2 Dim r, n, a As Double Dim str As String Do While Not EOF(1) Line Input #1, str ex = Split(str, ) r = Val(ex(0)) n = Val(ex(1)) a = (1 / 2) * r ^ 2 * Math.Sin(360 / n * pi / 180) a = Int(a * n + 0.5) 四捨五入 Print #2, a Loop Close -33

34 程式設 計 八 文字繞圈圈 (15%) ) 已知有一個字串, 請找出可以將此字串填入的最小正方形, 而填入的方式是由正方形的左上角開始, 依順時針蚊香方向由外向內填入 輸入說明每組輸入包含一列字串, 字串內的字元皆由英文字母及數字所組成, 字串的長度最長不會超過 1000 個字元 輸出說明對於每組測試資料, 輸出填入最小正方形後的結果, 每組測試資料以一列空白隔開 輸入範例 ABCDE 輸出範例 0123 BCD4 A E 演算說明 本題使用類似老鼠走迷宮的方式, 以順時鐘的方式, 探索每一數字的位置 -34

35 商科技藝競賽試題解析 chapter 程式列印 Private Sub Command1_Click() Dim dir As String dir = App.Path + "\in.txt" Dim out As String out = App.Path + "\out.txt" Open dir For Input As #1 Open out For Output As #2 Dim m(3, 2) As Integer m(0, 0) = 0: m(0, 1) = 1 m(1, 0) = 1: m(1, 1) = 0 m(2, 0) = 0: m(2, 1) = -1 m(3, 0) = -1: m(3, 1) = 0 Dim b(10, 10) As Integer Dim a As String Dim l, c, dire, g1, h1, g2, h2 As Integer Do While Not EOF(1) Input #1, a Debug.Print (a) l = Len(a): Debug.Print (l) 找出正方形的邊長 For j = 1 To 10 If j * j > l Then c = j ' 正方形邊長 Exit For Debug.Print (c) For j = 1 To 10 For k = 1 To 10 b(j, k) = 0 b(1, 1) = 1 g1 = 1: h1 = 1: dire = 0 Dim found As Boolean ' 以順時針的方式, 逐一填入正方形的數字 For j = 2 To l found = False Do g2 = g1 + m(dire, 0) h2 = h1 + m(dire, 1) If g2 >= 1 And h2 >= 1 And g2-35

36 程式設 計 <= c And h2 <= c And b(g2, h2) = 0 Then ' 正式走入這一點 g1 = g2 h1 = h2 b(g1, h1) = j Debug.Print g1, h1, j found = True Else dire = (dire + 1) Mod 4 Loop Until found 輸出對應的位置 For j = 1 To c For k = 1 To c Debug.Print b(j, k); Debug.Print ' 將數字轉為對應字元 Dim bs As String For j = 1 To c bs = "" For k = 1 To c If b(j, k) = 0 Then bs = bs + " " Else bs = bs + Mid(a, b(j, k), 1) Print #2, bs ' 兩列空白 Print #2, Print #2, Loop Close #2 Close #1-36

37 商科技藝競賽試題解析 chapter 年試題解析 一 找出文章中使用的英文單字字數 (14%) ) 現在網際網路盛行, 網路使用者可以利用搜尋引擎找出特定的網路資訊 在搜尋技術中, 關鍵字搜尋是最常見的方法 建立關鍵字有很多種不 同的方法, 其中一種方法是找出使用的單字來當作關鍵字 本題就是要 請你寫一個程式, 可以在一段英文文章中, 找出使用的英文單字字數 輸入說明第 1 行是要建立關鍵字的英文文章篇數, 第 2 行開始為英文文章的內容 每篇文章之間, 以一行空白作為區隔 在建立關鍵字時, 我們簡化一些文法上的規則, 每個英文單字與英文單字之間, 扣除標點符號之後, 以空白作為區別, 稱之為一個單字, 大小寫視為相同 使用到的標點符號則包括下列三個 :,,., 以及 : 輸出說明對輸入的每篇文章, 分別以一行輸出使用的英文字字數 輸入範例 2 He works hard from morning till night. He is a hard worker. I once heard him speaking in English. He is a very good speaker of English. 輸出範例

38 程式設 計 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\test1.txt" Dim out As String out = App.Path + "\result1.txt" Open dir For Input As #1 Open out For Output As #2 Dim data() As String Dim i As Integer Dim str As String Dim count As Integer Input #1, n For i = 1 To n Line Input #1, str str = Replace(str, ",", " ") str = Replace(str, ".", "") str2 = Split(str, " ") All = UBound(str2) + 1 For j = 0 To UBound(str2) For k = j To UBound(str2) If j <> k Then If str2(j) = str2(k) Then All = All - 1 Print #2, All i End 二 求餘數 (13%) ) 求餘數對於會寫程式的人來說, 是個簡單的問題, 例如用 VB 來求餘數時, 可以用 mod 這個關鍵字來實作 但如果算式為 R = BP mod M 的型 態, 給 B P 及 M, 要算出餘數 R, 當 B 或 P 很大時, 那就變得不簡單了 現 在, 請你設計一個程式, 來解決上述這個不簡單的問題 -38

39 商科技藝競賽試題解析 chapter 輸入說明第 1 行的數字, 表示有幾個問題要求解, 第二行開始的每一行為一個獨立的問題 每一行包含三個數字, 分別為 B P 及 M, 例如 : 代表 B=10 P=2009 M=9 所有數字均為正整數, 其範圍屬於 [1, ] 輸出說明對輸入的每個問題分別以一行輸出餘數 R 輸入範例 輸出範例 1 3 演算說明 本題同工科技藝競賽 96 年第五題試題, 請看第 17-4 節 程式列印 Private Sub Mod2(ans, m, n) a = m Do Until (a < n) a = a - n Loop ans = a Private Sub Command2_Click() Dim a, b, c, s As Long Dim D, F As Single a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) -39

40 程式設 計 k = Int(Sqr(c)) + 1 ReDim bb(k) As Integer By = b 轉為 2 進位 For i = 0 To k bb(i) = By Mod 2 By = By \ 2 ' 輸出 2 進位 For i = k To 0 Step -1 Print bb(i); i Print s = 1 For i = k To 0 Step -1 's = (s * s) Mod c ' 先乘再 mod 導致溢位 D = c / s ' 等號兩邊同除以 s Mod2 F, s, D ' 等於 F=s mod D s = F * s ' 再乘回來 If bb(i) = 1 Then 's = (a * s) Mod c ' 溢位 D = c / s ' 等號兩邊同除以 s Mod2 F, a, D ' 等於 F=s mod D s = F * s ' 再乘回來 Print s Label4.Caption = s 三 最大連續元素和 (15%) ) 給一串數列, 有 n 個整數, 請寫一個程式, 找出這個數列中, 連續元素相加的最大值 例如 :1, 2, -3, 4, 5 這一數列, 最大連續元素和是 4+5=9 輸入說明第 1 行的數字, 代表有幾組測試資料, 第 2 行開始的每一行即為一筆測試資料 每一筆測試資料是不定個數的整數數列, 以空格分開數字 數字的範圍為 [-10000, 10000] 間的整數 -40

41 商科技藝競賽試題解析 chapter 輸出說明 對每一筆測試資料, 以一行輸出最大連續數值和 輸入範例 輸出範例 輸出結果 演算法則 1. a= 陣列長度 2. 第一次取連續 6 個數字相加, 第二次取連續 5 個數字相加, 第三次取連續 4 個數字相加 3. 每次運算次數 陣列索引的起點與終點, 如下表 : -41

42 程式設 計 取數字的個數運算次數陣列索引的起點與終點 i (a To 1) j k(j To j+a-1 ) 6 1 1~ ~5 2~ ~4 2~5 3~ ~3 2~4 3~5 4~ ~2 2~3 3~4 4~5 5~ ~1 2~2 3~3 4~4 5~5 6~6 程式列印 Dim c As Variant Private Sub Command1_Click() c = Array(0, 10, -5, 7, 6, -1, -3) Dim a As Integer a = UBound(c) - 1 Dim max As Integer max = -999 Dim sum As Integer sum = 0 Dim s, maxs As String maxs = "" For i = a To 1 Step -1 For j = 1 To a i sum = 0-42

43 商科技藝競賽試題解析 chapter s = "" For k = j To j + i - 1 sum = sum + c(k) s = s & Str(c(k)) If sum > max Then max = sum maxs = s Label1.Caption = Str(max) Label2.Caption = maxs 四 用正方體填滿 (12%) ) 在進入社會找工作時, 通常會經過面試的過程, 來決定是否要錄用這個人 假設今天你去一家程式設計公司面試, 面試的主考官出了一道題目 請你設計一個程式來解決下面的問題 : 給你一個長方體, 請問最少要用幾個大小相同的正方體, 才能把這個長 方體填滿, 你可以使用的正方體大小不限, 長方體及正方體的邊長必須 均為正整數 輸入說明第 1 行的數字, 代表有幾個長方體 第 2 行開始的每一行, 記錄了每個長方體長寬高的邊長, 邊長的範圍為 [1, 1000] 間的整數 輸出說明對輸入的每個長方體, 分別以一行輸出所使用正方體的個數 輸入範例

44 程式設 計 輸出範例 演算說明 1. 三邊長假設是 a,b,c 2. 求輸入邊長的最大公因數, 假設是 d 3. 計算 (a*b*c)/(d*d*d) 即為所求 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\test4.txt" Dim out As String out = App.Path + "\result4.txt" Open dir For Input As #1 Open out For Output As #2 Input #1, n Dim result As Integer For i = 1 To n Line Input #1, ss ex = Split(ss, ) result = lcm(val(ex(0)), Val(ex(1))) result = lcm(result, Val(ex(2))) Print #2, result i End Function gcd(byval m As Integer, ByVal n As Integer) Dim r As Integer Do While (n <> 0) r = m Mod n m = n n = r Loop gcd = m End Function Function lcm(byval m As Integer, ByVal n As Integer) lcm = m * n / gcd(m, n) End Function -44

45 商科技藝競賽試題解析 chapter 五 計算位元為 1 的個數 (10%) ) 計算機概論是一門令人又愛又恨的科目, 它的內容可謂包羅萬象 遇到考試時, 事前需要花很多時間準備, 才能拿到高分 在學習的內容中, 有 個章節是數字系統轉換, 內容是將一個十進位的數字, 轉換成二進位的 數字 現在請你設計一個程式, 計算由十進位數字轉換的二進位數字中, 位元等於 1 的個數 輸入說明第 1 行的數字, 代表有幾個十進位的數字 第 2 行開始的每一行, 為一個十進位數字, 其範圍為 [0, ] 的整數 輸出說明對輸入的十進位數字, 以一行分別輸出轉換成二位進數字中, 位元等於 1 的個數 輸入範例 輸出範例 3 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\test5.txt" Dim out As String -45

46 程式設 計 out = App.Path + "\result5.txt" Open dir For Input As #1 Open out For Output As #2 Input #1, n For x = 1 To n Input #1, d d = Val(d) ans = 0 Do ans = ans + d Mod 2 d = d \ 2 Loop Until d = 0 Print #2, ans x End 六 測謊機 (11%) ) 小明請小華猜出他心理想的一個數字, 這個數字為 [1, 100] 間的整數 猜測的規則為 : 每一回小華猜測一個數字, 小明則回應小華猜得太高 (too high), 太低 (too low), 或是猜中 (righton), 猜中後立即結束遊戲 因為過 程中小明可能會說謊, 你必須寫一個程式, 在每次結束之後, 驗證小明他 的回應是否都正確 輸入說明輸入中含有多次遊戲的記錄 在每一次遊戲中會包含許多次的猜測及回應的過程 每一次遊戲的最後都必須猜中才能結束 在最後一組遊戲後, 由僅含有 0 的一列代表輸入結束 輸出說明針對每一次的遊戲, 程式以一行輸出小明是否有說謊 如果這次遊戲有說謊則輸出 0; 沒有說謊則輸出 1-46

47 商科技藝競賽試題解析 chapter 輸入範例 5 too high 3 too high 1 too low 2 right on 33 too low 34 too high 32 right on 0 輸出範例 1 0 演算說明此題使用二分逼近法, 每次範圍均依照使用者的答案而縮小, 當小明回答 right on 時, 只要檢查答案是否在範圍內, 即可判斷是否說謊 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\test6.txt" Dim out As String out = App.Path + "\result6.txt" Open dir For Input As #1 Open out For Output As #2 Dim max, min, n As Integer Dim m As String Do Input #1, n If n = 0 Then Exit Do -47

48 程式設 計 Line Input #1, m If m <> right on Then If m = too high Then max = n If m = too low Then min = n Else If n > min And n < max Then Print #2, 1 Else Print #2, 0 Loop End 七 圍成正方形 (17%) ) 這是個有趣的題目, 給你已知長度的 n 根棍子, 請你試著寫一個程式, 把這 n 根棍子連成一個正方形 連接的限制條件如下 : 1. 棍子只可以用端點來連接 2. 不能折斷它 3. 每一根棍子都必須使用到 輸入說明第 1 行的數字, 代表有幾個問題要求解 第 2 行開始的每一行, 為一個獨立的問題 每一行的第一個整數為棍子數目 n, 其範圍為 [4, 20] 的整數 接下來的 n 個整數, 分別代表這 n 根棍子的長度 每根棍子的長度範圍為 [1, 100] 間的整數 輸出說明對每一個問題以一行輸出, 如果所給定的棍子可以連成一個正方形, 則輸出 1 否則輸出 0-48

49 商科技藝競賽試題解析 chapter 輸入範例 輸出範例 0 1 演算說明本例採用刪除法 因為所有的棍子要能圍成正方形, 一定要完全滿足以下條件, 只要一個不滿足, 即可刪除 1. 總長度要 4 的倍數, 並計算邊長 2. 若有一根棒子的長度大於正方形邊長, 此即不可能組成正方形 3. 將所有棍子由大而小排序, 要能找到四組棍子, 且這四組的長度和都等於邊長的棍子 程式列印 Private Sub Command1_Click() Dim dir As String dir = App.Path + "\test72.txt" Dim out As String out = App.Path + "\result7.txt" Open dir For Input As #1 Open out For Output As #2 Input #1, n Print n For x = 1 To n ' 組數 Line Input #1, ss ex = Split(ss, " ") l = 0 Print UBound(ex) For j = 1 To UBound(ex) l = l + Val(ex(j)) -49

50 程式設 計 j ' 總長度要 4 的倍數 If l Mod 4 <> 0 Then Print #2, 0 GoTo aa: Avg = l / 4 ' 任一邊的長度, 大於邊長 For j = 1 To UBound(ex) - 1 If Val(ex(j)) > Avg Then Print #2, 0 GoTo aa: j Dim sum(4) As Integer 由大到小排序 For j = 1 To UBound(ex) - 1 For k = 1 To UBound(ex) - j If ex(k) < ex(k + 1) Then t = ex(k): ex(k) = ex(k + 1): ex(k + 1) = t For j = 1 To 4 sum(j) = ex(j) t = 0 找出 4 組等長的邊 For j = 1 To 4 If sum(j) = Avg Then ' 單一根就構成正方形的一邊 t = t + 1 Else ' 開始拼湊 If sum(j) < Avg Then For k = UBound(ex) To 5 Step -1 If sum(j) + Val(ex(k)) <= Avg And ex(k) <> "" Then sum(j) = sum(j) + Val(ex(k)) ex(k) = If sum(j) = Avg Then 拼湊完成 t = t + 1 Exit For -50

51 商科技藝競賽試題解析 chapter If t = 4 Then ' 有 4 組等長 Print #2, 1 Else Print #2, 0 aa: Close #2 Close #1 八 計算平均值 (8%) ) 給你一組數字, 請寫一個程式計算出這組數字的平均值, 四捨五入至小數第 2 位 輸入說明第 1 行的數字, 代表有幾個問題要求解 第 2 行開始的每一行, 為一個獨立的問題 每一行的第一個整數為這個問題所屬數字的數目 n, 其範圍為 [2, 100] 間的整數 接下來的 n 個整數, 分別代表這 n 個數字的數值, 數值範圍為 [1, 100] 間的整數 輸出說明對輸入的每個問題, 分別以一行輸出平均數, 輸出的格式請四捨五入至小數第二位 輸入範例 輸出範例

52 程式設 計 程式列印 Private Sub Form_Activate() Dim dir As String dir = App.Path + "\test8.txt" Dim out As String out = App.Path + "\result8.txt" Open dir For Input As #1 Open out For Output As #2 Dim sum As Integer Dim aa(100), k As Integer Dim outstr As String Input #1, n For x = 1 To n ' 組數 Line Input #1, ss sum = 0 ex = Split(ss, " ") For j = 1 To UBound(ex) aa(j + 1) = ex(j) sum = sum + aa(j + 1) j k = ex(0) 每組的個數 outstr = Format(sum / k, "##0.00") Print #2, outstr x End 年試題解析 99 年的題目真的很有難度, 相信命題單位也花費不少時間, 這些題目非常適合學生用心咀嚼, 才能體會程式解題的樂趣 其實筆者也要花一些時間, 有些題目也不是一下子就想出來, 而是反覆推敲 琢磨, 有時候走路 等人或睡覺都會反覆思考, 但是一旦突發奇想, 從天而降一個念頭而解決問題時, 其樂趣當然是旁人無法體會 所以在這邊還是要呼籲讀者不要急著偷瞄我的解答, 這樣不但無法體會程式設計的樂趣, 您的思緒也會被我綁死 䦛一 文章的用字統計 本試題輸入檔為一篇中文文章, 文章內容可能包括 中文 及若干 全型符號 文章中可能使用的 全型符號 包括, ;! -52

53 商科技藝競賽試題解析 chapter 及? 6 種 在中文中有若干文字, 如 臺 與 台, 在某些時候意義相同, 但在本題中, 只要是字碼不同, 選手都應視為 不同字 處理 請由程式讀 入給定的中文文章, 並做以下的統計 : 子題 1.(8%) ) 請統計文章中使用的 中文字 及其 出現次數 文章中除了 中文字, 其餘符號均不列入統計 請選手輸出 出現次數最多 的中文字及 其出現次數 若有多個中文字之統計次數均為 最多 時, 請將其全部輸 出, 其輸出之前後順序不限制 輸入說明第 1 行表示文章的行數, 第 2 行開始為文章的內容 文章不超過 20 行, 每行不超過 50 個中文字 ( 含符號 ), 而文章總字數不超過 1000 字 輸出說明若統計結果只有 1 個 最多出現次數者, 則以 1 行輸出最多出現次數的 中文字 及其 出現次數 但若有 多個 最多出現次數者, 則以多行輸出 每一行資料輸出 1 個 中文字 及其 出現次數, 輸出資料間以至少 1 個空白隔開 輸入檔案 輸入檔案 1: 檔名 :in1.txt 8 為達成永續發展的目標, 行政院規劃六年國家重點發展計畫, 由教育部規劃的永續校園推廣計畫, 為建立一個進步 安全 衛生 健康 人性化的學習環境空間為主, 並於擴大內需刺激景氣的期程內, 加速推行校園公共工程改造計畫, 藉由突破傳統校園封閉的環境與制式管理原則下, 整合社區共同意識 建立社區風貌 拓展生態旅遊等課題, 改造校園環境成為具有社區特質的公共活動空間, 結合校園綠色技術實施應用, 轉化國內相關產業技術, 進而增進綠色產業推廣效益, 落實擴大內需進而促進產業升級與提振國內景氣之功效, 從而發揮永續台灣 環境教育之積極意義與促成教育改革之目的 -53

54 程式設 計 輸入檔案 2: 檔名 :in2.txt 8 台灣地區資源短缺, 興建大型水庫使用現階段推行不易, 替代水源的之開發與再利用已成為未來資源開發的之重要途徑, 推動節約用水, 推廣再利用的中水系統, 使全國平均之人均用水量逐步降至每日使用二百五十公升以下 落實國家水資源永續經營之理念, 水利署推動雨水利用及生活雜排水回收再使用增加替代水源使用, 並委託台灣雨水利用協會針對學界及各級學校相關人員, 依各縣市所在之地理位置劃分北中南三區各辦理一場次雨水貯集使用及生活雜排水再利用講習演討會議, 將邀請國內相關領域有豐碩成果與使用經驗之專家學者擔任主講員, 對國內教育單位相關人員, 以水資源永續利用 雨水貯集利用 生活雜排水再使用及節約用水等議題進行講習與研討 輸出檔案 輸出檔案 : 檔名 :out.txt 的 7 水 17 用 17 演算說明方法一 : 1. 假設資料 a= abbcde 2. 將字串 a 的 全型符號 包括, ;! 及? 等 6 種去掉 3. 將字串 a 轉為字元 b() 陣列 4. 以雙迴圈逐一統計每一字元出現的次數, 如下表 Index b() A b b c d a C() 找出 c() 最大值 6. 第一名不只一個, 所以將重複字元刪除 本例將 b() 陣列逐一放入 d() 陣 列, 但先檢查是否該字元已經存在, 若不存在, 則將此字元放入 d() -54

55 商科技藝競賽試題解析 chapter 執行結果 程式列印 Private Sub Command1_Click() Dim b(10000) As String Dim c(10000) As Integer Dim d(10) As String Dim found As Boolean Open App.Path + "\in2.txt" For Input As #1 Input #1, n Print n s = For i = 1 To n Line Input #1, a s = s + a Print a Print s 符號既然不列入考慮, 所以刪除 s = Replace(s,,, ) s = Replace(s,, ) s = Replace(s, ;, ) s = Replace(s,, ) s = Replace(s,!, ) s = Replace(s,?, ) 'Print Len(s) For i = 1 To Len(s) b(i) = Mid(s, i, 1) For i = 1 To Len(s) For j = 1 To Len(s) If b(i) = b(j) Then c(i) = c(i)

56 程式設 計 For i = 1 To Len(s) If c(i) > Max Then Max = c(i) maxs = b(i) 第一名不只一個, 所以將重複字元刪除 本例將 b() 陣列逐一放入 d() 陣列, 但先檢查是否該字元已經存在, 若不存在, 則將此字元放入 d() d(1) = maxs: m = 1 For i = 1 To Len(s) If c(i) = Max Then found = False For j = 1 To m If b(i) = d(j) Then found = True If Not found Then m = m + 1 d(m) = b(i) For i = 1 To m Print d(i); Max Close (1) 方法二 : 1. 有些字元重複, 所以將重複字元刪除 本例將 b() 陣列逐一放入 b1() 陣列, 但先檢查是否該字元已經存在, 若已經存在, 則其字元次數加一, 若不存 在, 則將此字元放入 b1() b1(1) = b(1): c(1) = 1 n = 1 For i = 2 To Len(s) bb = b(i) For j = 1 To n found = False If bb = b1(j) Then -56

57 商科技藝競賽試題解析 chapter found = True Exit For If found Then c(j) = c(j) + 1 Else n = n + 1 b1(n) = bb c(n) = 1 找出極大值 Max = 0 For i = 1 To n If c(i) > Max Then Max = c(i) 輸出極大值的字元與次數 For i = 1 To n If c(i) = Max Then Print b1(i); ":"; c(i) Close (1) 子題 2.(8%) ) 請選手在讀入的文章中, 統計 出現次數最多 且 包含 2 個中文字 的 詞 在文章中, 假設所有 兩兩相鄰的中文字 均可視為一個 詞 本題所要統計的 詞, 只包括 2 個中文字, 其中不包含任何 全型符號 ; 我們也假設, 一個 詞 不一定只出現在同一行中, 也可 能被切斷分隔在文章的前 後 2 行 例如, 有一篇文章內容為 : 我們是學生 今天要上學 在此文章中, 所有包括 2 個字的 詞 有 : 我們 們是 是 學 學生 生 今 今天 天要 要上 上學 及 學 共 11 組 雖然有些 詞 並不具明顯意義, 如 : 們 是 是學 天要 及 要上, 但本題仍將其視為一種 詞, 並加入統計 但是 生 今 及 學 等 3 者, 因為其中包括 全型符號, 則不算是 詞, 不列入統計 請選手統計並輸出出現次 數最多 只包括 2 個中文字的 詞 -57

58 程式設 計 輸入說明第 1 行表示文章的行數, 第 2 行開始為文章的內容 文章不超過 20 行, 每行不超過 50 個中文字 ( 含符號 ), 而文章總字數不超過 1000 字 輸出說明若統計結果只有 1 個 最多出現次數者, 則以 1 行輸出 出現次數最多的 詞 及其 出現次數 但若有 多個 最多出現次數者, 則以多行輸出 每一行輸出 1 個 詞 及其 出現次數, 輸出資料間以至少 1 個空白隔開 輸入檔案 輸入檔案 1: 檔名 :in1.txt 8 為達成永續發展的目標, 行政院規劃六年國家重點發展計畫, 由教育部規劃的永續校園推廣計畫, 為建立一個進步 安全 衛生 健康 人性化的學習環境空間為主, 並於擴大內需刺激景氣的期程內, 加速推行校園公共工程改造計畫, 藉由突破傳統校園封閉的環境與制式管理原則下, 整合社區共同意識 建立社區風貌 拓展生態旅遊等課題, 改造校園環境成為具有社區特質的公共活動空間, 結合校園綠色技術實施應用, 轉化國內相關產業技術, 進而增進綠色產業推廣效益, 落實擴大內需進而促進產業升級與提振國內景氣之功效, 從而發揮永續台灣 環境教育之積極意義與促成教育改革之目的 輸入檔案 2: 檔名 :in2.txt 8 台灣地區資源短缺, 興建大型水庫使用現階段推行不易, 替代水源的之開發與再利用已成為未來資源開發的之重要途徑, 推動節約用水, 推廣再利用的中水系統, 使全國平均之人均用水量逐步降至每日使用二百五十公升以下 落實國家水資源永續經營之理念, 水利署推動雨水利用及生活雜排水回收再使用增加替代水源使用, 並委託台灣雨水利用協會針對學界及各級學校相關人員, 依各縣市所在之地理位置劃分北中南三區各辦理一場次雨水貯集使用及生活雜排水再利用講習演討會議, 將邀請國內相關領域有豐碩成果與使用經驗之專家學者擔任主講員, 對國內教育單位相關人員, 以水資源永續利用 雨水貯集利用 生活雜排水再使用及節約用水等議題進行講習與研討 輸出檔案 輸出檔案 : 檔名 :out.txt 校園 5 利用 7 使用 7-58

59 商科技藝競賽試題解析 chapter 演算說明 本題請自行發揮 䦛二 資料表示方式的應用 子題 1.(11%) ) 在圖形結構中, 有一種特別的圖形, 稱之為 樹狀圖 在一個樹狀圖中, 包含若干個 節點, 每個節點和它的 上一層節點 及 下一層 節點 各有一個 邊 相連 每個節點有 1 個 或是 沒有 上一層節 點, 同時也可能有 1 個 多個 或是 沒有 下一層節點 這些節 點中, 只有 1 個節點沒有上一層節點, 所以它是最頂層的節點, 我們稱之 為 樹根 其他 非樹根 的節點, 都有 1 個上一層節點, 我們稱這些 上一層節點 是該節點的 父親, 而自己則稱為 父親 節點的 兒 子 在樹狀圖中, 有若干節點沒有任何 兒子 節點, 我們稱之為 樹 葉 現在給定一個樹狀圖資料, 請選手輸出所有 樹葉 節點, 並輸出 從 樹根 到該樹葉, 最少要經過幾個 邊 舉例, 由圖 2-1 這個樹狀 圖來說, 節點 a 是樹根 另外, 節點 d 節點 e 和 節點 g 三 者是樹葉, 因為它們都沒有 兒子 節點 從樹根到 節點 d 至少要經 過 2 個 邊 ; 到 節點 e 至少要經過 2 個 邊 ; 到 節點 g 至少要經 過 3 個 邊 輸入說明第 1 行表示樹狀圖共有多少個節點 ( 節點總數不超過 100 個 ), 第 2 行起每行包括 1 個節點資料 每行的節點資料包括 2 個符號, 以逗號隔開 : 第 1 個符號為 節點名稱, 第 2 個符號為其 父親名稱 若是 樹根 節點, 其父親表示為 個連續減號 輸出說明輸出所有 樹葉 節點, 並輸出從 樹根 到該 樹葉 至少需經過的 邊 的個數 每行輸出 1 組 樹葉 及 至少經過的 邊 的個數 資料, 其間以空白隔開, 各 樹葉 節點輸出之順序不限 -59

60 程式設 計 a b c d e f g 圖 2-1 一個樹狀圖 輸入檔案 輸入檔案 1: 檔名 :in1.txt 11 A, --- B, A C, A D, B E, B F, C G, E H, G I, G J, I K, I 輸入檔案 2: 檔名 :in2.txt 12 A, --- B, A C, A D, A E, B F, B G, C H, C I, D J, D K, E L, E -60

61 商科技藝競賽試題解析 chapter 輸出檔案 輸出檔案 : 檔名 :out.txt D 2 H 4 J 5 K 5 F 2 K 3 L 3 F 2 G 2 H 2 I 2 J 2 演算說明 1. 以二維 a(,) 儲存所有樹葉 樹根 2. 逐一判斷每一樹葉是否也為別人的樹根, 若也為別人的樹根, 則此點不是純樹葉 若僅為純樹葉, 則逐一向上探索其樹根, 直到其樹根為 A 為止 程式列印 Private Sub Command1_Click() Dim a(20, 2) As String Open App.Path + "\in2.txt" For Input As #1 Input #1, n ' 節點個數 For i = 1 To n For j = 1 To 2 Input #1, a(i, j) For i = 1 To n For j = 1 To 2 Print a(i, j); Print For i = 2 To n b = a(i, 1) -61

62 程式設 計 判斷此節點是否為父節點 found = False For j = 2 To n If b = a(j, 2) Then found = True Exit For If Not found Then ' 樹葉節點 Print b; num = 1 c = a(i, 2) ' 父節點 For j = i - 1 To 1 Step -1 c1 = a(j, 1) If c1 = "A" Then ' sucess Print num Exit For Else If c1 = c Then ' 找到父節點 c = a(j, 2) ' 向上攀升 num = num + 1 Close (1) 子題 2.(11%) ) 在一張地圖上標示有 8 個城市, 分別稱為 城市 1 到 城市 8 假設地圖上存在若干單行道, 這些單行道直接連接 1 個起點城市及 1 個終點城 市 我們以 二維陣列 表示地圖上的城市及單行道的關係 : 我們設定一 個二維陣列, 假設陣列名稱為 a, 而 a(i,j) 表示陣列中的元素, 其中 i 和 j 的值 介於 1 和 8 之間 當 a(i,j)=1 時, 表示存在一條直接從 城市 i 到 城市 j 的單行道 ; 若 a(i,j)=0, 表示不存在此單行道 問題 : 在一個給定的陣列 資料中, 判斷是否存在 正好經過 3 條單行道 的道路, 該道路從特定的 起點城市 開始, 並且在特定的 終點城市 結束 註 1 同一條單行道可以在求解的 3 條單行道 中重複使用 註 2 若選手找出的道路只使用 1 條或 2 條單行道, 都 不能算 存在此 道路 在本題中, 必須是 正好使用 3 條單行道 才能算是存在此道路 註 3 為了說明方便, 題目中假設陣列名稱為 a, 但選手撰寫程式時不限 定陣列之命名 -62

63 商科技藝競賽試題解析 chapter 輸入說明第 1~8 行表示城市陣列的元素, 每一行分為 8 個元素, 以 逗號 區隔 第 i 行的第 j 個元素, 表示 a(i,j) 的值 例如 : 第 1 行的第 1 個元素, 表示 a(1,1) 的值 ; 第 1 行的第 2 個元素, 表示 a(1,2) 的值 ; 第 2 行的第 1 個元素, 表示 a(2,1) 的值, 其餘類推 第 行, 每行分別有 2 個元素, 也是以 逗號 區隔, 表示選手需要檢查的 1 組 起點城市 及 終點城市 編號 ( 其值均介於 1 和 8 之間 ) 每個檔案檢查 4 組資料 輸出說明共輸出 4 行結果, 依序表示輸入檔的 4 組起訖城市, 是否存在 正好經過 3 條單行道 的道路? 有則輸出 有路徑, 沒有則輸出 沒路徑 輸入檔案 輸入檔案 1: 檔名 :in1.txt 0, 1, 1, 0, 1, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 1, 1, 0 0, 1, 0, 0, 0, 1, 0, 1 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 1, 0, 0, 0 0, 1, 0, 1, 0, 0, 0, 0 0, 0, 1, 1, 0, 0, 0, 0 1, 5 2, 3 3, 8 4, 1 輸入檔案 2: 檔名 :in2.txt 0, 0, 1, 0, 1, 0, 1, 0 0, 0, 0, 0, 1, 1, 0, 0 0, 0, 0, 0, 0, 1, 0, 1 0, 0, 0, 0, 0, 0, 1, 0 0, 0, 0, 1, 0, 1, 0, 0 0, 0, 0, 0, 0, 0, 1, 0 0, 0, 0, 0, 0, 0, 0, 1 1, 1, 0, 0, 0, 0,0, 0 1, 7 2, 5 3, 6 4, 7-63

64 程式設 計 輸出檔案 輸出檔案 : 檔名 :out.txt 有路徑沒路徑有路徑沒路徑 有路徑沒路徑有路徑沒路徑 演算說明本題採用老鼠走迷宮的演算法, 逐一探索 8 個位置,1 代表有路徑, 即走進去, 並將目前位置與方向放入堆疊, 並繼續往前探索, 若往前沒路, 往後退一步 ( 即自堆疊取出 ) 程式列印 Dim t As Integer Dim s(1000, 3) As Integer Private Sub Form_Load() t = 0 Public Sub push(c, k, j) t = t + 1 s(t, 1) = c s(t, 2) = k s(t, 3) = j Debug.Print t, c, j, k Public Sub pop(c, k, j) c = s(t, 1) k = s(t, 2) j = s(t, 3) t = t - 1 Private Sub Command1_Click() -64

65 商科技藝競賽試題解析 chapter Dim a(8, 8) As Integer Dim b(8, 2) As Integer Open App.Path + \in1.txt For Input As #1 For i = 1 To 8 For j = 1 To 8 Input #1, a(i, j) For i = 1 To 8 For j = 1 To 8 Print a(i, j); Print c = 1: d = 5 起點, 終點 c = 2: d = 3 起點, 終點 c = 3: d = 8 起點, 終點 c = 4: d = 1 起點, 終點 j = 1 k = 1 Do Do While j <= 8 And k <= 3 c1 = a(c, j) If c1 = 1 Then If j = d And k = 3 Then 'success Print 有路徑 GoTo KK push c, k, j + 1 將目前的點, 放入堆疊 k = k + 1 路徑數量 c = j 踩進新的點 j = 1 從方向 1 開始 Else j = j + 1 嘗試下一方向 Loop 8 個點都已經嘗試完畢 pop c, k, j 退回上一點 Loop While t >= 0 And k <= 3 Print 沒路徑 KK: -65

66 程式設 計 䦛三 字串特徵的判斷 此問題為給定某些文句, 請選手判斷這些文句是否符合某些檢查條件? 子題 1.(12%) ) 本子題給定的文句內容只有 英文 數字 空白及標點符號, 並且 沒有 任何全型字 文句中使用的 標點符號 只包括, 及. 2 種 我 們定義一個 表示式, 是一個包含若干個 表示符號 的字串 而本 題的 表示符號 只包括 # * 和 $ 3 種 其中,1 個 # 表示 1 個 0~9 的數字 另,1 個 * 表示 1 個大寫的英文字母, 而 1 個 $ 表示 1 個小寫的英文字母 請選手在檢查文句中, 找尋是否存在符合某個 給定 表示式 的子字串 例如 : 有個 表示式 為 ###**$, 表示為 連續 3 個數字, 緊接著連續 2 個大寫英文字, 其後緊接著 1 個小寫英文 字 輸入說明第 1 行表示欲檢查的 表示式, 其長度不超過 20 個字 第 2~5 行表示待檢查的 4 句英文文句, 每行文句均獨立檢查, 每句文句不超過 100 個字 輸出說明產生 4 行輸出, 依序表示輸入檔第 2~5 行英文文句的檢查結果 若檢查的文句中存在符合 表示式 的子字串, 請輸出 符合 ; 否則輸出 不符合 輸入檔案 輸入檔案 1: 檔名 :in1.txt #***$$ Its password is axyz3kbgna. MA is a code of a machine gun. Your employee number is 5AAAbb. The serial number AQ773276UKD was printed in this case. -66

67 商科技藝競賽試題解析 chapter 輸入檔案 2: 檔名 :in2.txt *#$# Its password is M5k3. This serial number is 63M43Kk. Her employee number is 8J3m75. Those item numbers are AQ43 and KM4M. 輸出檔案 輸出檔案 : 檔名 :out.txt 符合不符合符合不符合符合不符合符合不符合 程式列印 Private Sub Command1_Click() Dim found As Boolean Dim b(4) As String Open App.Path + "\in1.txt" For Input As #1 Input #1, a Print a For i = 1 To 4 Line Input #1, b(i) Print b(i) alen = Len(a) For i = 1 To 4 四句 blen = Len(b(i)) found = False For k = 1 To blen - alen + 1 c = Mid(b(i), k, alen) ' 逐一取出與關鍵字同長度片段 If match(c, a) Then ' 只要一個片段符合, 整句就符合 Print 符合 found = True Exit For -67

68 程式設 計 If Not found Then Print 不符合 Public Function match(c, a) Dim found, f1 As Boolean found = True alen = Len(a) For i = 1 To alen a1 = Mid(a, i, 1) c1 = Mid(c, i, 1) Select Case a1 Case # found = isnum(c1) Case * found = isbc(c1) Case $ found = issc(c1) End Select If Not found Then 只要找到一個字元不符, 整個片段就是不符 match = False Exit Function i match = True End Function Public Function isnum(a) If Asc(a) >= 48 And Asc(a) <= 57 Then isnum = True Else isnum = False End Function Public Function isbc(a) If Asc(a) >= 65 And Asc(a) <= 90 Then isbc = True Else isbc = False End Function Public Function issc(a) If Asc(a) >= 97 And Asc(a) <= 122 Then issc = True Else issc = False End Function -68

69 商科技藝競賽試題解析 chapter 子題 2.(12%) ) 請選手判斷輸入檔中的 4 行文句, 是否存在符合條件的 日期字串 在文句中, 只可能包括 中文 及 半型數字, 並且不包含任何空白及標 點符號 待檢查的 日期字串 格式為 民國 yyy 年 mm 月 dd 日, 其中 民國 年 月 及 日 的順序不可改變 屬於年的 yyy 部分, 合法值是 1~999, 可存在 前置 0, 但其長度僅能是 1 2 或 3 位數 例如民國 9 年, 可表現為 民國 9 年 民國 09 年 或 民國 009 年 關於月份部分, 合法值是 1~12, 同樣接受 前置 0, 其 長度僅能是 1 或 2 位數 日期部分的範圍是 1~31, 亦接受 前置 0, 其長度僅能是 1 或 2 位數 選手應另注意, 符合條件的日期值不應超過該 年當月份的最大天數, 例如某年某月份有 30 天, 則符合條件的日期值為 1~30 註 1 西元年 = 民國年 註 2 在本題限制的年份中, 若其西元年 可被 400 整除 或是 可被 4 整除而且不被 100 整除, 則當年是閏年, 其 2 月有 29 天, 否則為 28 天 輸入說明輸入檔中的第 1~4 行, 表示待檢查的 4 句文句, 每行文句均獨立檢查, 每句文句不超過 100 個字 輸出說明依序 4 行輸出, 分別對應輸入檔第 1~4 行文句之檢查結果 若文句中存在符合條件的 日期字串 請輸出 符合 ; 若不存在時, 請輸出 不符合 輸入檔案 輸入檔案 1: 檔名 :in1.txt 他的生日是民國 89 年 2 月 29 日她的生日是民國 90 月 2 年 29 日民國 90 年 3 月 25 日是他的到職日民國 90 年 25 日 3 月是她的到職日輸入檔案 2: 檔名 :in2.txt 他的生日是民國 89 年 12 月 32 日 -69

70 程式設 計 她的生日是民國 89 年 12 月 31 日民國 090 年 03 月 02 日是他的到職日民國 1000 年 12 月 31 日是她的到職日 輸出檔案 輸出檔案 : 檔名 :out.txt 符合不符合符合不符合不符合符合符合不符合 演算說明 1. 本題判斷閏年程式如下 : '400,800,4,8, 等是閏年 100,200,300 是平年 y = Val(Text1.Text) Dim a(12) As Integer 定義每一個月的日期總數 a(1) = 31: a(2) = 28: a(3) = 31: a(4) = 30: a(5) = 31: a(6) = 30 a(7) = 31: a(8) = 31: a(9) = 30: a(10) = 31: a(11) = 30: a(12) = 31 If y Mod 400 = 0 Or ((y Mod 4 = 0) And (y Mod 100)) <> 0 Then a(2) = 29 Print a(2) 2. 搜尋關鍵字 民國 月 日, 之間的數字即為年 月 日, 並 檢查是否符合 -70

71 商科技藝競賽試題解析 chapter 䦛四 排列組合的應用 子題 1.(9%) ) 某個菜攤最多有 8 種類型的商品出售 當類型齊全時, 該 8 種商品依序包括 肉 菜 蛋 果 魚 蝦 豆 及 菇 假設當菜攤進了 n 種類型商品, 即表示菜攤進了 8 種商品中的前 n 種類型 商品 ( 例如 : 菜攤進了 3 種類型商品, 表示進了 肉 菜 及 蛋 等 3 種商品 ) 今將此 n 類商品由左至右分類排列, 但是 : 肉果 肉豆 肉菇 菜蛋 菜魚 菜豆 菜菇 蛋 果 蛋蝦 蛋菇 果魚 果豆 果菇 魚 蝦 魚豆 魚菇 蝦豆 豆菇 此 18 種商品組合, 兩兩 不可左右緊鄰放置 ( 其間沒有擺設其他商品 ) 以第 1 組 肉果 為例, 肉 不可放在 果 的 正左邊 或 正右邊, 而兩者之間沒有其他 任何商品 在給定 n 的條件下, 請輸出共有哪些商品排列方式 輸入說明第 1 行的數字表示商品進貨種類 n, 而 n 的值介於 1 和 8 之間 輸出說明從第 1 行起每行輸出 1 組符合條件的 商品排列, 每行輸出的 商品排列 間不限制是否有空白相隔, 各種排列方式的輸出順序不限 最後 1 行輸出總共有多少種排列方式 ( 只輸出數字即可 ) 輸入檔案 輸入檔案 1: 檔名 :in1.txt 3 輸入檔案 2: 檔名 :in2.txt 4-71

72 程式設 計 輸出檔案 輸出檔案 : 檔名 :out.txt 菜肉蛋蛋肉菜 2 蛋肉菜果果菜肉蛋 2 演算說明 1. 將不能左右放置的商品以陣列儲存 例如, a(1)=" 肉果 ":a(2)=" 肉豆 ":a(3)=" 肉菇 ":a(4)=" 菜蛋 ":a(5)=" 菜魚 " a(6)=" 菜豆 ":a(7)=" 菜菇 ":a(8)=" 蛋果 ":a(9)=" 蛋蝦 ":a(10)=" 蛋菇 " a(11)=" 果魚 ":a(12)=" 果豆 ":a(13)=" 果菇 ":a(14)=" 魚蝦 ": a(15)=" 魚豆 ":a()=" 魚菇 ":a(17)=" 蝦豆 ":a(18)=" 豆菇 " 2. 三項商品的排列共有 8 種, 四項商品的排列共有 種, 將這些商品一一列 出 3. 將所有排列與 a 陣列比對, 將有 a 陣列部分集合者刪除 例如 :" 肉菜蛋 " 就 不行, 因為含有 " 菜蛋 " 4. 排列問題, 商科每年必考, 請參考本書第 8 章或 98 年解析 ( 見書附光碟第 章 pdf 檔 ) 子題 2.(9%) ) 有一天菜攤上有 8 種類型商品, 包括 肉 菜 蛋 果 魚 蝦 豆 及 菇, 每種產品單項價格由輸入檔輸入 某個前來購買的客人, 共有 k 元預算, 表示客人的總購買金額不可超過 k 元 若客人對於每種類型商品只可選擇買一項或不買, 在預算之內, 客 人共有哪些購買組合? -72

73 商科技藝競賽試題解析 chapter 輸入說明第 1 行是客人之預算金額 k, 其值為整數, 並且不超過 5000 元 第 2~9 行有各商品的品名及單價, 中間以逗號隔開 商品單價均為整數, 且不超過 200 元 輸出說明每行輸出一種符合預算的購買組合及其支出總金額, 但不輸出 都不買 的組合 輸出資料 ( 購買的商品組合及其支出總金額 ) 間, 以至少 1 個空白隔開 若購買組合包括多種商品, 則商品間不限制是否有空白相隔 選手請依支出總金額由大到小依序輸出, 但支出金額相同之資料, 其輸出順序不限 輸入檔案 輸入檔案 1: 檔名 :in1.txt 90 肉, 65 菜, 45 蛋, 30 果, 75 魚, 80 蝦, 95 豆, 55 菇, 60 輸入檔案 2: 檔名 :in2.txt 100 肉, 65 菜, 45 蛋, 30 果, 75 魚, 80 蝦, 95 豆, 55 菇, 60-73

74 程式設 計 輸出檔案 輸出檔案 : 檔名 :out.txt 蛋菇 90 蛋豆 85 魚 80 果 75 菜蛋 75 肉 65 菇 60 豆 55 菜 45 蛋 30 菜豆 100 蝦 95 肉蛋 95 蛋菇 90 蛋豆 85 魚 80 菜蛋 75 果 75 肉 65 菇 60 豆 55 菜 45 蛋 30 演算說明 1. 將八種商品列表如下, 每種商品僅能買或不買, 剛好可以使用 2 進位表示, 所以共有 64 種情況, 但題目規定不可以全不買, 所以還要扣掉編號 0 2. 將編號轉為 2 進位字串, 字串位元對照如下表 : 編號 菇,60(7) 豆,55(6) 蝦,95(5) 魚,80(4) 果,75(3) 蛋,30(2) 菜,45(1) 肉 65(0) 小計 將以上每一情況, 皆計算其小計 4. 當輸出小計符合規定者, 即為其解 -74

75 商科技藝競賽試題解析 chapter 䦛五 特定排序方式的應用 子題 1.(10%) ) 若現在有 8 張撲克牌, 點數分別是 1 點至 8 點, 各張牌的點數都不同, 並且 8 張牌已依點數由小到大排列 選手若要改變排列順序, 只能用 插 牌 動作 假設一個 插牌 的動作, 可以將順序中的第 1 張牌 ( 首牌 ) 插入其他牌的後面, 形成 1 個新的牌組順序 我們現在用 1 個長度為 8 的 字串, 表示 1 個牌組順序 例如以字串 , 表示這 8 張牌現在 依其點數由小到大排列 如果我們進行第 1 次 插牌 動作, 假設將 牌 1 ( 首牌 ) 放到 牌 5 之後, 就形成新的牌組順序 如 果要進行第 2 次的 插牌, 就將 牌 2 ( 首牌 ) 插入其他牌之後, 即可 形成下一個牌組順序 現在給一個 目的地牌組順序, 請從牌組順序 開始, 用最多 7 次的 插牌 動作, 最後轉換成 目的地牌 組順序 輸入說明第 1 行為給定的 目的地牌組順序 字串 ( 長度為 8) 輸出說明第 1 行輸出 起始牌組順序 ( ), 最後 1 行輸出給定的 目的地牌組順序 第 2 行起依序輸出每次 插牌 後的牌組順序 ( 答案並非唯一, 評分時會逐行檢查正確性 ) 輸入檔案 輸入檔案 1: 檔名 :in1.txt 輸入檔案 2: 檔名 :in2.txt

76 程式設 計 輸出檔案 輸出檔案 : 檔名 :out.txt ( 準備提回 1) ( 準備提回 2) ( 準備提回 3) ( 準備提回 4) ( 準備提回 5) ( 準備提回 6) ( 準備提回 7) ( 準備提回 1) ( 準備提回 2) ( 準備提回 3) 演算說明本題乍看之下好像也是老鼠走迷宮的問題, 但嘗試點也未免太多了 仔細觀察題目標題, 往 排序 方面思考, 終於體會如下 : 1. 本題先假設是輸入 a= 若插入一次, 則表示搜尋 1, 並將 1 提回, 所以 a= , 也就是交換一次即可 2. 假設 a= (1) 若僅插入一次, 則先搜尋 1, 將 1 提回, 所以 a= , 但 a 並不等於 , 表示不可能僅插入一次 (2) 假設插入兩次, 則第一次先搜尋 2, 找出 2 的位置, 並將 2 提到前面, 所以 a= , 第二次搜尋 1, 找出 1 的位置, 並將 1 提到前面, 所以 a= , 表示插入兩次即可 3. 同理,a= , 也是先假設插入 1 次,2 次, 直到插入 7 次, 也就是先搜尋 7, 找出 7 的位置, 將 7 提到前面, 得到 a= , 其次, 搜尋 6, 找出 6 的位置, 並將 6 提到前面, 依此類推, 即可求解 -76

77 商科技藝競賽試題解析 chapter 程式列印 Private Sub Command1_Click() Dim b(10) As Integer Dim c(10) As String i = 0 Do i = i + 1 a = a = num = Len(a) 分解為字元陣列 For j = 1 To num b(j) = Val(Mid(a, j, 1)) For j = i To 1 Step -1 For k = 1 To num If b(k) = j Then ' 往前提到位置 1 '1 到 j 先後移 For m = k To 2 Step -1 b(m) = b(m - 1) b(1) = j ' 組合成字串 c(j) = "" For k = 1 To num c(j) = c(j) + Trim(Str(b(k))) 檢查是否全定位 ok = True For j = 1 To num ok = ok And (b(j) = j) Loop Until ok For j = 1 To i Print c(j) Print a -77

78 程式設 計 子題 2.(10%) ) 若現在有 5 張撲克牌, 點數分別是 1 點至 5 點, 各張牌的點數都不同, 並且 5 張牌已依點數由小到大排列 選手若要改變排列順序, 只能用 換牌 動作 假設一個 換牌 的動作, 可以將順序中的第 1 張牌 ( 首牌 ) 與其 他牌 交換 位置, 形成 1 個新的牌組順序 我們現在用 1 個長度為 5 的字 串, 表示 1 個牌組順序 例如以字串 12345, 表示這 5 張牌現在依其點 數由小到大排列 如果我們進行第 1 次 換牌 動作, 假設將 牌 1 ( 首 牌 ) 與 牌 5 交換, 就形成新的牌組順序 如果要進行第 2 次 的 換牌, 就將 牌 5 ( 首牌 ) 與其他牌交換, 即可形成下一個牌組 順序 現在給一個 目的地牌組順序, 請從牌組順序 開始, 用最多 10 次的 換牌 動作, 最後轉換成 目的地牌組順序 輸入說明第 1 行為給定的 目的地牌組順序 字串 ( 長度為 5) 輸出說明第 1 行輸出起始牌組順序 12345, 最後 1 行輸出 目的地牌組順序 第 2 行起依序輸出每次 換牌 後的牌組順序 輸入檔案 輸入檔案 1: 檔名 :in1.txt 輸入檔案 2: 檔名 :in2.txt 輸出檔案 輸出檔案 : 檔名 :out.txt (5. 將首位 3 定位 ) (4. 將首位 4 定位 ) (3. 將首位 5 定位 ) -78

79 商科技藝競賽試題解析 chapter (2. 擬將 5 定位 ) (1. 將首位 2 定位 ) (3. 將首位 5 定位 ) (2. 擬將 4 定位 ) (1. 擬將 2 定位 ) 演算說明本題正向思考也是有點難, 所以依上題的思考模式, 採用反推法, 終於體會如下 : 1. 依序讓 定位, 則 1 也會自動定位 2. 要讓 5 定位, 至少要兩個步驟, 先搜尋 5 的位置, 並與 1 先交換, 其次將位置 1 與位置 5 交換 3. 要讓 4 定位, 至少要兩個步驟, 先搜尋 4 的位置, 並與 1 先交換, 其次將位置 1 與位置 4 交換 4. 同理, 請將 3 與 2 定位, 所以 8 個步驟內一定可以排序完成 5. 因為定位的順序不同, 結果也不同, 所以, 本題答案當然不唯一 例如 : 您也許是先讓 2 定位, 再讓 3 定位 6. 排序完成後, 將排序的過程反相顛倒輸出, 即為本題的解 程式列印 Private Sub Command1_Click() Dim b(5) As Integer Dim c(5) As Boolean Dim e(10) As String Dim ok As Boolean -79

80 程式設 計 a = "21534" ' 將字串分解為字元陣列 For i = 1 To 5 b(i) = Val(Mid(a, i, 1)) c(i) = (b(i) = i) 檢查該位置是否定位 i = 1 e(1) = a Do i = i + 1 If b(1) <> 1 Then Else ' 將該數字定位 d = b(1) t = b(1): b(1) = b(d): b(d) = t c(d) = True ' 已經定位 ' 將該位置提到位置 1 For j = 2 To 5 ' 組合字串 If Not (c(j)) Then For j = 1 To 5 t = b(1): b(1) = b(j): b(j) = t Exit For e(i) = e(i) + Trim(Str(b(j))) ' 輸出排序過程 Print e(i) ' 檢查是否全定位 ok = True For j = 1 To 5 Loop Until ok ' 反向輸出排序過程 Print "OK" ok = ok And (b(j) = j) For j = i To 1 Step -1 Print e(j) -80

<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

<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

4

4 練習 9A ( 9. 特殊角的三角比 T ( 在本練習中, 不得使用計算機 如有需要, 答案以根式或分數表示. 試完成下表 三角比 θ 0 4 60 sin θ cos θ tan θ 求下列各數式的值 (. cos 60. sin 4 4. tan 4. cos0 4 tan 0 7. sin 4 cos 4 8. cos 60 tan 4 9. tan 60sin 0 0. sin 60 cos

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

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

投影片 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 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

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 - _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

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

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

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

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

目次 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 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

星星排列 _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

國立北斗家商 107 學年度第 2 學期第二次期中考科目 : 計算機應用 計算機概論 IV 班級 : 商二 1 2 貿二 資二 綜二 1 作答方式 : 答案卡 選擇題共 33 題, 除第 1 題 4 分, 其餘每題 3 分, 注意作答時間 1. ( ) 使用 Visual Basic 程式語言 (

國立北斗家商 107 學年度第 2 學期第二次期中考科目 : 計算機應用 計算機概論 IV 班級 : 商二 1 2 貿二 資二 綜二 1 作答方式 : 答案卡 選擇題共 33 題, 除第 1 題 4 分, 其餘每題 3 分, 注意作答時間 1. ( ) 使用 Visual Basic 程式語言 ( 國立北斗家商 107 學年度第 2 學期第二次期中考科目 : 計算機應用 計算機概論 IV 班級 : 商二 1 2 貿二 資二 綜二 1 作答方式 : 答案卡 選擇題共 33 題, 除第 1 題 4 分, 其餘每題 3 分, 注意作答時間 1. ( ) 使用 Visual Basic 程式語言 ( 以下皆是 ) 執行下列程式碼後,T 值為何? (A)495 (B)550 (C)594 (D)5050

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 Word - 小心翼翼的二十一點N.doc

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

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

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

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

投影片 1

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

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

表二 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

94/03/25 (94 0940002083 94 12 31 C 1-8 (65 29 5 15 1 2 1-23 28 24-27 k1. k1a. 1 2 3 4 k1b. 1 2 3 4 5 k1c. 1 2 ( 3 4 ( 5 k2. 1 A 2 k 3k 4 3 k3k4 k3. k3a. 1 2 3 4 ( k3b. 1 2 k3b1.? 3 ( (D4 k4. 11 12 02

More information

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9B8D5C3442DB57BA6A1B35DAD702DB34EACEC>

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9B8D5C3442DB57BA6A1B35DAD702DB34EACEC> 全國高級中等學校 103 學年度商業類學生技藝競賽 程式設計 職種 術科 試卷 選手證號碼 : 姓名 : 各個子題均提供 2 組測試輸入檔, 檔名分別是 in1.txt 及 in2.txt 選手製作的程式, 應依序讀入 in1.txt 及 in2.txt 檔, 程式執行後, 並產生 1 個輸出檔 out.txt ( 即, 每個程式讀入 2 個輸入檔, 產生 1 個輸出檔 ) 在輸出檔中, 選手應先輸出

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

第一篇文概說第七章公文的用語及標點符號公本篇內容 第一章 緒論 第二章 公文的意義 第三章 公文與高 普 特各類考試 第四章 公文程式之意義及演變 第五章 公文之分類及其行文系統 第六章 公文之結構與行款 第一篇 第一章緒論 003 第一章緒論 等 等 004 最新應用公文 第一篇 第二章公文的意義 005 第二章公文的意義 第一節 一 須為公務員製作之文書 二 須為公務員 職務上 製作之文書 006

More information

PowerPoint Presentation

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

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

戒菸實務個案自助手冊105年Ver.2

戒菸實務個案自助手冊105年Ver.2 本計劃經費來自 品健康福利捐支應 衛生福利部國民健康署 我 名字 為了 以下理由 1. 2. 3. 4. 5. 決定從 年 月 日起 簽署人 (簽章) 見證人 (簽章) 年 月 日 a 準備戒 V 環境的準備 排除讓自己想吸 自己戒 的環境 V 心理的準備 瞭解自己的吸 的環境 建立能提醒 行為 強化戒 決心 V 身體的準備 評估身體的尼古丁依賴度 必要時找尋 藥物降低戒 戒 的難度

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

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

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

More information

推理證明 本節性質與公式摘要 1 推理與證明 : 1 已知 2 求證 3 證明 2 思路分析與證明 : 3 輔助線 : 四邊形四邊中點連線性質 : 例 ABCD E F G H AC 6 BD 8 EFGH AC BD 14 E A H B F C G D

推理證明 本節性質與公式摘要 1 推理與證明 : 1 已知 2 求證 3 證明 2 思路分析與證明 : 3 輔助線 : 四邊形四邊中點連線性質 : 例 ABCD E F G H AC 6 BD 8 EFGH AC BD 14 E A H B F C G D 40 3-1 推理證明 本節性質與公式摘要 1 推理與證明 : 1 已知 2 求證 3 證明 2 思路分析與證明 : 3 輔助線 : 1 2 4 四邊形四邊中點連線性質 : 例 H 68 H 14 H 41 41 基礎題 1 ab a366b12 2 a 36 證明 10 分 10 分 P131 2 a366b12 2 1 a6b12 2 36 6b1266b126 6b186b6 36b3b1 b3b1

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

本章綱要 -1 節點電壓法 -2 迴路電流法 -3 重疊定理 - 戴維寧定理 -5 諾頓定理 -6 戴維寧與諾頓等效電路之轉換 -7 最大功率轉移定理 Chapter 直流網路分析 0626-0.indd 125 2009/11/10 下午 0:58:09

本章綱要 -1 節點電壓法 -2 迴路電流法 -3 重疊定理 - 戴維寧定理 -5 諾頓定理 -6 戴維寧與諾頓等效電路之轉換 -7 最大功率轉移定理 Chapter 直流網路分析 0626-0.indd 125 2009/11/10 下午 0:58:09 ELECTRICITY ELECTRICITY BASIC BASIC 本章學習目標 1. 利用節點電壓法分析各支路的電流 2. 利用迴路電流法分析各迴路的電流 3. 瞭解重疊定理在多電源電路的應用. 利用戴維寧與諾頓定理化簡電路 5. 瞭解戴維寧與諾頓等效電路的轉換 6. 學習負載如何在電路中獲得最大的功率轉移 0626-0.indd 12 2009/11/10 下午 0:58:02 本章綱要 -1

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

基本數學核心能力測驗_行為觀察記錄紙_G2版本

基本數學核心能力測驗_行為觀察記錄紙_G2版本 基本數學數學核心能力測驗 G2 行為觀察記錄記錄紙 學校 : 班級 : 姓名 : 日期 : 記錄者 : ~ 學生作答時, 請他 ( 她 ) 將雙手皆置於桌面 ~ 認識數字 ( 三 ): 數列 ( 共 1 頁 ) 注意事項 逐題觀察並作底下記錄, 等分測驗做完後, 每一個策略任選一題問 這一題你是怎麼算的? ( 如果只運用一種策略, 則再任選 2-3 題訪問 ) 利用學生的回答來作為 自己觀察記錄的證據

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

投影片 1

投影片 1 NCKU Progrmming Contest Trining Course 08/05/09 Jheng-Hung Hong Deprtment of Computer Siene nd Informtion Engineering Ntionl Cheng Kung University Tinn, Tiwn NCKU CSIE Progrmming Contest Trining Course

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

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

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

四川省普通高等学校

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

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

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

2009年3月二级VB语言笔试真题 2008 年 9 月 计 算 机 二 级 VB 语 言 真 题 一 选 择 题 ( 每 题 2 分, 共 计 70 分 ) 1. 一 个 栈 的 初 始 状 态 为 空 现 将 元 素 1 2 3 4 5 A B C D E 依 次 入 栈, 然 后 再 依 次 出 栈, 则 元 素 出 栈 的 顺 序 是 A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA

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

(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 圓方程式 第 章 二次曲線 38 二次曲線 人們對於曲線的使用及欣賞 比曲線被視為一種數學題材來探討要早 得多 各種曲線中 在日常生活常接觸的 當然比較容易引起人們的興趣 比如 投擲籃球的路徑是拋物線 盤子的形狀有圓形或橢圓形 雙曲線 是較不常見的 然而根據科學家的研究 彗星的運行軌道是雙曲線的一部 分 我們將拋物線 圓與橢圓 雙曲線合稱為圓錐曲線 因為在平面坐標 系中 其對應的方程式均為二元二次式

More information

PowerPoint 簡報

PowerPoint 簡報 本周未安排實作輔導 預定 : 下周六 迴圈 LOOP 應用 判斷質數 (Prime number) 求兩個整數的最大公因數 (greatest common divisor, GCD) 判斷迴文 (palindrome) 搶答!! Q1 : 印出結果? int s,x; s=0; for(x=1;x

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

( )... 5 ( ) ( )

( )... 5 ( ) ( ) 2016 大學校院招收大陸地區學生聯合招生委員會 71005 臺南市永康區南臺街 1 號 E-mail:rusen@stust.edu.tw WEB:http://rusen.stust.edu.tw TEL:+886-6-2435163 FAX:+886-6-2435165 2 0 1 6 0 1 1 9 2016... 2... 3... 5 ( )... 5 ( )... 5 1... 6 2...

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

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 Word - Delta Controller ASCII_RTU_TC

Microsoft Word - Delta Controller ASCII_RTU_TC Delta Controller ASCII/RTU ( 適用台達變頻器 伺服驅動器 PLC 溫度控制器 ) 人機預設值通訊速率 :9600, 7, None, 2 (ASCII); 9600, 8, None, 2 (RTU) 控制器站號 :1 控制區 / 狀態區 :None/None 控制器接線的說明 Delta Servo a. RS-232(DOP-A/AE/AS, DOP-B 系列適用 )

More information

Microsoft Word - HKU Talk doc

Microsoft Word - HKU Talk doc In the figure, E is a diameter and E is a straight line. Find x. 圖中, E 是一直徑, E為一直線 求 x. 54. 70. 74. 9 E. 94 In the figure, O is the center of the circle. EO and E are straight lines. Find x. 圖中, O 為圓心,

More information

n 123n2n1nn n P n k n P abc 123 x abcxx P C 5 3 oooxx C

n 123n2n1nn n P n k n P abc 123 x abcxx P C 5 3 oooxx C 2 1 2 1 2 3 n 123n2n1nn n P n k n P 5 3 5 53 5 2 60 abc 123 x abcxx 5 2 60 P 5 3 5 53 5 2 60 C 5 3 oooxx C 5 3 5 32 3 4 n 5 6 4 壹歷史與生活 2 2 2 4 3 10311095 1919 3 361 16481722 17681813 C n m nn1nm1 mm1 21

More information

2. S 輸入一個整數 n, 求出從 1 ~ n 所有可以被 3 整除及又可以被 7 整除所有 的數字的總和的程式 ( 請上傳 Sum_3_7.py 檔 ) Sum_3_7.py 程式樣版 n = int(input()

2. S 輸入一個整數 n, 求出從 1 ~ n 所有可以被 3 整除及又可以被 7 整除所有 的數字的總和的程式 ( 請上傳 Sum_3_7.py 檔 ) Sum_3_7.py 程式樣版 n = int(input() 朝陽資管系進修部 python 程式檢定題庫 1. S 請試撰寫一程式, 讓使用者傳入一數值 A, 判斷此數是否為 2 或 3 的倍數, 如是印出 true, 否則印 false ( 請上傳 Multiple.py 檔 ) 0 true 184 true 84 true 78 true 91 false Multiple.py 程式樣板 A = int(input()) 2. S 輸入一個整數 n,

More information

Microsoft Word - ACL chapter00a-1ed .doc

Microsoft Word - ACL chapter00a-1ed .doc 序三 A* Wi-Fi RLE RSA - v - 前言 NPC Horner s rule DOS PCX RLE RSA - - vii - 演算法的樂趣 0-1 60 23 1 32 O(n) O(n 2 ) O(n) O(n) MP3 - viii - 前言 http://books.gotop.com.tw/download/acl045600 http://blog.csdn.net/orbit/

More information

TX-NR3030_BAS_Cs_ indd

TX-NR3030_BAS_Cs_ indd TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5

More information

Microsoft PowerPoint - Chapter5

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

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

目次 3 ONTNTS 1 相似形 上 國民中學數學第五冊習作 表示為仿會考或特招題 1-1 比例線段 3 1- 相似多邊形 相似三角形的應用 圓形 -1 點 線 圓 4 - 圓心角 圓周角與弦切角 外心 內心與重心 3-1 推理證明 三角形與多

目次 3 ONTNTS 1 相似形 上 國民中學數學第五冊習作 表示為仿會考或特招題 1-1 比例線段 3 1- 相似多邊形 相似三角形的應用 圓形 -1 點 線 圓 4 - 圓心角 圓周角與弦切角 外心 內心與重心 3-1 推理證明 三角形與多 給同學的話 1.. 內 3. 內 內 目次 3 ONTNTS 1 相似形 上 國民中學數學第五冊習作 表示為仿會考或特招題 1-1 比例線段 3 1- 相似多邊形 8 1-3 相似三角形的應用 13 1 18 圓形 -1 點 線 圓 4 - 圓心角 圓周角與弦切角 9 34 3 外心 內心與重心 3-1 推理證明 40 3- 三角形與多邊形的心 45 3 51 3 1-1 比例線段 本節性質與公式摘要

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

新北市立江翠國中 103 學年度第二學期第二次定期考查八年級數學科試卷 P.1 測驗說明 : ( 一 ) 範圍 : 康軒版第四冊 2-3~3-3 ( 二 ) 本試卷含題目卷共 4 頁 ( 雙面列印 ) 及答案卷 1 張 ( 三 ) 題目卷包含 12 題單選題 6 題填充題 4 題綜合題, 請將正確答

新北市立江翠國中 103 學年度第二學期第二次定期考查八年級數學科試卷 P.1 測驗說明 : ( 一 ) 範圍 : 康軒版第四冊 2-3~3-3 ( 二 ) 本試卷含題目卷共 4 頁 ( 雙面列印 ) 及答案卷 1 張 ( 三 ) 題目卷包含 12 題單選題 6 題填充題 4 題綜合題, 請將正確答 新北市立江翠國中 103 學年度第二學期第二次定期考查八年級數學科試卷 P.1 測驗說明 : ( 一 ) 範圍 : 康軒版第四冊 2-3~3-3 ( 二 ) 本試卷含題目卷共 4 頁 ( 雙面列印 ) 及答案卷 1 張 ( 三 ) 題目卷包含 12 題單選題 6 題填充題 4 題綜合題, 請將正確答案寫在答案卷上 一 選擇題 ( 每題 5 分, 共 60 分 ) 1.( ) 以下何者不是兩個三角形的全等性質?()

More information

1

1 磁軌式讀卡機 1288 系列 使用手冊 Version 1.0 1 2 3 4 5 6 7 8 9 10 11 12 1288 MSR Micro controller : With Decoder Open Visual COM port to read data (UART Interface) From 1288 Or direct control 1288 by sending Command

More information

封面-12

封面-12 第十二章 701Client TECHNOLOGY CO.,LTD. 701Client 701Server 701Client "701Client", 12-1 :supervisor :supervisor : 1. : 00~99 100 2. : 00~63 ( 63 / / ) 3. : 18 9 4. : 18 9 5. 12-2 TECHNOLOGY CO.,LTD. 701Client

More information

6-1-1極限的概念

6-1-1極限的概念 選 修 數 學 (I-4 多 項 式 函 數 的 極 限 與 導 數 - 導 數 與 切 線 斜 率 定 義. f ( 在 的 導 數 : f ( h 對 實 函 數 f ( 若 極 限 存 在 h h 則 稱 f ( 在 點 可 微 分 而 此 極 限 值 稱 為 f ( 在 的 導 數 以 f ( 表 示 f ( f ( 函 數 f ( 在 的 導 數 也 可 以 表 成 f ( 註 : 為 了

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

攜手拼出圓滿的幸福 2

攜手拼出圓滿的幸福 2 國立台灣師範大學家庭教育研究與發展中心編撰教育部出版中華民國 96 年 9 月 攜手拼出圓滿的幸福 2 國立台灣師範大學 家庭教育研究與發展中心主任 林育瑋 3 目錄 幸福拼圖 序文...p.2 引言 能和心愛的人共度一生, 就是最大的幸福!...p.6 幸福方程式 : 我 + 你 = 幸福關鍵一 我...p.10 關鍵一 你...p.20 關鍵一 +...p.28 如果你還想知道更多撇步 附錄一...p.48

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

Microsoft PowerPoint - SAGE 2010

Microsoft PowerPoint - SAGE 2010 SAGE Journals Online -Communication Studies 大綱 SAGE 簡介 Communication Studies 收錄內容 SJO 平台功能介紹 首頁 瀏覽功能 檢索功能 進階服務 SAGE Content 超過 520 種人文 社會科學 理工 科技領域電子期刊 SAGE 與超過 245 個國際知名的學會合作 ( 包括 American Sociological

More information

研究一:n人以『剪刀、石頭、布』猜拳法猜拳一次,決定一人勝

研究一:n人以『剪刀、石頭、布』猜拳法猜拳一次,決定一人勝 嘉 義 市 第 三 十 屆 中 小 學 科 學 展 覽 會 作 品 說 明 書 猜 拳 決 勝 負 的 最 佳 策 略 探 討 科 別 : 數 學 科 組 別 : 國 小 組 關 鍵 詞 : 剪 刀 石 頭 布 黑 白 猜 編 號 : 壹 摘 要 在 玩 遊 戲 時 往 往 需 要 運 用 猜 拳 剪 刀 石 頭 布 或 黑 白 猜 來 決 勝 負 或 是 分 組, 但 人 數 一 多, 便 無 法

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

94/03/25 (94 0940002083 94 12 31 B 1-8 (12-64 29 5 16 82 5 15 1 2 22-24 29 25-28 k1. 1 A 2 k2k3 3 k2k3 k2. k2a. 1 2 3 4 k2b. 1 2 k2b1.? 3 k3. 11 12 02 ( ( ( 1 2 (24 A. A1.? 1 0 A1a.? 1. 1 2 2. A2. 1 2

More information

90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算 子 [P.96] 重複執 行

90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算 子 [P.96] 重複執 行 89 第三講 程式流程控制 ( 上 ) 講師 : 李根逸 (Ken-Yi Lee), E-mail: feis.tw@gmail.com 90 課程 大綱 條件判斷 : if ( 表 示式 ) {... } [P.91] 如果表 示式成 立就... if ( 表 示式 ) {... } else {... } [P.93] 如果表 示式成 立就... 否則就.. C / C++ 的複合指定與遞增遞減運算

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

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

CU0594.pdf

CU0594.pdf 8 SOHO 1 3 003 SOHO SOHO Coder Programmer HTML CSS PHP JavaScrip 009 LECTURE 1-1 1 048 PART 2 LECTURE 1-1 1 049 SOHO Landing Page Landing 050 PART 2 LECTURE 1-1 1 SEO SEO P.093 SEO SEO SEO SEO SEO 051

More information

iziggi

iziggi iziggi 1 1 iziggi-hd 2 iziggi-hd 4 IPEVO iziggi-hd 6 iziggi-hd 8 iziggi-hd 9 Whiteboard App USB 10 iziggi-hd 11 iziggi-hd Live View WiFi 11 12 LED 12 iziggi-hd 13 Apple TV AirPlay 13 14 15 iziggi-hd *

More information

1

1 守大學電機系 電腦視覺 報告 單元一 數位影像 : 格式和操作 參考解答 MIAT( 機器智慧與自動化技術 ) 實驗室 中華民國 93 年 9 月 29 日 1. (a) 如果指紋影像 finger300x300 的取像面積是 14(mm)x14(mm), 請計算取像系統的 dpi (b) 如果 kaoshiung512x512 遙測影像的覆蓋面積是 5(Km)x5(Km), 請計算該影像的解析度

More information

前言 人類的歷史, 因 一個簡單的思維 而改變! 1776 Thomas Paine COMMON SENSE

前言 人類的歷史, 因 一個簡單的思維 而改變! 1776 Thomas Paine COMMON SENSE 抓到重點 + 專注力, 做事有效率 GPS You Can Change Your Way of Working Just by Changing Your Way of Thinking 高橋政史 著 黃玉寧 譯 前言 人類的歷史, 因 一個簡單的思維 而改變! 1776 Thomas Paine COMMON SENSE 8 12 1930 60 3 Steve Jobs 你所需要的是技巧? 還是思考方法?

More information

C12711--CH4.tpf

C12711--CH4.tpf 第 直 流 迴 路 章 4-1 節 點 電 壓 法 4-2 迴 路 電 流 法 4-3 重 疊 定 理 4-4 戴 維 寧 定 理 4-5 最 大 功 率 轉 移 4-6 諾 頓 定 理 4-7 戴 維 寧 與 諾 頓 之 轉 換 重 點 掃 描 習 題 探 討 熟 練 節 點 電 壓 法 的 解 題 技 巧 熟 練 迴 路 電 流 法 的 解 題 技 巧 熟 練 重 疊 定 理 的 解 題 技 巧

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

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

最終版本更新時間 : 二 一九年四月十六日上午十一時三十分 64 出賽馬匹資料及往績 跑馬地夜賽 ( 草地 - "B" 賽道 - 向後移欄 ) 二 一九年四月十七日

最終版本更新時間 : 二 一九年四月十六日上午十一時三十分 64 出賽馬匹資料及往績 跑馬地夜賽 ( 草地 - B 賽道 - 向後移欄 ) 二 一九年四月十七日 最終版本更新時間 : 二 一九年四月十六日上午十一時三十分 64 出賽馬匹資料及往績 跑馬地夜賽 ( 草地 - B 賽道 - 向後移欄 ) 二 一九年四月十七日 #$% &' ( )* +,-./0 1-2 345 6 89: ;, < =>? @ABC DE FG HI JK LMN O O NN H # $% &K ' ()* +, -. /0 1 J23 44 HF 56D 68 9DD :;

More information

子學習3 電子學習的定位 傳統電子學習 與 新世代電子學習 SAMS 台上講者從左至右 : 吳薇薇女士 羅陸慧英教授 佘孟先生 李芳樂教授 從 電子銀行服務 到 電子學習 題追3 專蹤電

子學習3 電子學習的定位 傳統電子學習 與 新世代電子學習 SAMS 台上講者從左至右 : 吳薇薇女士 羅陸慧英教授 佘孟先生 李芳樂教授 從 電子銀行服務 到 電子學習 題追3 專蹤電 鄭燕祥教授演講座座無虛席專題追蹤電子學習電子學習如何提升 學與教 模式? 學與教博覽 2010 論壇直擊報道 整理 : 蘇家輝 2 學與教博覽 2010 於本年 7 月 15 日至 17 日假灣仔會議展覽中心舉行, 其中 電子學習提升 學與教 模式 論壇邀請了多位學者 專家和官員就相關話題發表意見, 當中不乏具啟發性的觀點, 值得老師參考和細思 子學習3 電子學習的定位 傳統電子學習 與 新世代電子學習

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

Microsoft Word - CS-981.doc

Microsoft Word - CS-981.doc 4. 資料表示法 4.1 十進位與數字系統 (1). 基本觀念 數字系統的觀念 人們習慣以十進位的計量方式來計算 不同的數字系統有二進位 (Binary) 八進位 (Octal) 十進位 (Decimal) 十六進位(Hexadecimal) 二進位 電腦內部用來表達訊號的資料只有兩種符號 : 0 表示沒電,1 表示有電透過多個電路的組合表示出無數符號, 電腦便利用這些符號來表示不同的數字 利用兩條電線可以表示出

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

一 Hot Potatoes 命 題 軟 體 操 作 說 明 一 註 冊 操 作 程 序 1. 進 入 Hot Potatoes 的 官 方 網 站 網 址 http://web.uvic.ca/hrd/hotpot/index.htm 並 點 選 Register 2. 點 選 read the licence terms. 閱 讀 使 用 說 明 3. 點 選 I have read the license

More information

實驗 使用 IPv4 和 IPv6 計算摘要路由 拓樸 位址分配表 子網 IPv4 位址 IPv6 位址 HQ 的 LAN / :DB8:ACAD:E::/64 HQ 的 LAN / :DB8:ACAD:F::/64 EAS

實驗 使用 IPv4 和 IPv6 計算摘要路由 拓樸 位址分配表 子網 IPv4 位址 IPv6 位址 HQ 的 LAN / :DB8:ACAD:E::/64 HQ 的 LAN / :DB8:ACAD:F::/64 EAS 拓樸 位址分配表 子網 IPv4 位址 IPv6 位址 HQ 的 LAN1 192.168.64.0/23 2001:DB8:ACAD:E::/64 HQ 的 LAN2 192.168.66.0/23 2001:DB8:ACAD:F::/64 EAST 的 LAN1 192.168.68.0/24 2001:DB8:ACAD:1::/64 EAST 的 LAN2 192.168.69.0/24 2001:DB8:ACAD:2::/64

More information

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089 Photoshop CC Camera Raw Photoshop Camera Raw Step 1 3 1 2 3 SCOTT KELBY Step 2 B Camera Raw 088 Chapter 3 Camera Raw Chapter 3 Camera Raw Step 3-4 -100 negative clarity +25 ] P / -75-50 Step 4 0 ( 下一頁

More information

章節

章節 試 題 阿 財 每 年 年 初 存 入 銀 行 0000 元, 年 利 率 %, 每 年 計 息 一 次, () 若 依 單 利 計 息, 則 第 0 年 年 底 的 本 利 和 多 少? () 若 依 複 利 計 息, 則 第 0 年 年 底 的 本 利 和 約 為 多 少?( 近 似 值 :0 0 計 ) 編 碼 0044 難 易 中 出 處 高 雄 中 學 段 考 題 解 答 ()000 元

More information

Mr

Mr 奧冠教育中心 O L Y M P I A D C H A M P I O N E D U C A T I O N C E N T R E Room 09-0, 8 Jordan Road, Yau Ma Tei, Kowloon, Hong Kong SAR, CHINA Tel (85) 5 08 / 90 40 Fax (85) 5 074 Website: www.olympiadchampion.com

More information

<4D6963726F736F667420576F7264202D20B3E6A4B830312D2D2DBCC6BD75BB50BEE3BCC6AABAA55BB4EEB942BAE22E646F6378>

<4D6963726F736F667420576F7264202D20B3E6A4B830312D2D2DBCC6BD75BB50BEE3BCC6AABAA55BB4EEB942BAE22E646F6378> 國 中 數 學 基 本 學 習 內 容 補 救 教 材 第 一 冊 一 -1 單 元 一 數 線 與 整 數 的 加 減 運 算 主 題 一 正 數 負 數 的 意 義 一 正 數 和 負 數 : 尋 找 寶 藏 北 西 東 小 明 南 小 明 無 意 間 得 到 了 一 張 藏 寶 圖, 圖 上 的 黑 點 代 表 小 明 現 在 站 的 地 方, 每 個 腳 印 都 代 表 1 步 若 要 在

More information