【四技試題】
【C】01.下列哪一個Visual Basic的運算式執行後,可以獲得"5月1日"的結果? (A)Left("20110501",
6) + "月" + Left("20110501", 8) + "日"
(B)Mid("20110501", 1, 6) + "月" +
Mid("20110501", 1, 8) + "日" (C)Mid("20110501", 6, 1) +
"月" +
Mid("20110501", 8, 1) + "日" (D)Right("20110501", 3) +
"月" +
Right("20110501", 1) + "日"。[100商業]
Left("20110501",
6) + "月"
+ Left("20110501", 8) + "日" = "201105月20110501日"
Mid("20110501",
1, 6) + "月"
+ Mid("20110501", 1, 8) + "日" = "201105月20110501日"
Mid("20110501",
6, 1) + "月"
+ Mid("20110501", 8, 1) + "日" = "
Right("20110501",
3) + "月"
+ Right("20110501", 1) + "日" = "50
【A】02.在Visual Basic中,下列字串運算的結果為何?Left("access",
1) + Choose(3, "i", "si", "pp", "imp")
+ Right("grill", 1) + Mid("next", 2, 1)
(A)"apple" (B)"asign" (C)"sign"
(D)"simple"。[100管理]
Left("access", 1) + Choose(3, "i",
"si", "pp", "imp") + Right("grill", 1)
+ Mid("next", 2, 1) ="a" + "pp" + "l" +
"e" = "apple"
【B】03.請問下列程式於Visual Basic執行運算後,所得100個數值之陳述,何者正確? (A)都是奇數,且是介於0至12之間 (B)都是偶數,且是介於0至12之間 (C)都是奇數,且是介於12至70之間 (D)都是偶數,且是介於12至70之間。[101商業]
Dim i As Integer
For i = 1 To 100
Print(Int(Rnd
* 59) And 12);
Next i
Int(Rnd
* 59)產生0~58之間的整數
00000000000001002
= 410
00000000000010002
= 810
00000000000011002
= 1210
【C】04.小寫英文字母"a"的ASCII值為97,請問Asc(Right(Left(Mid("LinsanityIsJeremyNotJerome",
4, 8), 6) ,2))於Visual Basic執行運算後,所得之結果為何? (A)110 (B)115 (C)116 (D)121。[101商業]
Asc(Right(Left(Mid("LinsanityIsJeremyNotJerome",
4, 8), 6), 2)) = Asc(Right(Left("sanityIs"), 6), 2)) = Asc(Right("sanity",
2)) = Asc("ty") = 116
【C】05.執行完下列Visual Basic的Form_Activate程式後,印出結果為何? (A)P(5, 6, 2) (B)11
(C)121 (D)562。[101管理]
Private Sub Form_Activate()
Dim X, Y, Z As
Integer
X = 5: Y = 6: Z = 2
Print P(X, Y, Z) → P(5, 6, 2) → 印出121
End Sub
Function P(A, B, C) → P(5, 6, 2)
P = (A + B ) ^
C → (5 + 6) ^ 2 = 121
End Function
【C】06.下列Visual Basic程式片段執行後,變數c之值為何? (A)1 (B)2 (C)3 (D)4。[102商業]
Dim s As String =
"Apocalypse"
Dim t As String =
"aeiou"
Dim d As String
Dim c, i, j As Integer
For i = 1 To Len(s)
d = Mid(s, i, 1)
j = 1
While j <= Len(t)
If Mid(t, j, 1) = d Then → 比較s、t兩字串相同的字母有3個:o、a、e
c = c + 1: Exit While
End If
j = j + 1
End While
Next i
【C】07.執行下列Visual Basic程式碼片段後,請問變數data(1), num1, num2的值依序是多少? (A)1, 5, 6 (B)9, 7, 9 (C)9, 5, 16
(D)3, 7, 16。[103商業]
Module Module1
Sub
Main()
REM程式由此開始執行
Dim data() As Integer =
{1, 3, 5, 7, 9} → data(0)=1,data(1)=3,data(2)=5,data(3)=7,data(4) = 9
Dim num1, num2 As Integer
num1
= data.Length → num1 = 5個元素
num2 = data(4) → num2 = 9
num2 = Processing(data, num1) → num2 = 16
End
Sub
Function
Processing(ByRef data() As Integer, ByVal num1 As Integer)
data(1) = data(1) ^ 2 → data(1) = 3 ^ 2 = 9 (傳址呼叫,保留值)
num1 = data(3) → num1 = 7 (傳值呼叫,不保留值)
Processing = (num1 + data(1)) → processing = 7 + 9 = 16 (覆蓋7: num2 = 9)
End
Function
End Module
【B】08.一般在Visual Basic程式語言中,亂數函數RND()可以用來產生什麼數值? (A)True或者是False的邏輯 (B)0到1間的亂數 (C)RGB的顏色像素 (D)12字元的密碼內容。[104資電]
RND():產生0 ≦ Rnd() < 1的亂數
【A】09.下列Visual Basic的自訂函數,主程式執行S(4)傳回的值為何? (A)abbab
(B)ababb (C)babba (D)babab。[106商業]
Function S(K As Integer) As String
If K= 0 Then Return
"a" ElseIf K= 1
Then Return
"b" Else Return S(K
- 2) & S(K - 1) End If |
S(0) = "a" S(1) = "b" S(2) = S(0) + S(1) =
"ab" S(3) = S(1) + S(2) =
"bab" S(4) = S(2) + S(3) =
"abbab" |
End Function
【B】10.執行下列Visual
Basic程式片段後,變數X的值為何? (A)0 (B)1 (C)2 (D)4。[107商業]
Dim X, Y As Integer
X = 4
Y = Math.Sqrt(X) → Y = 2 (Sqrt求平方根)
Select Case Y
Case 1, 3
X = Fix(Y / 5)
Case 2, 4
X = Math.Sign(Y) → X = 1 (Sign判斷正值、負值或零)
End Select
【A】11.在Visual
Basic中,假設我們有以下一個使用者自訂函數A,若主程式呼叫A(5),則回傳的值為何?
(A)1 (B)3 (C)5 (D)11。[107商業]
Function A(ByVal K As Integer) As Integer
If K < 4 Then Return K
Else Return A(K - 1) - A(K - 2) + A(K - 3)
End If |
A(1) = 1,A(2) = 2,A(3) = 3 A(4) = A(3) - A(2) + A(1) = 3 - 2 + 1 = 2 A(5) = A(4) - A(3) + A(2) = 2 - 3 + 2 = 1 |
End Function
【A】12.考慮計算正整數n階乘(n!)的遞迴演算法,若遞迴結束條件為n等於1時,下列何者為該演算法所需之乘法數量? (A)n-1 (B)n+1
(C)n/4 (D)n/8。[113管理]
【二技試題】
【D】01.某程式能計算某函數f(n)的值。若f(n)的特性是:當n > 1時,f(n) = n * f(n - 1);當n = 1時,f(n) = 1。請問該程式計算出f(5)的值應該是 (A)1 (B)5 (C)60 (D)120。[90護理]
f(5) = 5 * f(4) = 5 * 24 = 120
f(4) = 4 * f(3) = 4 * 6 = 24
f(3) = 3 * f(2) = 3 * 2 = 6
f(2) = 2 * f(1) = 2 * 1 = 2
f(1) = 1
【B】02.BASIC程式語言的字串函數中,Mid$("abcxyz", 3, 2)之執行結果為 (A)bcx (B)cx (C)cxy
(D)bc。[90護理]
Mid$("abcxyz", 3, 2) = cx,從第三個字元開始取2個字元。
【C】03.先進後出(First in last out)的資料結構為何? (A)樹(tree) (B)佇列(queue) (C)堆疊(stack) (D)串列(link list)。[91電機]
【C】04.下列有關堆疊(stack)及佇列(queue)的敘述,何者不正確? (A)堆疊的特性是「後進先出」;佇列的特性是「先進先出」 (B)多工的作業系統常常利用佇列來記錄各個程序(process)的資訊 (C)程式語言的直譯器需要使用佇列來記錄函數(function)呼叫時的資訊 (D)串列(linked list)可以用來模擬疊與佇列的功能。[91管理]
05.以下為Visual Basic中一個『命令按鈕』的程式片段,(注意:數字3的ASCII碼以十六進位表示成33)
Private SubCommand1_Click()
n1 = 33: n2 = 33
s1 = Asc(n1): s2 = Str(n2)
Print "s1 ="; s1
Print "s2 ="; s2
End Sub
【C】05-1在按了一下該『命令按鈕』並執行上面的程式片段後,請問Print "s1 =";
s1敘述的結果是下列哪一項? (A)s1 = 21 (B)s1
= 33 (C)s1 = 51 (D)s1 = 333335。
s1 = Asc(n1) = Asc(33) = 51
【B】05-2.續上題,請問Print
"s2 ="; s2敘述的結果是下列哪一項? (A)s2
= 21 (B)s2 = 33 (C)s2 = 51 (D)s2 = 3333。[91護理]
s2 = Str(n2) = Str(33) = 33
【C】06.下列關於巨集(macro)與副程式(subroutine)之敘述,何者錯誤? (A)兩者皆只需定義一次 (B)兩者皆可在程式中不同的地方引用 (C)巨集指令能力的提供完全取決於CPU指令集,與組譯程式無關 (D)程式與副程式之間的連繫,通常使用堆疊(stack)來完成。[92電子]
【B】07.以堆疊(stack)和後序式(postfix)來進行下列運算A×(B+C)+E/(F-G),若堆疊只用於存放運算元(operands),則此堆疊容量最少須可儲存多少筆運算元,才能執行無誤? (A)3 (B)4 (C)5 (D)6。[92電機]
【B】08.使用堆疊(stack),並可用任意交叉方式進行堆入(push)及拉出(pop)的動作,當資料的輸入順序為1, 2, 3, 4, 5, 6,則資料的取出順序不可能為下列何者? (A)3, 2, 1, 4, 5, 6
(B)3, 4, 1, 2, 5, 6 (C)1, 3, 2, 5, 4, 6 (D)3, 2, 5, 6, 4, 1。[92管理]
【C】09.具有先進先出(first in first out)特性的資料結構為何? (A)堆積結構(heap) (B)樹狀結構(tree) (C)佇列結構(queue) (D)堆疊結構(stack)。[92護理]
【A】10.下列何者不是副程式參數傳遞法? (A)傳向量呼叫法(call-by-vector) (B)傳值呼叫法(call-by-value) (C)傳名呼叫法(call-by-name) (D)傳址呼叫法(call-by-address)。[93電機]
【C】11.下列有關Visual Basic語言副程式與函數的敘述,何者不正確? (A)副程式內可以使用全域變數 (B)函數內可以使用全域變數 (C)副程式可以回傳一個值給呼叫它的程式 (D)函數可以回傳一個值給呼叫它的程式。[93管理]
函數可以回傳一個值給呼叫它的程式。
【C】12.系統在處理遞迴(recusive)程序呼叫與返回時,最常使用下列何種資料結構? (A)圖形(graph) (B)佇列(queue) (C)堆疊(stack) (D)樹(tree)。[93管理]
【C】13.在資料結構中,試問堆疊(stack)之主要特性為何? (A)FOLO (B)FIFO (C)LIFO
(D)LILO。[93護理]
【B】14.原始符號A, B, C, D, E, F依序經由一個堆疊(stack)後或直接輸出,下列何者不可能為其輸出?(下列輸出之順序由左至右) (A)ABCDEF (B)CBDFAE
(C)BAEDFC (D)DECFBA。[94電機]
【C】15.假設整數a之初始值為3,則執行Visual Basic的call test(a, a, a)敘述(statement),呼叫下列副程式回到主程式後,a之值為何?
Sub test(ByRef x As Integer, ByRef y As Integer, ByVal
z As Integer)
x = x
+ y
y = x + y + z
End Sub (A)3 (B)12 (C)15 (D)18。[94管理]
x、y為傳址呼叫,z為傳值呼叫,故x、y與A共同記憶體位址。x = x + y = 3 + 3 = 6。y = x + y + z = 6 + 6
+ 3 = 15,故a值為15。
【A】16.程式中用LIFO(last in first out)方式來處理程序呼叫與返回的資料結構,是下列哪一種? (A)堆疊(stack) (B)指標(pointer) (C)陣列(array) (D)佇列(queue)。[94護理]
【D】17.下列有關副程式(subroutine)與巨集(Macro)的描述,何者正確? (A)副程式會降低程式的可讀性 (B)副程式較巨集更浪費記憶體空間 (C)副程式執行速度較巨集為快 (D)副程式涉及執行階段時控制權的轉移。[95電子]
【D】18-1.有一遞迴程序(recursive procedure)如下所示,則FIB(5)之值等於多少? (A)2 (B)3 (C)4 (D)5。
Recursive Procedure FIB(n)
Begin
If n = 0, FIB
= 0
If n =
1, FIB = 1;
else FIB(n) = FIB(n - 1) + FIB(n - 2)
End
【C】18-2.承前題,計算FIB(5)之值需呼叫(call)此一程序(procedure)多少次? (A)13 (B)14 (C)15 (D)16。[95電機]
FIB(5) = FIB(4) + FIB(3) = 3 + 2 = 5
FIB(4) = FIB(3) + FIB(2) = 2 + 1 = 3
FIB(3) = FIB(2) + FIB(1) = 1 + 1 = 2
FIB(2) = FIB(1) + FIB(0) = 1 + 0 = 1
【A】19.使用最大堆積(heap)儲存數值資料,在此資料結構中搜尋最大數的時間複雜度為何? (A)O(1)
(B)O(n) (C)O(log n) (D)O(n2)。[95管理]
【B】20.下列何者不是堆疊(stack)經常之應用? (A)系統狀態回溯(backtracking) (B)資料排序(sorting) (C)輸入字串資料反轉(reversing) (D)運算式表示法轉換(transform)。[95管理]
【B】21.堆疊(stack)的動作為一種先進後出(FILO)的行為,已知堆疊的初始內容為{s, f},頂端指向s,請問經一連串的動作【pop( ), push(a), pop( ),
push(x), push(w)】且無發生錯誤,最後堆疊的內容為何? (A){a, x, f} (B){w, x, f} (C){a,
x, w, f} (D){x, w, s, f}。[95護理]
【C】22.在VB程式語言中,運算式A_NUM = Int(90 * Rnd) + 10,請問A_NUM之範圍為何? (A)1≦A_NUM≦90 (B)10≦A_NUM≦90 (C)10≦A_NUM≦99 (D)11≦A_NUM≦100。[95護理]
產生M ~ N(M < N)之間的整數隨機亂數,公式INT(Rnd * (N - M + 1))
+ M,比較INT(90 * Rnd) + 10,可得M = 10,N - M + 1 = 90,則N = 99,故A_NUM的範圍為10≦A_NUM≦99。
【D】23.有關巨集(macro)與副程式(subroutine)兩者之間比較,下列敘述何者正確? (A)副程式的執行速度較快 (B)呼叫巨集執行時,需做控制權轉移 (C)巨集較節省記憶器空間 (D)兩者皆可節省程式設計空間。[96電子]
【B】24.副程式執行中再呼叫其他副程式的情況,稱之為巢路副程式(nested subroutine),請問巢路深度是取決於下列何者之大小? (A)控制單元(CU) (B)堆疊(stack) (C)匯流排(bus) (D)算數邏輯單元(ALU)。[96電子]
【C】25.下列有關副程式參數傳遞的敘述,何者正確? (A)在副程式裡指定用來接收外來資料的參數,稱為實際參數(actual parameter) (B)在呼叫副程式的指令中所攜帶的參數,稱為形式參數(formal parameter) (C)若採以值傳遞(call by value)的參數傳遞方式,即使形式參數的值有所改變,亦不會影響實際參數的值 (D)若採以址傳遞(call by address)的參數傳遞方式,則實際參數與形式參數共用記憶體位置,且在副程式中,實際參數的名稱會取代形式參數的名稱。[96管理]
【B】26.若將一個16位元的位址資料推入堆疊器,則其堆疊指標(SP)之值有何變化? (A)減1 (B)減2 (C)增1 (D)增2。[97電子]
【D】27.中央處理單元(CPU)處理插斷(interrupt)時,通常採用下列何種方式來暫存資料? (A)表列(list) (B)指標(pointer) (C)佇列(queue (D)堆疊(stack)。[97電子]
【D】28.一般巨集(Macro)指令,經常被用於程式語言之設計。下列巨集之敘述何者錯誤? (A)可彌補程式之語言功能 (B)可提高程式之運算速度 (C)具有類似副程式之功能 (D)佔用較少之記憶體空間。[97電子]
【B】29.有關資料結構觀念,下列何者正確? (A)按先後順序排隊買票,是堆疊(stack)的處理觀念 (B)從鍵盤輸入的資料會先存入佇列(queue) (C)串列(linked list)可用來模擬堆疊(stack)的功能,無法模擬佇列(queue)的功能 (D)堆疊(stack)的資料結構是FIFO(first in first out)。[97管理]
【D】31.有關堆疊(stack)的敘述,何者錯誤? (A)指令PUSHA是將A中的資料推入堆疊 (B)指令POPA是將堆疊頂端的資料放回A (C)可以使用堆疊進行副程式之間的參數傳遞 (D)堆疊中資料進出的演算法為先進先出(First In First Out)。[99電子]
【B】32.關於堆疊(Stack)與佇列(Queue)的敘述,下列何者正確? (A)堆疊是後進先出(LIFO),佇列是先進後出(FILO)的串列 (B)堆疊是後進先出(LIFO),佇列是先進先出(FIFO)的串列 (C)佇列是先進先出(FIFO),堆疊是後進後出(LILO)的串列 (D)佇列是先進後出(FILO),堆疊是後進後出(LILO)的串列。[100電機]
【A】33.下列哪一種傳遞參數的方法是將實際參數的位址傳遞給副程式? (A)以址傳遞(call by address) (B)以值傳遞(call by value) (C)以參照傳遞(call by reference) (D)傳回值(return value)。[100管理]
【C】34.對一堆疊依序作下列動作push 1, push 3, pop, push 2, pop, pop,其pop的結果為何? (A)123 (B)231 (C)321 (D)213。[100管理]
【C】35.下列有關資料結構的應用,何者最不合適? (A)函數呼叫利用堆疊來達成 (B)字串反轉利用堆疊來處理 (C)稀疏矩陣利用佇列來儲存 (D)印表機的緩衝區利用佇列來處理。[100管理]
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。