• 検索結果がありません。

下載 計算機概論 淡水商工 106級電子乙 05857AT ch06

N/A
N/A
Protected

Academic year: 2018

シェア "下載 計算機概論 淡水商工 106級電子乙 05857AT ch06"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

6

重複結構

參考答案

6-1

For

Next

迴圈敘述

舉一反三

配合課本第203頁

若要計算5! = 1 × 2 × 3 × 4 × 5 ,上述程式應如何修改? 提示:sum的初始值須設 定為1,因為sum若為0,乘以任何數皆為0

解 請參考教資光碟中的方案檔 "ch6-1a_1.sln"

舉一反三

配合課本第204頁

若要計算2 + 4 + 6 + 8 + 10,上述程式應如何修改? 提示:更改i的初始值與終止 值

解 請參考教資光碟中的方案檔 "ch6-1b_1.sln"

若要將0 ~ 50中7的倍數之數值加總,上述程式應如何修改? 提示:增值為7;加總 的答案為196

解 請參考教資光碟中的方案檔 "ch6-1b_2.sln"

舉一反三

配合課本第205頁

若希望能顯示6的正因數共有多少個,上述程式應如何修改? 提示:在If…Then敘述中

加入count = count + 1,來計算個數

解 請參考教資光碟中的方案檔 "ch6-1d_1.sln"

舉一反三

配合課本第206頁

若希望計算段考成績的 及格 數,上述程式應如何修改? 提示:更改If…Then敘

述的條件式

解 請參考教資光碟中的方案檔 "ch6-1e_1.sln"

(2)

馬上練習

配合課本第207頁

( B )1. 下列Visual Basic程式片段執行後,會出現幾個#號? 

For I = 19 To 1 Step -3 Debug.Print("#")

Next I

(A)6 (B)7 (C)8 (D)9 ≒統測

( C )2. 執行下列程式後,X的值為何? 

10 S = 0 20 X = 20

30 For X = 1 To 5 40 S = S + X 50 Next X

(A)20 (B)5 (C)6 (D)15 統測

( D )3. 下列Visual Basic迴圈執行完畢後,變數k的值為何? 

For k = 1 to 10 Debug.Print(k) k = k + 2

Next k

(A)0 (B)10 (C)11 (D)13 ≒統測

( A )4. 執行下列Visual Basic語言片段程式後,S值為何? 

S = 0

For K = 1 to 4

S = S + (K Mod 2)

Next K

(A)2 (B)4 (C)6 (D)10 ≒統測

( C )5. 下列Visual Basic程式執行後,C值為何? 

C = 2

FOR I = 1 TO 10

IF I MOD 2 = 0 THEN C = C + I

NEXT I

(A)57 (B)55 (C)32 (D)30 ≒統測

(3)

下課想

2 配合課本第213頁

若 要 增 加 找 出 最 低 分 及 計 算 平 均 分 數 的 功 能 , 上 述 程 式 應 如 何 修 改 ? 提 示 : 設 定 變 數

min = 100,再利用If…Then敘述比較score是否小於min,以找出最低分;計算平均分 數的公式:sum / 5

成果預覽:

Â

解 請參考教資光碟中的方案檔 "Ans6-1a_1.sln"

6-1

練習

配合課本第213頁

一、選擇題

( D )1. 下列Visual Basic程式片段執行後,Sum值為何? 

(A)12 (B)8 (C)10 (D)6 ≒統測

Sum = 0

For I = 1 to 3 Sum = I * 2 Next I

( A )2. 執行完下列Visual Basic程式片段後,會在即時運算視窗顯示幾個星號? 

Dim A, B As Integer B = 10

For A = 1 To B Step 1

If (A MOD 2 = 0) Then Debug.Print("*")

Next A

(A)5 (B)6 (C)9 (D)10 ≒統測

(4)

( D )8. 程式 六 執行後,x的值為何? (A)1 (B)3 (C)10 (D)256 ≒技競 進階

( B )3. 下列Visual Basic程式 一 具有什麼功能? 

(A)計算1 + 2 + … + 10的總和  (B)計算1 + 4 + 7 + 10的總和 

(C)計算1 + 3 + 5 + 7 + 9的總和  (D)計算1 * 3 * 5 * 7 * 9的總和

s = 0

For i = 1 To 10 Step 3 s += i

Next MsgBox(s)

sum = 0 : a = 20 For I = 1 To 5 sum = sum * I Next I

b = a + sum

程式 一 程式 二

( B )4. 求執行程式 二 後,b值的結果為何? (A)0 (B)20 (C)120 (D)140 ≒統測

( D )5. 在Visual Basic程式 三 中,若想使程式執行完成後,i值為5,應在空白處填 入何值? (A)Exit For i = 5 (B)Exit If i = 5 (C)If i = 5 Then Exit (D)

If i = 5 Then Exit For ≒技競

Dim i

For i = 1 To 10

       

Next

N = 0

For I = 1 To 50

If I Mod 15 = 0 Then N = N + 1

End If Next I

程式 三 程式 四

( B )6. 程式 四 執行後,N值為何? 

(A)N = 2 (B)N = 3 (C)N = 4 (D)N = 5 ≒統測

( B )7. 下列程式 五 執行後,p的值為何? (A)28 (B)56 (C)70 (D)84 ≒技競

Dim i, p As Integer p = 1

For i = 1 To 5

p = p * (8 - i + 1) / i Next i

x = 1 : y = 10 For i = 1 To 2 x = x + x Next i

For i = 1 To 2 x = x * x Next i

(5)

( A )9. 執行下列Visual Basic程式 七 後,即時運算視窗顯示的結果為何 "△" 表示

空格 ? 

(A) 1

△2

△△3

△△△4

△△△△5 

(B) △1

△2

△3

△4

△5 

(C) 1 12 123 1234 12345  (D) 1 22 333 4444 55555

( D )10. 在Visual Basic語言中,若要利用程式 八 計算出(1 * 2) - (2 * 3) + (3 * 4)

-(4 * 5) + (5 * 6)的值,則空格中要填入什麼內容? 

(A)-1 + S (B)S - 2 (C)N - S (D)-1 * S ≒技競

二、多元練習題

1. 下面是2個使用For…Next敘述的程式片段,請依照提示,在空格處填上正確的起始

值 終止值或增值

(1) 計算全班40位同學的國文總平均

Dim sum, chi As Integer For i =  1  To  40 

chi = InputBox("請輸入第 " & i & " 位同學的國文成績:") sum = sum + chi

Next

MsgBox("國文總平均為:" & sum / 40)

(2) 計算1/2 + 1/4 + … + 1/10的總和

For i  = 2  To  10  Step  2 

sum = sum +  1 / i 

Next

MsgBox(sum) Dim n As String For i = 1 To 5

Debug.Print(n & i) n = n & " "

Next

T = 0 S = 1

For N = 1 To 5

T = T + S * N * (N + 1) S =       

Next N

(6)

2. 製作一個計算累加值的程式,並利用文 方塊 TextBox 讓使用者自行輸入迴圈控制 變數的起始值 終值與增減值,最後將專案儲 為 "Ans6-1b.sln"

成果預覽:

提示: (1) 在表單上佈建4個Label 標籤 4個TextBox 文 方塊 及1個Button

按鈕 控制 ,並參照上圖所示的預覽圖設定Label及Button的Text屬 性

(2) 雙按Button1控制 ,在按鈕的Click事件中撰寫程式

(3) 設定For…Next的敘述為For i = 起始值 To 終值 Step 增減值,累加結果 為sum = sum + i

解 請參考教資光碟中的方案檔 "Ans6-1b.sln"

6-2

While

End While

迴圈敘述

舉一反三

配合課本第218頁

如果要計算m的n次方,上述程式應如何修改? 提示:將迴圈內的敘述pow = pow * 2

改為pow = pow * m

解 請參考教資光碟中的方案檔 "ch6-2b_1.sln"

舉一反三

配合課本第219頁

若 要 在1 ~ n中 , 顯 示 能 被3整 除 , 但 不 能 被7整 除 的 整 數 , 上 述 程 式 應 如 何 修 改 ? 提 示:修改If…Then敘述的條件式

解 請參考教資光碟中的方案檔 "ch6-2d_1.sln"

TextBox4 Button1

(7)

馬上練習

配合課本第220頁

( B )1. 下列Visual Basic程式執行後,SUM值為何? 

(A)10 (B)20 (C)30 (D)90 ≒技競

Dim I As Integer, SUM As Integer I = 0 : SUM = 0

While I < 10 SUM = SUM + I I = I + 2 End While

( A )2. 下列Visual Basic程式執行後,S值為何? 

(A)4 (B)6 (C)8 (D)10 ≒統測

Dim S As Integer Dim I As Integer S = 0 : I = 0 While (I < 10) S = S + 1 I = I * 2 + 1 End While

( C )3. 使用Visual Basic VB 程式語言執行以下程式碼後,T值為何? 

(A)18 (B)22 (C)24 (D)25 ≒統測

T = 0 S = 1

While S <= 3 S = S + 1

T = T + S * (S - 1) End While

(8)

下課想

2 配合課本第225頁

若 要 限 制 使 用 者 只 能 猜5次 , 上 述 程 式 應 如 何 修 改 ? 提 示 : 在 迴 圈 內 利 用c o u n t值 來 計 算 使 用 者 已 猜 過 幾 次 數 , 並 在 迴 圈 的 條 件 式 加 入 當c o u n t < 5才 執 行 迴 圈 ; 新 增

If…Then…Else敘述,判斷i <> 5時,才顯示猜對的訊息

成果預覽:

Â

5次內猜對

第5次還沒猜對

解 請參考教資光碟中的方案檔 "Ans6-2a_1.sln"

6-2

練習

配合課本第225頁

一、選擇題

( A )1. 下列Visual Basic程式片段,若在輸入資料的訊息交談視窗中,輸入的數值 在下 列程式的第2行 為5,請問程式執行後,K值的結果為何? 

(A)5 (B)6 (C)0 (D)10 ≒統測

<第 1 行> K = 0

<第 2 行> Q = InputBox("輸入數值")

<第 3 行> While K < 5

<第 4 行> Q = K + 1

<第 5 行> K = K + 1

<第 6 行> End While

( C )2. 下列Visual Basic程式片段執行後,B值為何? (A)5 (B)7 (C)11 (D)15

A = 1 : B = 5 While B < 10 B = B + 2 * A A = A + 1 End While ▍

(9)

( A )3. 下列程式執行後,Z值為何? (A)1024 (B)512 (C)1000 (D)256 ≒技競

While Z <= 1000

Y = Y + 1 : Z = 2 ^ Y End While

( B )4. 右列Visual Basic程式片段具有什麼功能? 

(A)計算1 + 2 + 3 +… + 50的總和 

(B)計算1 + 2 + 3 + … + 49的總和 

(C)計算2 + 4 + 6 + … + 48的總和 

(D)計算1 + 3 + 5 + … + 49的總和 ≒技競

( B )5. 執行以下Visual Basic程式 一 ,X值為何? (A)0 (B)3 (C)6 (D)9 ≒技競

進階

Dim X, Y, Z As Integer X = 15

Y = 9

While (Y > 0) Z = X Mod Y X = Y

Y = Z End While

Dim t As Integer = 1 Dim s As Integer = 1 While s <= 3

t = s + t * (t - 1) s = s + 1

End While t = t + s

程式 一 程式 二

N = 0 : I = 0 While I < 50

If I Mod 13 = 1 Then N = N + I

End If I = I + 3 End While

X = 1 Sum = 0 While X < 20

If X < 10 Then Sum = Sum + X End If

X = X * 2 End While

程式 三 程式 四

( C )8. Visual Basic程式 四 執行後,Sum值為何? 

(A)7 (B)10 (C)15 (D)31 ≒統測

( C )6. 程式 二 執行後,t的值為何? (A)4 (B)5 (C)9 (D)24

( D )7. 執行下列Visual Basic語言片段程式 三 後,N值為何? 

(A)N = 82 (B)N = 78 (C)N = 54 (D)N = 27 ≒統測

S = 0 X = 1

(10)

( C )10. 執行Visual Basic程式 六 後,請問s值為何? 

(A)20 (B)171 (C)190 (D)380 ≒技競

二、實作題

1. 下列Visual Basic程式片段是利用For…Next迴圈敘述,將使用者輸入的數值n之正因 數,顯示在即時運算視窗中 請將程式中的迴圈敘述改以While…End While來撰寫, 最後將專案儲 為 "Ans6-2b.sln"

Dim n As Integer

n = InputBox("請輸入任一整數") For i = 1 To n

If n Mod i = 0 Then Debug.Print(i) Next

解 請參考教資光碟中的方案檔 "Ans6-2b.sln"

2. 製作一個可依據使用者輸入的繩子長度,來計算繩子需對折幾次後,長度才會小於等

於20公分的程式,最後將專案儲 為 "Ans6-2c.sln"

成果預覽:

( B )9. 執行VB程式 五 ,出現提示符號時輸入數值100,則輸出結果為: 

(A)5 (B)6 (C)64 (D)128 ≒統測

n = 0

a = InputBox("input data") While a > 0

a = a – 2 ^ n n = n + 1 End While

Debug.Print(n - 1)

Dim c As Integer Dim s As Double c = 3

s = 1

While c <= 20

s = s * c / (c - 2) c = c + 1

End While

程式 五 程式 六

TextBox1

(11)

提示: (1) 在表單上佈建3個Label 標籤 2個TextBox 文 方塊 及1個Button

按鈕 控制 ,並參照預覽圖設定這些控制 的Text屬性

(2) 雙按Button控制 ,在按鈕的Click事件中撰寫程式

解 請參考教資光碟中的方案檔 "Ans6-2c.sln"

6-3

Do…

Loop

迴圈敘述

6-3.2

後測式

Do

Loop

敘述

舉一反三

配合課本第236頁

若要將上述程式的Do…Loop While敘述改以Do Until…Loop敘述來撰寫,程式應如何 修改?

解 請參考教資光碟中的方案檔 "ch6-3h_1.sln"

舉一反三

配合課本第237頁

若要限制使用者最多只能輸入3次密碼,上述程式應如何修改? 提示:在迴圈敘述中,利

用累加i值來計算迴圈的執行次數,並加入If…Then敘述,判斷當i值 >=3 時結束程式

解 請參考教資光碟中的方案檔 "ch6-3i_1.sln"

下課想

2 配合課本第243頁

若要限制TextBox1 文 方塊 控制 必須輸入000 ~ 999三位數 ,上述程式應如何 修改? 提示:加入If…Then…Else敘述,條件式為:TextBox1.Text Like "###"

成果預覽:

Â

必須輸入三位數字

(12)

6-3

練習

配合課本第244頁

一、選擇題

( A )1. 在Visual Basic中,對於重複結構,以下何者敘述正確? 

(A)For…Next,While…End While,Do…Loop均屬於重複結構 

(B)While…End While與Do While…Loop執行過程是不相同的 

(C)Do While…Loop與Do Until…Loop執行過程是相同的 

(D)Do Until…Loop與 Do…Loop Until執行過程是相同的 ≒技競

( C )2. 如下圖所示3種流程圖,下列有關VB控制結構化程式表示法的關係,何者正確?

(A)If…Then的流程圖為X 

(B)Do…Loop While的流程圖為X 

(C)Do…Loop While的流程圖為Z 

(D)Do While…Loop的流程圖為Y 統測

基礎

( C )3. 欲利用下面Visual Basic程式計算出1 - 1 2 +

1 4 -

1 8 +

1

16的值,則Do While後面

空格中應該填入什麼內容? (A)I < 4 (B)I < 5 (C)I < 6 (D)I < 7 ≒統測

Sum = 0 I = 1 C = 1

Do While      

Sum = Sum + C C = (-1 / 2) * C I = I + 1

Loop

MsgBox(Sum)

條件 真 敘述

條件 真 敘述

假 條件

敘述

(13)

( C )4. 求執行下列Visual Basic程式後,輸出I值的結果為何? 

(A)32 (B)37 (C)42 (D)47 ≒統測

I = 32 Do

  If I > 40 Then Exit Do

  I = I + 5 Loop

( D )5. 使用Visual Basic VB 程式語言執行下列程式碼後,結果為何? 

I = 6 J = 1

Do While I <= 10 I = I + 1 J = J * I Loop

(A)J = 56 (B)J = 504 (C)J = 5040 (D)J = 55440 ≒統測

( D )6. 執行下面Visual Basic程式片段後,L值為何? (A)20 (B)75 (C)65 (D)55

L = 20

Do Until Not (L < 25 Or L >= 60) If L < 30 Then L = L + 55 If L >= 55 Then L = L - 10 Loop

( D )7. 以下的Visual Basic程式片段執行後,下列敘述何者不正確? 

Dim sum As Integer Dim number As Integer sum = 0

number = 1

Do While number < 10 sum = sum + number number = number + 1 Loop

(A)變數number被定義為整數 

(B)在迴圈中的變數number每次都累加1 

(C)在迴圈中的變數sum用來累加變數number 

(D)變數sum最後的值為55 統測

(14)

( D )8. a = 15 : b = 27 x = a : y = b Do Until a = b

If a > b Then a = a - b If a < b Then b = b - a Loop

MsgBox((x / a) & "/" & (y / a))

上述程式之執行結果為:(A)9/5 (B)0.5555 (C)1 (D)5/9 ≒統測

( A )9. 使用Visual Basic程式語言執行下列程式 一 後,Sum值為何? 

(A)10 (B)18 (C)23 (D)30 ≒統測

I = 1

Do While I < 10 Debug.Print(I) I = I + 1 Loop

I = 1

Do Until I < 10 Debug.Print(I) I = I + 1 Loop

I = 1 Do

Debug.Print(I) I = I + 1 Loop Until I < 10

解 印出1 ~ 9 解 不執行Do Until…

Loop迴圈

解 印出1

Sum = 0 J = 1

Do While J < 5

If J Mod 2 = 1 Then Sum = 3 * Sum Else

Sum = Sum + J End If

J = J + 1 Loop

A = 1 : B = 1 Do

A = A + B Select Case A

Case Is < 10: A = A * 2 Case Is > 10: A = A + 3 End Select

B = B + 1 Loop Until B > 5

程式 一 程式 二

( C )10. Visual Basic程式 二 執行後A值為何? (A)18 (B)25 (C)33 (D)42 ≒統測

二、多元練習題

(15)

2. 將兩數不斷以大數減去小數,直到兩數相等,即可得到兩數的 最大公因數 請利 用Do Until…Loop迴圈敘述來撰寫此程式,並將專案儲 為 "Ans6-3b.sln"

成果預覽:

TextBox1

TextBox2

提示: (1) 在表單上佈建2個Label 標籤 2個TextBox 文 方塊 及1個Button

按鈕 控制 ,並參照上圖所示的預覽圖設定控制 的Text屬性

(2) 雙按Button控制 ,在按鈕的Click事件中撰寫程式

(3) 宣 告n 1 n 2變 數 為 整 數 資 料 型 別 , 並 將Te x t B o x 1的 值 指 定 給n 1 TextBox2的值指定給n2

(4) 重複執行以下判斷,直到n1 = n2為止:

若n1 > n2,則n1 = n1 - n2,否則n2 = n2 - n1

(5) 利用MsgBox()函數顯示最大公因數

解 請參考教資光碟中的方案檔 "Ans6-3b.sln"

6-4

巢狀迴圈敘述

舉一反三

配合課本第249頁

如果要在文 方塊 TextBox1 中顯示 倒三角形 ,上述程式應如何修改? 提示:

設定i的初始值為5;外迴圈每執行一次,i值需減1

解 請參考教資光碟中的方案檔 "ch6-4a_1.sln"

馬上練習

配合課本第251頁

( C )1. 使用Visual Basic VB 程式語言執行以下程式碼後,即時運算視窗共輸出幾個

*? (A)8 (B)10 (C)12 (D)14 ≒統測

For I = 6 To 1 Step -2 For K = 1 To I

Debug.Print("*") Next K

Next I

(16)

( C )3. Visual Basic程式 二 執行後,S值為何? (A)38 (B)41 (C)43 (D)46 ≒技競

( B )4. 下列Visual Basic 程式執行後,X值為何? (A)8 (B)6 (C)2 (D)0 統測

X = 102 Y = 40

FOR J = 2 TO 4 DO WHILE X <> Y IF X > Y THEN X = X - Y ELSE

Y = Y - X END IF

X = X - J LOOP

NEXT J

( C )5. 以下的Visual Basic程式片段執行後,下列敘述何者不正確? (A)s的內容為由星 號 * 構成的長方形 (B)每連續列印5個星號即會換到下一行 (C)s變數共被改

變35次 (D)s變數的內容為7列星號 ≒統測

Dim s As String For i = 3 To 9 For j = 7 To 11 s = s & "*" Next j

s = s & VbCrLf

Next i

S = 0 : C = 1 While C <= 5

For I = 1 To C S = S + 1 Next I

C = C + 2 End While

S = 0

For K = 1 To 6 Step 2 For J = 3 To 8 Step 3 S = S + J

Next J Next K

S = S + K + J

程式 一 程式 二

( C )2. Visual Basic程式 一 執行後,S值是多少? 

(17)

6-4

練習

配合課本第253頁

一、選擇題

( D )1. 使用Visual Basic程式語言執行下列程式碼後,會輸出多少個*符號? 

(A)12個 (B)15個 (C)20個 (D)30個 ≒統測

For I = 1 to 3

For J = 1 To 4 Step 3 For K = 1 To 5

Debug.Print("*") Next K,J,I

( B )2. 使用Visual Basic程式語言執行下列程式碼後,i + s的值為何? 

(A)9 (B)10 (C)18 (D)19 ≒技競

s = 0 : i = 1 Do Until i > 4 i = i + 1 While s < i s = s + i i = i + 1 End While Loop

( A )3. 執行下列Visual Basic程式後,變數sum的值為何? 

(A)15 (B)125 (C)225 (D)345 ≒統測

i = 1 : j = 1 : k = 1 While (i < 5)

While ( j < 5) While (k < 5) k = k + 1 End While j = j + 1 End While i = i + 1 End While

sum = i + j + k ▍

(18)

( B )4. 若要利用下列程式計算出(1 * 1) + (2 * 1 + 2 * 2) + (3 * 1 + 3 * 2 + 3 * 3)的 值,空格中的值要填入什麼內容? (A)4 - K (B)K (C)3 (D)K - 1 ≒技競

S = 0

For K = 1 To 3

For M = 1 To      

S = S + K * M Next M

Next K

( A )5. 用Visual Basic寫一個程式,若要使變數s的內容如右下圖,則下列程式的空格內應照 序填入哪些變數方可得到正確結果? (A)I, I (B)I, J (C)6, I (D)6, J ≒技競

Dim s As String

For I = 1 To 6 1 For J = 1 To     22 s = s &     333

Next J 4444

s = s & VbCrLf 55555

Next I 666666

( B )6. 執行下列Visual Basic語言片段程式的結果為何? 

For I = 10 To 16

For J = 100 To 105 Debug.Print("**") Next J

Debug.Print("*")

Next I

(A)總共印出96個星號 *   (B)總共印出91個星號 *  

(C)總共印出84個星號 *   (D)總共印出66個星號 * ≒統測

( B )7. 執行完以下Visual Basic程式,總共會顯示幾列結果? 

(A)5 (B)9 (C)45 (D)81 ≒統測

Dim s As String For i = 1 to 9

For j = 1 to 9 Step 2

s = s & i & "*" & j & "=" & i * j & " " Next j

s = s & VbCrLf

Next i

MsgBox(s)

(19)

( C )8. 下列程式執行後,c的值為何? (A)27 (B)30 (C)36 (D)45 ≒技競

c = 0

For i = 0 To 8 For j = 0 To 8

If (i \ 3 + j \ 3) Mod 2 = 1 Then c = c + 1

End If Next j

Next i

( B )9. 下列Visual Basic程式片段執行後,b的值為? 

(A)55 (B)58 (C)68 (D)73 ≒統測

a = 1 : b = 2 Do

  While a < 10

    a = a + 1

  End While

  b = a + b

  If ( b Mod 2 = 0 ) Then

    b = b + 5

  Else

    b = b + 3

  End If

Loop Until b > 50

( C )10. 執行下列Visual Basic程式片段後,請問k值為何? 

(A)6 (B)7 (C)8 (D)9 ≒技競

Dim i, j, k As Integer k = 0

For i = 0 To 2 For j = 0 To 2

If (i <> 1 Or i <> 2 And j <> 1) Then k = k + j

(20)

二、多元練習題

1. 如果要輸出如右圖所示的圖形,應在空格中填入什麼內容?

Dim s As String

For i = 1 To 5

For j =  1  To  5 

If  i = j  Then s = s & "1" Else

s = s & "0" End If

Next

s = s & vbCrLf Next

MsgBox(s)

2. 請利用巢狀迴圈,計算1! + 2! + 3! + 4! + 5!的值,並將專案儲 為 "Ans6-4a.sln"

成果預覽:

10000 01000 00100 00010 00001

提示: (1) 1! = 1,2! = 1 × 2,3! = 1 × 2 × 3,以此類推

(2) 宣告整數變數sum 用來計算1! 2! 3! 4! 5! 與

n 用來加總1! + 2! + 3! + 4! + 5!

(3) 設定外迴圈為For i = 1 To 5,內迴圈為For j = 1 To i

(4) 在內迴圈前,設定sum = 1,使sum每次皆從1開始相乘

(5) 在內迴圈中,設定sum = sum * j,以計算1! 2! 3! 4! 5!的乘積

(6) 在內迴圈後,設定n = n + sum,以加總sum值

(7) 用MsgBox()函數顯示答案

(21)

綜合評量

配合課本第257頁

一、選擇題

( C )1. 下列程式中,如用For…Next計算1至100的奇數和,則下列程式     內,應依 序填入那些數 ? (A)1,1 (B)2,2 (C)1,2 (D)2,1 ≒統測

10 SUM = 0

20 For I =     To 100 Step    

30 SUM = SUM + I 40 Next I

( C )2. 執行Visual Basic語言程式 一 的結果為何? 

(A)4 (B)6 (C)10 (D)30 ≒統測 基礎

S = 0

For X = 1 to 2 For Y = 1 to 3 S = S + 1 Next Y

S = S + 2 Next X

MsgBox(S)

T = 0 U = 0

DO WHILE U < 30

IF U MOD 2 = 1 THEN T = T + U

END IF U = U + 1 LOOP

程式 一 程式 二

( C )3. Visual Basic程式 二 執行後,T的值為何? 

(A)256 (B)240 (C)225 (D)196 ≒統測

( A )4. 下列Visual Basic程式片段,若執行後power之值為8,則X之值應設為多少? (A)2 (B)4 (C)6 (D)8 統測

Dim i, power, N, X As Integer

i = 1 : power = 1 : N = 3 : X =    

Do While i <= N

power = power * X i = i + 1

(22)

( C )5. 以下是一個加上行號的Do迴圈指 Visual Basic程式片段,執行後Ans之值為何? (A)9 (B)14 (C)40 (D)280 統測

1 Dim i, Ans As Integer 2 Ans = 1

3 i = 1

4 Do While i <= 10

5 If i Mod 2 = 0 Then 6 Ans = Ans * i 7 End If

8 i = i + 3 9 Loop

( B )6. 續上題,要將上一題的程式改以For迴圈指 取 ,下列程式第4行之中有X Y和

Z等三個變數,應該在行號3同一行後方撰寫哪一行指 指定其值,才能獲得相同

的結果? 

(A)X = 1 : Y = 3 : Z = 10  (B)X = 1 : Y = 10 : Z = 3 

(C)X = 3 : Y = 10 : Z = 1  (D)X = 10 : Y = 1 : Z = 3 統測

1 Dim i, Ans, X, Y, Z As Integer 2 Ans = 1

3       

4 For i = X To Y Step Z 5 If i Mod 2 = 0 Then 6 Ans = Ans * i 7 End If

8 Next

( C )7. 下列Visual Basic語言片段程式的執行結果為何? 

(A)D = 1680 (B)D = 168000 (C)D = 15120 (D)D = 151200 ≒統測

C = 5 : D = 1 Do

(23)

( C )8. 以下Visual Basic程式,可求出n值 以30030為例 之所有因數,請問空白處應 填入之內容為何? (A)n < f (B)n > f (C)n >= f (D)n <= f ≒技競

Dim n As Long, f As Long Dim s As String

n = 30030 f = 2

While       

If n Mod f = 0 Then s = s & f & " " n = n \ f

Else

f = f + 1 End If

End While MsgBox (s)

執行結果

2 3 5 7 11 13

( A )9. 下列程式執行後,L的值為多少? (A)40 (B)39 (C)90 (D)91 ≒技競

Dim L = 35

Do Until Not (L < 40 Or L >= 90) If L < 40 Then

L = L + 100 ElseIf L >= 90 Then L = L - 99 End If

Loop

( B )10. 下列Visual Basic程式片段執行後,J的值為何? 

(A)134 (B)140 (C)174 (D)225 統測

J = 0

FOR K = 1 TO 5 FOR L = K TO 5 J = J + K * L NEXT L

NEXT K

(24)

( A )11. 執行下列Visual Basic程式後,S值為何? 

(A)0 (B)7 (C)22 (D)35 ≒技競

Dim S, I, J As Integer S = 0

I = 1

While I >= 5

For J = 1 To I S = S + J Next J

I = I + 2 End While

( B )12. 下列這段Visual Basic程式碼執行後,X值結果為何? 

(A)0 (B)2 (C)11 (D)20 ≒統測

X = 0

For Y = 1 To 10 Step 2 For Z = 10 To 1 Step -3 If Y = Z Then

X = X + 1 End If

Next Z

Next Y

( A )13. 下列Visual Basic程式執行後,a值為何? 

(A)17 (B)18 (C)19 (D)20 ≒技競

a = 5 : b = 7 : c = 3 For i = 1 To 2

Do until a > 12

If a > b Then a = a - b If b > c Then b = b - c a = a + b * c

Loop

(25)

( B )15. 執行Visual Basic語言片段程式 四 的結果為何? 

(A)0 (B)6 (C)21 (D)30 ≒統測

二、實作題

1. 利用巢狀For迴圈,輸出由數 組成的三角形 如下圖 ,並將專案儲 為 "Ans6-a. sln"

成果預覽:

Dim count As Integer count = 0

For i = 1 To 10 For j = 1 To i For k = 1 To j If i = j Then

count = count + 1 End If

Next k Next j Next i

A = 42 : B = 30 : C = 1 Do While C <> 0

C = A Mod B If C <> 0 Then A = B B = C End If Loop

MsgBox(B)

程式 三 程式 四

提示: (1) 在表單上佈建1個TextBox 文 方塊 ,並設定Multiline屬性為True

(2) 雙按表單,在表單的Load事件中撰寫程式

(3) 設定外迴圈為For i = 5 To 1,內迴圈為For j = 1 To i

(4) 在內迴圈設定每執行一次內迴圈,TextBox1.Text = TextBox1.Text & i

(5) 在外迴圈設定每執行一次外迴圈,spc = spc & "△" △ 表空格 ,

TextBox1.Text = TextBox1.Text & vbCrLf & spc

解 請參考教資光碟中的方案檔 "Ans6-a.sln"

( B )14. 下列程式 三 執行後,count的值為何? (A)54 (B)55 (C)56 (D)57 ≒技競

(26)

2. 請開啟範例檔案 "Ex6-b.sln",利用任一種迴圈敘述,撰寫一個記憶力大考驗的程式, 並將專案儲 為 "Ans6-b.sln"

成果預覽:

提示: (1) 設定Timer1的Interval屬性為5000,以控制Timer1中的程式每5 執行一 次

(2) 雙按Button1,在Button1的Click事件中撰寫程式

(3) 在Label1 ~ Label5顯示10 ~ 99之間的整數亂數 Int(Rnd() * 80) + 10 ,並設定Timer1的Enable屬性為True

(4) 雙按Timer1,在Timer1的Tick事件中撰寫程式

(5) 設定Timer1的Enable屬性為False,並宣告ans userAns變數為 串型 別

(6) 將Label1 ~ Label5的Text值用 串連接的方式 入變數ans,再將Label1 ~ Label5的Text值清空 設定為空 串""

(7) 利用迴圈敘述產生5次InputBox交談窗,讓使用者依序輸入5個數 ,並將

使用者輸入的數 用 串連接的方式 入變數userAns

(8) 比對ans與userAns的值是否一致,若一致顯示答對了,否則顯示答錯了

解 請參考教資光碟中的方案檔 "Ans6-b.sln"

Label1 ~ Label5

参照

関連したドキュメント

物質工学課程 ⚕名 電気電子応用工学課程 ⚓名 情報工学課程 ⚕名 知能・機械工学課程

当所6号機は、平成 24 年2月に電気事業法にもとづき「保安規程 *1 電気事業用 電気工作物(原子力発電工作物) 」の第

金属プレス加工 電子機器組立て 溶接 工場板金 電気機器組立て 工業包装 めっき プリント配線版製造.

電気設備保守グループ 設備電源グループ 所内電源グループ 配電・電路グループ 冷却・監視設備計装グループ 水処理・滞留水計装グループ

電気設備保守グループ 設備電源グループ 所内電源グループ 配電・電路グループ 冷却・監視設備計装グループ 水処理・滞留水計装グループ

手動投入 その他の非常用負荷 その他の非常用負荷 非常用ガス処理装置 蓄電池用充電器 原子炉補機冷却海水ポンプ

機器ドレン ろ過水ポンプ 床ドレン 化学廃液 混合ポンプ 蒸留水 ポンプ蒸留水サンプル ポンプ. 床ドレン化学廃液 ろ過水タンク

処理水 バッファ タンク 原子炉へ RO処理水 貯槽 CST 原子炉へ PP淡水化装置 (建屋内RO)淡水化処理水