【技藝競賽試題】
【D】01.下列程式執行後,z的值為何?
(A)54321 (B)5123233 (C)51234 (D)5321211。[96技競]
Dim x, z
As String
x = "4321":
z = "5"
For i = 3
To 1 Step -1
z = z + Right(x, i)
Next i
Print z
i |
x |
z |
i |
x |
z |
|
4321 |
5 |
2 |
21 |
532121 |
3 |
321 |
5321 |
1 |
1 |
5321211 |
【B】02.下列程式執行的結果? (A)21 (B)18 (C)26 (D)17。[97技競]
X = 6: Y = 7: Z = 8
X = X + 1: Y = Y - 2: Z = X + Y → X = 7: Y = 5: Z = 12
Call SUBADD(X, Y, Z)
Print X + Y + Z → 3 + 6 + 9 = 18
Sub
SUBADD(A, B, C)
A = A - 4: B = B
+ 1: C = A + B → A = 3: B = 6: C = 9
End Sub
【C】03.若一VB程式如下,執行主程式Main(),其結果會印出變數a的值為
(A)-1 (B)0 (C)1 (D)2。[97技競]
Private
Sub Good(s As Integer)
s = s + 1 → 0 + 1 = 1
End Sub
Private
Sub Bad(ByVal t As Integer)
t = t - 2 → 1 - 2 = -1
End Sub
Private
Sub Main()
Dim a As Integer
a = 0
Call Good(a) → 1
Call Bad(a) → 1
Print a → 1
End
【A】04.計算一個學生國文(CHI)、英文(ENG)和理化(PAC)成績的平均分數(以四捨五入法取至小數點後第二位),下列運算式何者正確? (A)AVG = Int(((CHI + ENG + PAC) / 3
+ 0.005) * 100) / 100 (B)AVG = Int((CHI + ENG + PAC) / 3 * 100) / 100 (C)AVG = Int(((CHI
+ ENG + PAC) / 3 + 0.05) * 100) / 100 (D)AVG = Int((CHI + ENG + PAC) / 3 + 0.005)
* 100 / 100。[97技競]
【B】05.下列何者可模擬擲骰子出現之點數?
(A)Rnd(6) (B)Int(6*Rnd(X))+1 (C)Int(Rnd(6))+1 (D)Int(6*Rnd(X))。[97技競]
(A)0 <=
Rnd(6) < 1。(B)Int(6 *
Rnd(X)) + 1整數1~6。(C)Int(Rnd(6)) + 1整數1。(D)Int(6
* Rnd(X))整數1~5。
【D】06.下列有關BASIC敘述何者錯誤?
(A)Print Right$("ABCD", 2)的結果為CD
(B)Print Sgn(-90) * Abs(-90)的結果為-90
(C)Print Cint(3.75) + Sqr(9)的結果為7
(D)Print Int(-7.85) + Fix(7.85)的結果為0。[97技競]
Int(-7.85)
+ Fix(7.85) = (-8) + 7 = -1
【D】07.下列程式之輸出結果為何? (A)DDCCBBAA (B)ABCDDCBA (C)AABBCCDD
(D)DDDCDBDA。[97技競]
A$ = "ABCD": s$ = ""
SL% = Len(A$) → 4
For I% =
SL% To 1 Step -1
s$ = s$ + Right$(A$, 1) + Mid$(A$,
I%, 1)
Next I%
Print s$
I% |
s$ |
I% |
s$ |
4 |
DD |
2 |
DDDCDB |
3 |
DDDC |
1 |
DDDCDBDA |
【B】08.執行下列Visual Basic程式片段後,副程式subP()執行了幾次?
(A)1 (B)2 (C)3 (D)5。[98技競]
Private
Sub Form_Activate()
Dim x As Integer
Dim y As Integer
x = 15: y = 2
For i = 1 To x
If x > y Then
x = x - y
Else
Call subP(x, y)
End If
Next i
End Sub
Private
Sub subP(x As Integer, y As Integer)
x = x + 30: y =
y * 3
End Sub
x = 1, y =
2與x = 1, y = 6,執行2次
【A】09.下列程式之Print a的結果為何?
(A)10 (B)20 (C)30 (D)5。[98技競]
Private
Sub Form_Activate()
a = 10
Call subP((a), (a)) → 傳值呼叫,主、副程式的引數不共用記憶體位址
Print a → 10
End Sub
Private
Sub subP(x As Integer, y As Integer)
x = x + y → 10 + 10 = 20
Print x, y → 20 10
b = x + y → 20 + 10 = 30
Print x, y → 20 10
End Sub
【A】10.執行下列Visual Basic程式片段,請問輸出的結果為何? (A)STUVW
(B)QRSTU (C)SRTUV (D)UVWXY。[98技競]
X$ =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Y$ =
Mid$(X$, 6, 18) →
"FGHIJKLMNOPQRSTUVW"
Z$ =
Right$(Y$, 5) →
"STUVW"
Print Z$
【D】11.在Visual Basic程式中執行Print Chr$(Asc("H") + 3,則輸出的資料為 (A)H (B)I (C)J (D)K。[98技競]
Chr$(X)與Asc(X$)互為反函數,Chr$(Asc("H")
+ 3為H後第3個字元K
【B】12.執行下列Visual Basic程式後的輸出結果為 (A)0 (B)1 (C)2 (D)3。[98技競]
Dim n(1 To 5) As Integer, max_index As Integer
Dim i As Integer, max As Integer
max = 0: Randomize
For i = 1 To 5
n(i) = Int(Rnd()
* 1) + 1 → n(i)之值為0或1
If n(i) > max
Then → 1 > 0
max = n(i) → 1
max_index = i - 1
End If
Next i
Print max
【D】13.若一VB程式如下,則呼叫Test(1,
-4, 3)會得到結果為 (A)0 (B)1 (C)2 (D)3。[99技競]
Private
Function Test(a, b, c) As Single
Test = ((-b) + (b ^ 2 - 4 * a * c) ^
0.5) / (2 * a)
End
Function
Test = ((-
4) + ((- 4) ^ 2 - 4 * 1 * 3) ^ 0.5) / (2 * 1) = 3
【D】14.甲校18位男同學與乙校18位女同學準備到陽明山進行聯誼活動,若男同學們打算以抽籤的方式(籤號為1~18)來決定每人要騎摩托車載哪一位女同學上山。假設使用Visual
Basic的Rnd()函數可產生不重複的亂數,請問重複執行下列哪一個敘述可模擬上述抽籤的動作?
(A)Print Sqr(9) * Rnd() * 2 (B)Print Rnd() * 18 (C)Print Rnd() * Int(-18.2) *
-1 (D)Print Int(Rnd() * 18) + 1。[99技競]
(A)Sqr(9)
* Rnd() * 2 = 3 * Rnd() * 2產生0~5的數值
(B)Rnd() *
18產生0~17的數值
(C)Rnd() *
Int(-18.2) * -1 = Rnd() * -19 * -1產生0~18的數值
(D)Int(Rnd()
* 18)+1產生1~18的整數
【A】15.若想將以下程式片段,達成四捨五入到整數位的效果(f值為正數),請問空白處應填入何值?
(A)0.5 (B)0.49 (C)0.4 (D)0.9。[99技競]
Dim f As
Double
Print
Int(f + ____)
【D】16.以下敘述何者有誤? (A)Int(x/2) = x/2,此判別式可以判斷x值是否為偶數
(B)Chr$(Asc("A") + 1)之值為"B"
(C)Abs(Fix(Rnd * -1))之值必為0
(D)Abs(Int(Rnd * -1))之值必為1。[99技競]
Abs(Int(Rnd
* -1)) = Abs(0或-1) = 0或1
【B】17.Visual
Basic程式中,執行Print Len(Str$(123))之結果為何? (A)3 (B)4 (C)123 (D)執行錯誤。[99技競]
Len(Str$(123))
= Len("△123")
= 4
【B】18.下列程式三個變數A、B、C,要找出其中最大值,則必須在空格處填入
(A)A > B (B)C > A (C)B > C (D)C > B。[100技競]
If B >
A Then Swap(A, B)
If ____ Then Swap(A, C)
Print A
Sub
Swap(ByRef A, ByRef B) → 傳址呼叫,主、副程式的引數共用記憶體位址
Dim T As Integer
T = B: B = A: A = T
End Sub
【D】19.執行下列BASIC程式,其C結果為何? (A)2 (B)4 (C)5 (D)26。[101技競]
Dim A, B, C As Integer
A = 1: B = 1
C = F(A, F(A, F(A, B)))
Function F(ByVal X As Integer,
ByVal Y As Integer) As Integer
F = X ^ 2 + Y ^ 2
End Function
F(1, 1) = 1 ^ 2 + 1 ^ 2 = 2
F(1, 2) = 1 ^ 2 + 2 ^ 2 = 5
F(1, 5) = 1 ^ 2 + 5 ^ 2 = 26
【A】20.「遞迴」程序會呼叫自己的程序,下列程序,使用遞迴來計算F1(4)為何? (A)16 (B)5 (C)10 (D)29。[101技競]
Function F1(ByVal n As Integer) As Integer
If n <= 1 Then
F1 = 1
Else
F1 = F1(n - 1) + F1(n - 2) + n
End If
End Function
F1(2) = F1(1) + F1(0) + 2 = 1 + 1 + 2 = 4
F1(3) = F1(2) + F1(1) + 3 = 4 + 1 + 3 = 8
F1(4) = F1(3) + F1(2) + 4 = 8 + 4 + 4 = 16
【A】21.執行下列BASIC程式,其A, B結果為何? (A)0, 4 (B)4, 0 (C)0, 0
(D)4, 4。[101技競]
Dim A, B, answer(3) As Integer
Dim Str As String
Str = "6710": A = 0: B = 0
answer(0) = 1: answer(1) = 0: answer(2) = 6: answer(3)
= 7
For i = 0 To 3
For j = 0 To 3
If answer(i) = Val(Mid(Str, j + 1,
1)) Then
If i = j Then
A = A + 1
Else
B = B + 1
End If
End If
Next
Next
變數A是計算answer(i)與Str兩者數字相同且位置相同的個數,變數B是計算兩者數字相同但位置不同的個數。
【其他試題】
【A】01.執行下列BASIC的運算式,何者的結果為1? (A) 2 * 2 -
CINT(2.52) (B)SQR(INT(8.5) - 8) (C)FIX(1 * RND) (D)2 - RND。
(A)取四捨六入五成雙的整數。2 * 2 - CINT(2.52) → 2 * 2 - 3 → 4 - 3 → 1
(B)SQR(INT(8.5) - 8) → SQR(8 - 8) → SQR(0) → 0
(C)RND產生0到1之間的隨機亂數。可用Randomize產生種子值,使每次執行產生不同的亂數。FIX取整數部分,不做四捨五入。
FIX(1 * RND) → FIX(1 *
0.7055475) →
FIX(0.7055475) → 0
(D)2 - RND → 2 - 0.7055475 →
1.2944525
【C】02.若Print Asc("A")的執行結果為65,則Print
Chr$(90)的執行結果是什麼? (A)90
(B)0 (C)Z (D)2。
【A】03.計算一個學生國文、英文和計概成績的平均分數(以四捨五入法取至小數點後第二位),下列運算式何者正確? (A)AVG = Int(((CHINESE + ENG + BCC)
/ 3 + 0.005) * 100) / 100 (B)AVG = Int((CHINESE + ENG + BCC) / 3 * 100) / 100 (C)AVG
= Int(((CHINESE + ENG + BCC) / 3 + 0.005) * 100 / 100) (D)AVG = Int((CHINESE + ENG
+ BCC) / 3 + 0.05 * 100) / 100。[82商業北夜]
【A】04.X
= INSTR("PLANNING", "NN"),則X值為 (A)4 (B)0 (C)5 (D)7。[84工業夜]
【A】05.在Basic語言中,運算式16 / 4 - 2 ^ 5 * 8 MOD 7 + 20之值為何?
(A)20 (B)21 (C)25 (D)18。[85商業]
16 / 4 - 2
^ 5 * 8 MOD 7 + 20 = 16 / 4 - 32 * 8 MOD 7 + 20 = 4 - 4 MOD
7 + 20 = 4 - 4 + 20 = 20
【C】06.在BASIC語言中,若X
= 5678,則LEN(STR$(X))為下列何值? (A)7 (B)6 (C)5 (D)4。[85商業]
數值5678,變成字串「△5678」,5的前面有一個空格,表示正數
數值-5678,變成字串「-5678」,5的前面有一個負號
【B】07.PRINT
LEN(MID$("Civilization", 7))之結果為
(A)2 (B)6 (C)7 (D)以上皆非。[86商業南夜]
LEN(MID$("Civilization",
7)) = LEN("zation") = 6
【C】08.PRINT
LOG(EXP(3))的輸出結果為 (A)0 (B)1
(C)3 (D)-1。[87商業]
LOG與EXP互為反函數,LOG(EXP(3))
= 3
【A】09.INT(RND
* 12)所產生的整數亂數,其範圍為 (A)0到11
(B)1到12 (C)0到12
(D)1到10。[87商業]
【C】10.Basic程式中,RND(A)可產生一亂數0<=RND(A)<1,則下列何者指令可產生一介於10和25之間的整數(含10和25)? (A)10 + INT(14 * RND) (B)10 + INT(15
* RND) (C)10 + INT(16 * RND) (D)10 + INT(25 * RND) - INT(10 * RND)。[87商業北夜]
【D】11.下列Basic程式之執行結果為何?
(A)314 (B)CBD (C)BAD (D)CAD。[87商業北夜]
B$ =
"314"
FOR I = 1
TO 3
PRINT CHR$(ASC(MID$(B$,
I, 1)) + ASC("A") - ASC("1"));
NEXT I
CHR$(ASC(MID$(B$,
1, 1)) + ASC("A") - ASC("1")) = CHR$(ASC("3")
+ 65 - 50) = CHR$(52 + 65 - 50) = CHR$(67) = ("C")
CHR$(ASC(MID$(B$,
2, 1)) + ASC("A") - ASC("1")) = CHR$(ASC("1")
+ 65 - 50) = CHR$(50 + 65 - 50) = CHR$(65) = ("A")
CHR$(ASC(MID$(B$,
3, 1)) + ASC("A") - ASC("1")) = CHR$(ASC("4")
+ 65 - 50) = CHR$(53 + 65 - 50) = CHR$(68) = ("D")
【D】12.若要刪除A$字串左邊的第一個字元,其Basic敘述為 (A)AS = MID$(A$, 1, 1) (B)A$ =
LEFT$(A$, 1) (C)A$ = RIGHT$(A$, 1) (D)A$ = RIGHT$(A$, LEN(A$) - 1)。[88工設]
【D】13.根據下列Basic敘述,何者可隨機產生一個從11到99的正整數亂數值?
(A)PRINT INT(98 * RND) + 10 (B)PRINT INT(89 * RND) + 10 (C)PRINT INT(88 * RND)
+ 11 (D)PRINT INT(89 * RND) + 11。[88工設]
【B】14.假設X$ = "12",Y$ = "3",下列Basic關係運算式之值,何者為假? (A)LEN(X$ + Y$) = 3 (B)VAL(X$ + Y$) = 15 (C)LEN(X$) +
LEN(Y$) = 3 (D)VAL(X$) + VAL(Y$) = 15。[88商業]
VAL("12"
+ "3") = VAL("123") = 123
【C】15.在Basic中,INT(RND
* 100)所產生之亂數值,其範圍為何? (A)0到100 (B)1到100 (C)0到99 (D)1到99。[88商業北夜]
【A】16.在Basic中,若Y
= -17.52,則SGN(Y)之值為何? (A)-1 (B)-17 (C)1 (D)0。[88商業北夜]
【C】17.有關字串函數之敘述,下列何者錯誤? (A)PRINT
LEN("QUICKBASIC")之結果為10
(B)PRINT RIGHT$("BASIC", 2)之結果為IC
(C)PRINT MID$("BASIC", 2, 3)之結果為SI
(D)PRINT RTRIM$("ABC") + LTRIM$("DEF")之結果為ABCDEF。[88商業北夜]
MID$("BASIC",
2, 3) = "ASI"
【D】18.下列Basic程式執行結果為何?
(A)0 (B)5 (C)6 (D)11。[88資管推甄]
GREETING$
= "HAPPY NEW YEAR"
PRINT
INSTR(7, GREETING$, "Y")
【C】19.執行Basic敘述PRINT
LEN(LEFT$("computer", 10)),其結果為何? (A)computer (B)10 (C)8 (D)0。[89工設]
LEN(LEFT$("computer", 10)) = LEN("computer")
= 8
【C】20.執行Basic敘述S
= FIX(RND * 100),則S的範圍為 (A)0≦S≦100 (B)1≦S≦100
(C)0≦S≦99
(D)1≦S≦99。[89工設]
【C】21.下列有關Basic數值函數的敘述,何者錯誤?
(A)ABS(X)在求X的絕對值 (B)SQR(X)在求X的平方根
(C)EXP(X)在求X的對數值 (D)TAN(X)在求X的正切函數值。[89工設北夜]
【C】22.Basic中,執行下列INT函數之結果,何者正確?
(A)INT(-7.6)結果為-6 (B)INT(-7.6)結果為-7 (C)INT(-7.6)結果為-8 (D)INT(7.6)結果為8。[89工設北夜]
INT(7.6) = 7
【B】23.下列有關Basic副程式的敘述,何者錯誤?
(A)副程式可以呼叫另一副程式 (B)一個副程式只能被主程式呼叫1次 (C)副程式具有程式容易維護的優點
(D)副程式具有利於程式分工撰寫的優點。[89工設北夜]
【B】24.已知字元A的ASCII碼為65,則Basic敘述PRINT CHR$(ASC("A") + 1)之輸出結果為 (A)A (B)B (C)65 (D)66。[89商業北夜]
CHR$(ASC("A")
+ 1) = CHR$(65 + 1) = CHR$(66) = "B"
【A】25.下列那一個敘述可以印出十進位72的八進位值? (A)PRINT OCT$(72) (B)PRINT HEX$(72)
(C)PRINT VAL("72") (D)PRINT ASC("72")。[89資管保甄]
【B】26.在資料結構中,"stack"稱為 (A)佇列
(B)堆疊 (C)樹
(D)鏈結串列。[90教育視導]
【C】27.下列何者不是一種資料結構(Data Structure)? (A)佇列(Queue)
(B)堆疊(Stack) (C)資料庫(Database) (D)鏈結串列(Linked List)。[90教育視導]
【B】28.在資料結構中"FIFO"稱為 (A)先進後出
(B)先進先出 (C)只進不出
(D)只出不進。[90教育視導]
【B】29.系統在處理遞迴函數呼叫時,常需要何種資料結構來輔助? (A)佇列(queue) (B)堆疊(stack) (C)樹(tree) (D)鏈結串列(linked list)。[90教育視導]
【A】30.在資料結構中"LIFO"稱為 (A)後進先出
(B)先進先出 (C)只進不出
(D)只出不進。[90教育視導]
【A】31.在資料結構中,"Queue"稱為 (A)佇列
(B)堆疊 (C)樹
(D)鏈結串列。[90教育視導]
【A】32.下列那項非堆疊事例? (A)排隊買票
(B)堆積木 (C)蓋房子
(D)堆盤子。[90教育視導]
【C】33.堆疊資料型態的基本特性是 (A)只進不出
(B)先進先出 (C)先進後出
(D)只出不進。[90教育視導]
【A】34.在堆疊中,所有的新增和刪除的操作 (A)均在同一端完成 (B)均在不同的兩端完成
(C)必須在中間段完成 (D)在何處完成沒有限制。[90教育視導]
【B】35.在佇列中,所有的新增和刪除的操作 (A)均在同一端完成 (B)均在不同的兩端完成 (C)必須在中間段完成 (D)在何處完成沒有限制。[90教育視導]
【綜合題】
【題目1】執行Print Int(-7 / 3) * 3的輸出結果為?
Int取小於等於的最大整數
Int(-7 / 3) * 3 = Int(-2.333) * 3 = -3 *
3 = -9
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。