网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2016年计算机二级VB上机重难点题型及答案

栏目: 计算机二级 / 发布于: / 人气:1.66W

  一、二维数组(矩阵)操作

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