當前位置:才華齋>計算機>計算機二級>

2016年計算機二級VB上機重難點題型及答案

計算機二級 閱讀(1.59W)

  一、二維陣列(矩陣)操作

2016年計算機二級VB上機重難點題型及答案

1、求矩陣元素的最大值

Dim a(5, 5) As Integer

'省略給陣列a賦值程式碼

'求陣列a的最大值

Max = a(1, 1) '假設第一個數為最大值初值

For i = 1 To 5

For j = 1 To 5

If a(i, j) > Max Then

Max = a(i, j)

End If

Next j

Next i

'迴圈結束後,max獲得最大值

'注意for i迴圈必須從1開始,不能從2開始

'若for i迴圈從2開始,那a(1,2),a(1,3),a(1,4),a(1,5)都無法參加比較

2、求方陣對角線元素之和、兩個對角線元素之和

假定有如下定義:

Const N% = 6

Dim a(1 to N,1 to N) as Integer

則a陣列的主、副對角線元素分別為:

1.主對角線元素:a(1,1)、a(2,2)、…a(i,i)…a(N,N),“左上-右下”元素,即元素行、列下標相同;

2.副對角線元素:a(1,N)、a(2,N - 1)、…a(i,N – i + 1)…a(N,1),“右上-左下”元素,即第1行最後一個、第2行倒數第2個……第i行倒數第i個元素。

黑色線條表示的是主對角線,紅色線條表示的副對角線

Sum1 = 0 '獲得主對角線之和

Sum2 = 0 '獲得副對角線之和

For i = 1 To N

For j = 1 To N

If i = j Then '求主對角線元素之和

Sum1 = Sum1 + a(i, j)

End If

If i + j = N + 1 Then '求副對角線元素之和

Sum2 = Sum2 + a(i, j)

End If

Next j

Next i

3、列與列互換,如第2列和第4列互換

For i = 1 To N

t = a(i, 2)

a(i, 2) = a(i, 4)

a(i, 2) = t

Next i

注意:a(i, 2)表示第2列的陣列元素,a(i,4)表示第4列的陣列元素,如果是第2行與第4行互換,則可用a(2, i)表示第2行的陣列元素,a(4,i)表示第4行的陣列元素。

4、二維陣列每行最大值及其在該行中的位置

Dim a(20, 5) As Integer '定義20行5列的矩陣

For i = 1 To 20

Max = a(i, 1) '假設該行第一個數是最大值初值

maxi = 1 '獲得假設初值的列下標

For j = 1 To 5

If a(i, j) > Max Then Max = a(i, j): maxi = j

Next j

Print "第"; i; "行最大值"; Max, "在該行的"; maxi; "位置"

Next i

注意:該題還可以擴充套件為求所有行最大值平均值、各行平均數的最大值、各行最小數的平均值;每行在某個範圍內(如小於100)元素值之和、平均值;每行的偶數最大值、奇數最小值等。

5、矩陣四周圍元素之和,能被某數整除的個數

Dim a(7, 7) As Integer

如上宣告的陣列a,對陣列a而言其四周圍的元素即為第一行、第七行、第一列和第七列的陣列元素。

第一行陣列元素滿足a(1,j),j從1到7

第七行陣列元素滿足a(7,j),j從1到7

第一列陣列元素滿足a(i,1),i從1到7

第七列陣列元素滿足a(i,7),i從1到7

Sum=0

For i = 1 To 7

For j = 1 To 7

If i = 1 Or i = 7 Or j = 1 Or j = 7 Then

Sum = Sum + a(i, j)

End If

Next j

Next i

二、字元(單詞)操作

1、統計文字框中數字、大寫字母、小寫字母個數

每次取出一個字元,利用ASCII碼值進行判斷,

數值0~9的ASCII值範圍是:48~57 或 Asc("0")~Asc("9")

大寫字母A~Z的ASCII值範圍是:65~90 或 Asc("A")~Asc("Z")

小寫字母a~z的ASCII值範圍是:97~122 或 Asc("a")~Asc("z")

For i = 1 To Len(Text1)

s = Mid(Text1, i, 1)

If Asc(s) >= 48 And Asc(s) <= 57 Then

’是數值

ElseIf Asc(s) >= 65 And Asc(s) <= 90 Then

’是大寫字母

ElseIf Asc(s) >= 97 And Asc(s) <= 122 Then

’是小寫字母

End If

Next i

注意:與該題類似的還有,統計給定字母的出現次數,此時迴圈中的if判斷條件改成s與該字母的比較即可;判斷文字框中輸入的是數字資訊還是非數字資訊等。

2、統計文字中某單詞出現的'次數、平均長度、最長單詞見上機教程第十三講考點2單詞操作

’統計文字s中單詞this出現的次數

For i = 1 To Len(s) ’對字串內所有字元處理

c = Mid(s, i, 1) ’取字元

If c <> " " Then ’不為空格字元

word = word + c ’將該字元連線在單詞中

Else ’若為空格字元

If word= "this" then ’如果是this單詞,對該單詞個數計數

n = n + 1 ’單詞個數計數

End if

word = "" ’存下一個單詞前,將變數word清空

End If