全國國高級中中等學校 105 學年度商商業類學學生技藝藝競賽 程式式設計 職職種 學學科 試試卷 崗位位編號 : 姓名 : 注意事項 : 請將答案案劃記於答案案卡, 未依依規定劃記者者不予計分分 試題說明 :( 選擇題每每題 4 分, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 Dim i As Byte i = &HFC Console.WriteLine(Not i) 說明 :Visual basic 中 Not 為求 1 的補數數 (B) 12 (C) 7 (D) 3 ( ) 2. 執行行以下 Visual Basic 程式片段, 其結果為何? (A) 10 Dim i, j, c As Integer c = 0 For i = 0 To 4 j = 4 - i Do j = j - 1 c = c + j Loop Until j <= 0 Console.WriteLine(c) (B) 9 (C) 8 (D) 7 ( ) 3. 執行行下列 Visual Basic 程式片段, 其結果為何?(A) 55 Dim k, j As Integer k = 0 For j = 1 To 10 Step 2 k = k + j j Console.WriteLine(k) (B) 30 (C) 25 (D)( 45 第 1 頁 / 共 8 頁
( )4. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 1 (B) 5 (C) 25 (D) 125 Dim A, B, C As Integer A = 125 B = 125 While (B > 0) C = A Mod B A = B B = C Console.Write(A) ( )5. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 10 (B) 15 (C) 21 (D) 6 Dim c, s As Integer c = 3 : s=1 While c <= 6 s = s * c /(c- 2) c = c + 1 Console.Write(s) ( )6. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 333 (B) 66 (C) 44 (D) 666 Dim i, j As Integer Dim A(,) As Integer = {{1, 11, 111, 1111}, {3, 33, 333, 3333}, {2, 22, 222, 2222}} Dim B(3, 4) As Integer For i = 0 To 2 For j = 0 To 3 B(j, i) = A(i, j) j i Console.WriteLine(A(1, 2) + B(2, 1)) ( )7. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 171 (B) 190 (C) 200 (D) 210 Dim i, j, n, k As Integer j = 0 : n = 20 For i = 1 To n For k = i + 1 To n - 1 j = j + 1 k i Console.WriteLine(j) 第 2 頁 / 共 8 頁
( ) 8. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 10 (B) 9 (C) 8 (D) 5 Dim A, S As Decimal S = 0 : A = 1023 While A > 0 S = S + (A Mod 2) A = Math.Floor(A / 2) Console.WriteLine(S) ( ) 9. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 1 (B) 4 (C) 5 (D) 6 Dim I, J, K, Temp, A(5) As Integer For K = 0 To 5 A(K) = (K ^ 2 + 4) Mod 7 K For I = 5 To 1 Step -1 For J = 0 To I - 1 If A(J) > A(J + 1) Then Temp = A(J) A(J) = A(J + 1) A(J + 1) = Temp Console.WriteLine(A(4)) ( )10. 執行下列 Visual Basic 程式, 輸出結果為何? (A) 1 (B) 6 (C) 36 (D) 648 Console.WriteLine(A(5)) Function A(ByVal i As Integer) As Integer If (i <= 3) Then Return i Return A(i - 1) * A(i - 2) * A(i - 3) 第 3 頁 / 共 8 頁
( )11. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 133 (B) 85 (C) 28 (D) 15 Dim Sum, i, j As Integer Sum = 0 : i = 0 While i <= 5 For j = 1 To i + 2 Sum = Sum + i j i = i + 1 Console.WriteLine(Sum) ( )12. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 1 (B) 3 (C) 6 (D) 10 Dim A(3, 3), i, j As Integer For i = 0 To 3 For j = 0 To 3 If (i Mod 2) = 1 Then A(i, j) = i + j A(i, j) = i * j For i = 1 To 3 For j = 1 To 3 A(i, j) = A(i - 1, j) + A(i, j - 1) + A(i - 1, j - 1) Console.WriteLine(A(2, 3)) ( ) 13. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 24 (B) 28 (C) 60 (D) 144 Dim i, j, k, sum As Integer sum = 0 For i = 0 To 2 For j = i To 3 For k = j To 4 sum = sum + 1 Console.WriteLine(sum) 第 4 頁 / 共 8 頁
( ) 14. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) -2 (B) 2 (C) 18 (D)-18 Dim i, j, sum As Integer sum = 2 For i = 1 To 3 For j = 1 To 3 sum = sum *-1 Console.WriteLine(sum) ( )15. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 12 (B) 16 (C) 3 (D) 4 Dim i, j, S As Integer S = 0 : i = 2 : j = 1 Do While i <= 4 Do While j <= 4 S = S + 1 j = j + 1 Loop i = i + 1 Loop Console.Write(S) ( ) 16. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 4 (B) 8 (C) 12 (D) 45 Dim K, S As Integer S = 0 : K = 0 While K < 10 S = S + K K = K + 4 Console.Write(S) ( )17. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 1 (B) 2 (C) 3 (D) 4 Dim A(3, 3) As Integer For i = 1 To 3 For j = 1 To 3 A(i, j) = (i Mod 2) + (j Mod 3) j i Console.Write(A(2, 2)) 第 5 頁 / 共 8 頁
( )18. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 0 (B) 3 (C) 13 (D) 23 Dim i, j, k As Integer Dim A(,) As Integer = {{1, 2, 3, 4}, {1, 0, 1, 0}, {1, 2, 3, 4}} Dim B(,) As Integer = {{1, 2, 3, 4, 5}, {1, 0, 1, 0, 1}, {0, 1, 0, 1, 0}, {1, 2, 3, 4, 5}} Dim C(3, 5) As Integer For i = 0 To 2 For j = 0 To 4 For k = 0 To 3 C(i, j) = A(i, k) * B(k, j) k j i Console.WriteLine(C(1, 2)) ( )19. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 8 (B) 13 (C) 21 (D) 34 Console.WriteLine(F(F(6))) Function F(ByVal n) As Integer Dim a1, a2, a3, i As Integer a1 = 0 : a2 = 1 If n = 0 Or n = 1 Then Return n For i = 2 To n a3 = a1 + a2 a1 = a2 a2 = a3 Return a3 ( )20. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 0 (B) 1 (C) 2 (D) 3 Console.Write((99 Mod 17) Mod 4) 第 6 頁 / 共 8 頁
( )21. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 1 (B) 4 (C) 18 (D) 48 Console.WriteLine(F25(4)) Function F25(ByVal n As Integer) As Integer If n = 1 Or n = 2 Then Return 1 Return F25(n - 1) * F25(n - 2) ( )22. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 1 (B) 4 (C) 18 (D) 48 Console.WriteLine(F22(4)) Function F22(ByVal n As Integer) As Integer If n = 1 Or n = 2 Then Return n Return F22(n - 1) * F22(n - 2) ( ) 23. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 4 (B) 7 (C) 15 (D) 18 Console.WriteLine(F17(2, 3)) Function F17(ByVal A, ByVal B) As Integer If (A > 0) And (B > 0) Then Return (F17(A- 1, B) + F17(A, B - 1)) Return (A + B) 第 7 頁 / 共 8 頁
( )24. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 7 (B) 5 (C) 4 (D) 3 Console.WriteLine(FNackermann(1, 2)) Function FNackermann(ByVal m As Integer, ByVal n As Integer) As Integer If m = 0 Then Return n + 1 If n = 0 Then Return FNackermann(m - 1, 1) If (m > 0 And n > 0) Then Return FNackermann(m - 1, FNackermann(m, n - 1)) ( )25. 執行下列 Visual Basic 程式片段, 輸出結果為何? (A) 04 (B) 40 (C) 22 (D) 20 Dim checka, checkb, comanswer(3) As Integer Dim Str As String Str = "5612" checka = 0 checkb = 0 comanswer(0) = 5 : comanswer(1) = 6 : comanswer(2) = 2 : comanswer(3) = 1 For i = 0 To 3 For j = 0 To 3 If comanswer(i) = Val(Mid(Str, j + 1, 1)) Then If i = j Then checka += 1 checkb += 1 Console.Write(checkA) Console.WriteLine(checkB) 第 8 頁 / 共 8 頁