102下期末考 程式語言題庫答案
註: 題庫中 1-120 中有抽掉幾題, 但題號並無重新排,題目沒有的題號,答案也相對沒有!
答案
1.A 2.C 3.C 4.C 5.D 6.D 7.B 8.A 9.C 10.B
11.C 12.D 13.D 14.B 15.A 16.C 17.D 18.C 19.C 20.B
21.D 22.B 23.B 24.B 25.D 26.A 27.D 28.C 29.A 30.D
31.C 32.B 33.C 34.A 35.C 36.D 37.A 38.C 39.C 40.D
41.A 42.A 43.D 44.A 45.C 46.B 47.D 48.A 49.B 50.A
51.C 52.C 53.A 54.A 55.(1 56.C 57.A 58.D 59.B 60.B
61.C 62.A 63.D 64.C 65.D 66.B 67.C 68.B 69.C 70.A
71.A 72.A 73.B 74.B 75.D 76.A 77.A 78.C 79.C 80.A
81.D 82.B 83.A 84.C 85.D 86.C 87.A 88.D 89.C 90.D
91.B 92.A 93.A 94.C 95.A 96.B 97.B 98.C 99.D 100.A
101.D 102.C 103.B 104.D 105.A 106.B 107.C 108.A 109.C 110.D
111.B 112.C 113.D 114.A 115.D 116.B 117.C 118.C 119.A 120.B
解 析
1.Int(- 13.2)= - 14
(A)Fix(- 14.3)= - 14
(B)Abs(- 13.2)= 13.2
(C)Fix(- 13.2)= - 13
(D)Sqr(13.2)=
5.
7.編譯器無法修正原始程式的錯誤語法,須由程式設計師手動修正
9.Asc(Right(Left(Mid("LinsanityIsJeremyNotJerome",4,8),6),2))
Asc(Right(Left(" sanityIs", 6),2))
Asc(Right(sanity,2))
Asc(ty) → 即取 ”t” 的ASCII碼→116
10.
13.
14.
15.Left("access",1)+ Choose(3,"i","si","pp","imp")+ Right("grill",1)+ Mid("next",2,1)
= "a" + "pp" + "1" + "e" = "apple"
17.姓名為屬性
18.Left("20110501",6)+ "月" + Left("20110501",8)+ "日" = "201105 月20110501日"
Mid("20110501",6,1)+ "月" + Mid("20110501",8,1)+ "日" = "5月1日"
Right("20110501",3)+ "月" + Right("20110501",1)+ "日" = "501月1日"
20.(B)DimARP1(2),ARP1(10,20)中,ARP1重複宣告
22.BMI = 65 /(170 / 100)^2 = 22.49134
25.(a=2)<(b=3)成立執行then內的敘述c=4,case 1、case 2、case 3皆不符合,則跳至End select下一行End If,故沒有輸出
27.JAVA為物件導向語言
28.Private Sub Form_Activate( )
Dim X ,Y, Z As Integer
X = 5 : Y = 6 : Z = 2
P = (A + B) ^C
End Function
因參數X、Y、Z依序傳變數位址給參數A、B、C,
故A為5、B為6、C為2,
函數傳回值 = (A + B) ^C = (5 + 6)^2 = 112 = 121
29.(B)第一個字只能為英文及中文
(C)第一個字只能為英文及中文
(D)第一個字只能為英文及中文
31.x、y 為傳址,z為傳值
test(a,a,a)Þx、y 與a 共同位址,z則沒有
x = x + y = 3 + 3 = 6
y = x + y + z = 6 + 6 + 3 = 15(因x、y與a 共同位址)
返回a = 15
32.Visual Basic中,位元組資料型態用來儲存正整數,故最大數字為28 - 1 = 255
34.因為10>=10 And 4<6成立,執行Print "Happy",印出Happy,再執行Print "Brithday",故接著印出Birthday,則結果為HappyBirthday
36.VB 6.0:布林占用2個Bytes、單精準度浮點占用4個Bytes、長整數占用4個Bytes、日期時間占用8個Bytes
VB 2010:布林占用2個Bytes、單精準度浮點占用4個Bytes、長整數占用8個Bytes、日期時間占用8個Bytes
38.Const A As Long = 100000,因為As Long,故為長整數常數
40.因為A被宣告成A為2的常數,當執行A = B,試圖改變常數A時,就會產生錯誤
42.如何產生M~N(M<N)之間的整數隨機亂數,公式Int(Rnd* (N-M+1) )+M,其中Int(100 ´ Rnd+1),則M=1,而N-M+1=100→N=100,故產生的亂數範圍為1~100間的整數
43.N=((- 1)^2*15) Mod 24.5/2.5=5
上述Case皆不符合,故執行Case Else Print "?"
44.利用Int來實現四捨五入的方法。設m為實數,要取到小數第n位四捨五入的公式為
X=(Int(m*10^n)+0.5)/(10^n)
51.
54.因A為整數,A = 2.5Þ2,故A > 2 不成立,印出A、B為2 5
56.6 > 5 OR 4 > 5 Þ T or FÞT成立,執行Print "A"
60.
63.B > 1 成立,A < 1不成立,執行C = 4
65.5 Mod 2 = 0 不成立,10 Mod 2 = 0 成立執行b = b + 2 = 10 + 2 = 12
67.X = 5 \ 2,執行Case 2,Print "medium"
68.原始程式檔直接由編譯器讀取
72.
74.
75.使用(D)代入
For I = 18 To 10 Step - 2
Print "*"
Next I
76.
80.
81.測試答案D
84.
86.
87.一個程式中不可以有多個名稱相同的物件
88.大型應用程式的開發不適合使用低階語言
91.
跳出迴圈執行Print n - 1,故為7
93.從程式來看power = power*X被執行3次,故power = X3 = 8,故X = 2
95.第一個字只能是英文字母或中文
105.因機械指令皆由0和1所組成
109.從1加至100的總和==5050
112.組合語言屬於低階語言
116.本程式為產生100個亂數,其值只有0,4,8,12,且為偶數,原因如下:Int (Rnd*59)可產生介於0到58的整數,而這些數值以二進位來看,至少需要用6個bits(xxxxxx)(2)來表示。產生後再與12(10) = (1100)2進行AND邏輯運算。
AND運算為兩個bits都是1時,結果才是1。
因此這個結果00xx00中,不是000000(2) = 0就是000100(2) = 4 或是001000(2) = 8,再不然就是001100(2) = 12,因此本題所產生的100個亂數中,只會出現0,4,8,12這四個數值
117.S = A^B + Abs(A - B)= 2^3 + Abs(2 - 3)
= 8 + Abs(-1)= 8 + 1 = 9
118.產生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
120.(A)FIX(5.8) = 5 (C)RND(5.8)= 不確定的隨機亂數
(D)SGN(5.8)= 1