文档库 最新最全的文档下载
当前位置:文档库 › Vb试卷2

Vb试卷2

杭州电子科技大学学生考试卷()卷考试课程Visual Basic程序设计考试日期2010年月日成绩

课程号教师号任课教师姓名

考生姓名学号(8位)年级专业座位号说明:⑴考生应将试题答案填写在答卷上,否则作无效处理;考试时间为120分钟。

试题一、判断题(每小题2分,共20分)

(1)虽然一个对象能够识别多个事件,但是我们只能对其中一个事件进行编程。

(2)语句“Shape1.FillStyle = vbSolid”和“Shape1.FillStyle = 0”作用相同。

(3)在Open语句中用Append方式所打开的文件若不存在,则创建该文件。

(4)Variant是一种特殊的数据类型,V ariant类型变量可以存储除了定长字符串数据及自定

义类型外的所有系统定义类型的数据。Variant类型变量还可具有Empty、Error和Null 等特殊值。

(5)语句“FontName = "宋体"”与“Form1.FontName = "宋体"”的作用完全相同,无一例

外。

(6)框架控件和形状控件都不能响应用户的鼠标的单击事件。

(7)在窗体或模块文件中声明为Public的过程,只能被本窗体或模块中的过程所调用。

(8)如果一个菜单项的Visible属性为False,则它的子菜单也不会显示。

(9)列表框控件,只能设置为单选。

(10)在一个窗体的代码中不能使用Unload语句来卸载本窗体,即一个窗体只能由其它窗体

卸载。

试题二、单选题(每小题2分,共20分)

(1) 编制一个对Single类型一维数组排序的Sub过程,该过程只能被本模块中其他过程所调

用,其首句为。

A、Sub f(a() As Single,n As Integer)

B、Public Sub f(a(n) As Single)

C、Private Sub f(a() As Single,n As Integer)

D、Static Sub f(a() As Single,n As Integer)

(2) 将文本框控件的_______属性设置为False,可正常显示文本但不可编辑。

A、Locked

B、Enabled

C、MultiLine

D、Visible

(3) 下面是日期型常量。

A、"12/19/99"

B、12/19/99

C、#12/19/99#

D、{12/19/99}

(4) 下面对象在运行时一定不可见。

A、Line

B、Timer

C、Text

D、Option

(5) VB算术运算符乘或除、整除、求余的优先级,从高到低依次为。

A、乘或除、求余、整除

B、乘或除、整除、求余

C、整除、求余、乘或除

D、整除、乘或除、求余

(6) 由“For i=1 To 9 Step -3”决定的循环结构被执行次。

A、4

B、5

C、6

D、0

(7) 返回图片框控件P1坐标(a,b)处颜色值的表达式为______ 。

A、P1.SetColor(a,b)

B、P1.GetColor(a,b)

C、P1.Pset(a,b)

D、P1.Point(a,b)

(8) 通用对话框可以通过对__________属性的设定来过滤文件类型。

A、Action

B、FilterIndex

C、Font

D、Filter

(9) 判断整型变量m能否被n整除的VB表达式为。

A、n Mod m=0

B、m/n*n=m

C、m Mod n=0

D、m\n*n=m

(10) 对象不具有Caption属性。

A、Label

B、Option

C、Frame

D、Text

试题三、程序填空题(每空2分,共20分)

说明:阅读下列程序说明和相应程序,将正确答案填写到答卷纸的相应题号空白处。

程序1、

【程序说明】单击窗体后输出6~100之间所有整数的质数因子。

【程序】

Private Sub pp( (1) k As Integer)

Dim i As Integer

i=2

While k>1

If (2) =0 Then

Print i;

(3)

Else

i=i+1

End If

Wend

Print

End Sub

Private Sub Form_Click()

For i=6 To 100

(4)

Next i

End Sub

程序2、

【程序说明】单击窗体后,用输入对话框输入x、n,按下式计算结果。要求:将计算结果以标签控件显示。

【程序】

Private Sub Form_Click()

Dim x As Single, n As Integer, i As Integer, t As Single

s = 0

x = Val(InputBox("x="))

n = Val(InputBox("n="))

_______________(5)_______________

For i =____________(6)______________

t = t * x / i

s = s + t

Next i

______________(7)__________________

End Sub

程序3、

【程序说明】窗体上已建立命令按钮Command1和文本框Text1,Text1中输入字符个数不得超过100个。开始运行时,按“开始”命令按钮后,将文本框中的字符按其ASCII 码值由小到大顺序从左到右重新排列,并在窗体上输出重新排列后的字符串。

【程序】

Private Sub Command1_Click()

Dim n As Byte, i As Byte,j As Byte,p As Byte

Dim str1 As String,t As String

str1 = Text1.Text

n = Len(str1)

ReDim a(n) As String * 1

For i=1 To n

(8)

Next i

For i=1 To n-1

p=i

For j=i+1 To n

(9)

Next j

If p<>i Then (10)

Next i

For i=1 To n

Print a(i);

Next i

End Sub

试题四、程序阅读题(每小题5分,共20分)

说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。

程序1、运行时,单击窗体后依次输入10、37、50、55、56、64、20、28、19、-19、0,写出运行结果。

Private Sub Form_Click()

Dim y As Integer

Do

y = Val( InputBox("y="))

If (y Mod 10) + Int(y / 10) = 10 Then Print y

Loop Until y =0

End Sub

程序2、请写出单击窗体后,窗体上的显示结果。

Dim i As Integer,n As Integer

Private Sub Form_Click()

Dim i As Integer

For i=1 To 4

s=sum(i): Print "s="; s

Next i

End Sub

Private Function sum(n As Integer)

Static j As Integer

j=j+n+1: n=j+1: sum=j

End Function

程序3、写出程序运行时,在组合框Combo1中输入“123”(不包括“”)并按下回车键后,列表框List1中的所有列表项。

Private Sub Form_Load()

Dim i As Byte, c As String

c = "abcdeabcdeabcdeabcde"

For i = 0 To 5

If i Mod 2 = 0 Then

Combo1.AddItem Mid(c, 2 * i + 1, 2)

Else

Combo1.AddItem Mid(c, 3 * i + 1, 3)

End If

Next i

Combo1.List(0) = Right(c, 2): Combo1.List(6) = Left(c, 3)

End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer)

Dim i As Integer

If KeyAscii = 13 Then

Combo1.List(Combo1.ListCount) = Combo1.Text

List1.Clear

For i = 0 To Combo1.ListCount - 1

If Len(Trim(Combo1.List(i))) < 3 Then

List1.AddItem Combo1.List(i)

End If

Next i

End IF

End Sub

程序4、请写出单击窗体后,输入3,窗体上的显示结果。

Private Sub Form_Click()

Dim m As Integer

Dim i As Integer, j As Integer

m = Val(InputBox("m="))

For i = 1 To m

Print Space(m - i);

For j = 1 To 2 * i - 1

Print Trim(Str(i));

Next j

Print

Next i

For i = m - 1 To 1 Step -1

Print Space(m - i);

For j = 1 To 2 * i - 1

Print Trim (Sty (j));

Next j

Print

Next i

End Sub

试题五、程序设计题(每小题10分,共20分)

1. 编制通用函数过程f,计算Byte类型一维数组所有元素的最小公倍数(Long类型)。要求写出主调用和被调用两部分代码,主调用代码写在窗体单击事件中。数组定义要求为动态数组(数组个数从键盘输入),数组值由随机函数自动生成[1,10]之间的Byte类型的随机数,结果输出要求在主调程序中完成。输出效果如图所示。

2. 文本文件e:\aaa.txt 中存放了若干行字符,编制相应事件过程:在加载窗体(Form_Load )时读入文件中各行字符并顺序在列表框控件List1的列表部分显示,在运行时单击窗体(Form_Click)后自动将列表框中各行字符个数不超过10个的项目存储到文本文件e:\bbb.txt 。

《Visual Basic 程序设计》期末考试卷参考答案

座位号:______学号: 姓 名: 任课教师:

试题一 试题二 试题三

试题四

试题五

总分

试题一、判断题(每小题2分,共20分)

1、√

2、×

3、×

4、×

5、√

6、√

7、√

8、√

9、√ 10、×

试题二、单选题(每小题2分,共20分)

1、 B

2、 B

3、 C

4、 D

5、 B

6、C

7、 B

8、D

9、 A 10、 A

试题三、程序填空题(每空1分,共12分)

1、 B

2、 C

3、 B

4、 D

5、 D

6、 C (D )

7、 B

8、 A

9、 C 10、 B 11、 D 12、 C

试题四、程序阅读题(共25分)

1、 (6分)

2、 (7分)

3、 (6分)

4、 (0分)

)!

1 2 ( ) 1 ( ! 5 ! 3 ! 1 1 2 1 5 3 - - + + + - = - - n x x x x p n n

5、(6分)

试题五、程序设计题(第1题10分,第2题13分,共23分)1、(共10分)

Private Sub Command1_Click()

Dim x As Double, y As Double

x = Val(InputBox("x="))

If x < -5 Then

y = 3 * x * x + 2 * x - 1

ElseIf x >= -5 And x <= 5 Then

y = x * Sin(x) + 2 ^ x+exp(x)

Else

y = Sqr(x - 5) + Log(x) / Log(10)

End If

Label1=y

End Sub

或者:

Private Sub Command1_Click()

Dim x As Double, y As Double

x = Val(InputBox("x="))

Select Case x

Case Is < -5

y = 3 * x * x + 2 * x - 1

Case -5 To 5

y = x * Sin(x) + 2 ^ x+exp(x)

Case Else

y = Sqr(x - 5) + Log(x) / Log(10)

End Select

Label1=y

End Sub

相关文档