您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页大学vb考试题

大学vb考试题

来源:化拓教育网


编程填空题:

《实验指导书》 页93:7、8、9题

页114:7、8、9、10、11 ――――――――――――

工程中有两个窗体form1和form2,一个标准模块module1,设在form1中定义了过程aa,在module1中定义了过程bb。 Sub aa(x, y, z)

z = x * x + y * y End Sub

Sub bb(x, y, z) z = x ^ 3 + y ^ 3

End Sub

当在form1中单击命令按钮时,调用以上过程计算两个数的平方和和立方和,并分别将计算结果显示在文本框text3和text4中,请填空完成调用语句。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text)

Call [ ] Text3.Text = c1 bb [ ]

Text4.Text = c2 End Sub

――――――――――――――――――

下面的程序用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印\"X的值为2、4、6\";若X在11到15之间,则打印\"X的值为大于等于11小于等于15\";若X大于20,则打印\"X的值大于20\";否则,打印\"X不在范围内\"。 Private Sub Command1_Click() Select Case Val(X.Text) Case [ ]

Print \"X的值为2,4,6\"

Case [ ]

Print \"X的值为大于等于11小于等于15\" Case Is >20

Print \"X的值大于20\" Case Else

Print \"X不在范围内\"

End Select End Sub

――――――――――――――

下面的程序是使用冒泡法对数组进行排序,请将程序补充完整。 Option Base 1

Private Sub Command1_Click() Dim iA(0 To 10)

n = 6

iA(0) = 8: iA(1) = 6: iA(2) = 9: iA(3) = 3: iA(4) = 2: iA(5) = 7 For 0 = 1 To n - 1 ' 进行n-1遍比较 ' 对第i遍比较时,大数沉底

For [ ] ' 在数组 i~n个元素中选最小元素的下标 If [ ] Then t = iA(j) iA(j) = iA(j + 1) iA(j + 1) = t End If

Next j End Sub

――――――――――――

程序的功能是使用辗转相除法求两个数的最大公约数。 Private Sub Command1_Click() Dim m%, n%

m = Int(InputBox(\"input an integer\")) n = Int(InputBox(\"input another integer\")) Print (m, n) End Sub

Public Function %(m%, n%) Dim t%

If [ ] Then t = m: m = n: n = t Do

r = m Mod n If r = 0 Then Exit Do m = n [ ] Loop = n

End Function

―――――――――

输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEF”变换成“FEDCBA”。请将程序补充完整。 Private Sub Command1_Click()

Dim a$, i%, c$, n% 'n存放字符串的长度 a = InputBox(\"input a string\") n = [ ]

For i = 1 To Int(n / 2) c = Mid(a, i, 1)

Mid(a, i, 1) = [ ] Mid(a, n - i + 1, 1) = c Next i End Sub

――――――――――

下面的程序允许用户按Enter(回车)键后,将组合框中没有的项目添加到组合框。请将程序补充完整。

Private Sub Combo1_KeyPress(KeyAscii As Integer) Dim flag As Boolean If KeyAscii = 13 Then

flag = False

For i = 0 To Combo1.ListCount - 1 '查找项目是否已存在 If [ ] Then flag = True Exit For End If

Next i

If flag = False Then '不存在则添加 [ ] End If

End If End Sub

―――――――――

下面的程序是使用选择法对数组进行升序排列,请将程序补充完整。 Option Base 1

Private Sub Command1_Click() Dim iA(1 To 10) n = 6

iA(1) = 8: iA(2) = 6: iA(3) = 9: iA(4) = 3: iA(5) = 2: iA(6) = 7 For i = 1 To n - 1 ' 进行n-1遍比较

iMin = i ' 对第i遍比较时,初始假定第i个元素最小 For [ ] ' 在数组 i~n个元素中选最小元素的下标 If [ ] Then iMin = j Next j

t = iA(i) 'i~n个元素中选出的最小元素与第i个元素交换 iA(i) = iA(iMin) iA(iMin) = t Next i

End Sub

―――――――――――

找出被3、5、7除,余数均为1的最小的5个正整数。 Private Sub Command1_Click() Dim countn%, n% n = 1: countn = 0 Do

n = n + 1

If [ ]Then Print n

countn = countn + 1 End If

Loop [ ] End Sub

――――――――――――――

下面程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。本程序在文本框输入表达式,

边输入,边统计,以输入回车键作为表达式输入结束,然后显示结果。 Dim count1%

Private Sub Text1_KeyPress(KeyAscii As Integer) If [ ] = \"(\" Then count1 = count1 + 1

ElseIf Chr(KeyAscii) = \")\" Then [ ] End If

If KeyAscii = 13 Then If count1 = 0 Then

Print \"左右括号配对\"

ElseIf count1 > 0 Then

Print \"左括号多于右括号\"; count1; \"个\" Else

Print \"右括号多于左括号\"; -count1; \"个\"

End If End If End Sub

――――――――――――

顺序文件的建立。建立文件名为“c:\\stud1.txt”的顺序文件,内容来自文本框,

每按Enter键写入一条记录,然后清除文本框的内容,直到文本框内输入“END”字符串。 Private Sub Form_Load()

Open “c:\\stud1.txt” For Output As #1 Text1.Text=“” End Sub

Private Sub Text1_KeyPress(keyAscii As Integer) If keyAscii=13 Then If[ ] Then Close #1 End Else

[ ] Text1.Text=“” End If

End If End Sub

―――――――――――――

输入若干字符,统计有多少个元音字母、有多少个其他字母,不区分大小写,并显示结果。其中,CountY中放元音字母个数,CountC中放其他字符数。 Private Sub Command1_Click() Dim CountY%, CountC%, i% Dim C$, B$ c=Text1.Text For i = 1 To Len(C) B =UCase(Mid(C, i, 1)) If [ ] Then Select Case B

Case \"A\ CountY = CountY + 1 Case [ ]

CountC = CountC + 1 End Select End If

Next i

Print \"元音字母有\"; CountY; \"个\" Print \"其它字母有\"; CountC; \"个\" End Sub

――――――――

将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句 将old.dat文件从磁盘上删除。 Private Sub Command1_Click() Dim str1 $

Open “c:\\old.dat” For Input As #1 Open “c:\\new.dat” [ ] Do While[ ] Line Input #1,str1 Print #2,str1 Loop

Close #1,#2

KILL “c:\\old.dat” End Sub

―――――――――

产生[10,37]之间的随机整数的Visual Basic表达式是[]。 判断s字符变量是大写字母字符的逻辑表达式为[=\"A\" And s<=\"Z\">]。 表示x是5的倍数或9的倍数的逻辑表达式是[] Len(\"vb程序设计\")的值是[<6>]。

表示字符变量s是字母字符(不区分大小写)的VB表达式是[=\"a\" And Lcase(s)<=\"z\"或者Ucase(s)>=\"A\" And Ucase(s)<=\"Z\">]。

将一个两位数x的个位数与十位数交换位置,组成另一个两位数,则对应的表达式是[<(x Mod 10)+x\\10>]。 随机产生一个“C”~“L”范围内的大写字符,则对应的VB表达式是[]。

Round(-3.5)的值是[<-4>]。

Int(3.5)的值是[<3>]。

下面程序段运行后的输出结果是[<2 20 3 21 4 22 5 23>]。 For i = 0 To 3

Print Tab(5 * i + 1); \"2\" + i; \"2\" & i;

Next i

循环语句For i=-3 to 20 Step 0 的循环次数是[<无数次>]。

在过程中定义的局部变量,如果希望过程结束后还保存变量的值,则应使用[]关键字进行声明。

由Array函数建立的数组,其变量必须是[]。

要使循环语句循环执行20次,For k=____ to -5 Step -2,则k=[<33>]。 循环语句For i=-3.5 to 5.5 Step 0.5的循环次数是[<19>]。 下列程序段中,第41句共执行了[<12>]次。 30 For j = 1 To 12 Step 3 40 For k = 6 To 2 Step -2 41 Print j, k

42 Next k 43 Next j

循环语句For i=-3 to 20 Step 4的循环次数是[<6>]。 下面程序运行后的输出结果是[<**$$$****$$$$$>]。 a = \"*\": b = \"$\"

For i = 1 To 4

If i Mod 2 = 0 Then

x$ = String(Len(a) + i, b) Else

x$ = String(Len(a) + i, a) End If

Print x$; Next i

下面程序的运行结果是[<22 484>]。 x = 242: y = 44 z = x * y

Do Until nx = y

If x > y Then x = x - y Else y = y - x Loop

Print x, z / x

下列程序段中,第40句共执行了[<4>]次。 30 For j = 1 To 12 Step 3

40 For k = 6 To 2 Step -2 41 Print j, k 42 Next k

43 Next j

如果在建立菜单时在标题文本框中输入一个[<下划线或者“_”>],那么菜单显示时形成一个分隔线

如果菜单标题的某个字母前输入一个[<&>]符号,那么该字母就成了热键字母。 []方法可以清除列表框中的所有内容。

列表框中的[]和Selected两个属性均为数组。

[