当前位置:文档之家› 浙江大学城市学院2008学年VB期末考卷

浙江大学城市学院2008学年VB期末考卷

诚信应考 考出水平 考出风格

浙江大学城市学院

2007 — 2008 学年第二学期期末考试试卷

《 VB 语言程序设计基础 》

开课单位: 计算分院 ;考试形式:闭卷;考试时间: 2008 年 6 月24 日 所需时间:120 分钟

一.单选题(本大题共 10 题,每题 1 分,共 10 分。)

二.程序填空题(本大题共 4 题 15 空,每空 2 分,共 30 分。) 三.程序阅读题(本大题共 5 题,前 2 题每空 2 分,共 14 分;后3 题分别 6第3题: 第4题: 第5题:

四.程序设计题(本大题共 3 题,每题 10 分,共 30 分。)

第1题: . 第2题: .

第3题: .

2007 — 2008 学年第二学期期末考试试卷

《VB语言程序设计基础》

开课单位:计算分院;考试形式:闭卷;考试时间: 2008 年 6 月24 日

所需时间:120 分钟

一、单选题(10%)

1.以下叙述中,错误的是______。

A、在Visual Basic中,对象所能响应的事件是由系统定义的。

B、对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定。

C、Visual Basic中允许不同对象使用相同名称的方法。

D、Visual Basic中的对象具有自己的属性和方法。

2.下列不合法的变量名是______。

A、a5b

B、endif

C、a_b

D、_xyz

3.设在窗体上有1个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是______。

A、Combo1.RemoveItem Combo1.Text

B、Combo1.RemoveItem 4

C、Combo1.RemoveItem Combo1.ListCount

D、Combo1.RemoveItem 5

4.改变了容器的坐标系后,该容器的_________属性值不会改变。

A、Left

B、ScaleLeft

C、ScaleTop

D、ScaleWidth

5.若窗体上的图片框中有一个命令按钮,则此按钮的Left属性是指______。

A、按钮左端到窗体左端的距离

B、按钮左端到图片框左端的距离

C、按钮中心点到窗体左端的距离

D、按钮中心点到图片框左端的距离

6.为使程序运行时通用对话框CD1上显示的标题为“对话框窗口”,若通过程序设置

该标题,则应使用的语句是______。

A、CD1.DialogTitle=“对话框窗口”

B、CD1.Action=“对话框窗口”

C、CD1.FileName=“对话框窗口”

D、CD1.Filter=“对话框窗口”

7.在窗体Form1中,弹出快捷菜单menu1的语句是______。

A、menu1.Click

B、Form.PopupMenu menu1

C、Form1.PopupMenu menu1

D、menu1.PopupMenu

8.在窗体Form1的一个事件过程中,使用_________来清除窗体上所绘制的图形,是不正确的。

A、Form1.Cls

B、Form.Cls

C、Me.CLS

D、Cls

9.若窗体中已经有若干个不同的单选按钮,要把它们改为一个单选按钮数组,在属性窗

口中需要且只需要进行的操作是______。

A、把所有单选按钮的Index属性改为相同值。

B、把所有单选按钮的名称改为相同值。

C、把所有单选按钮的Caption属性值改为相同。

D、把所有单选按钮的名称改为相同,且把它们的Index属性改为连续的不同值。10.下列代码中,______能使驱动器列表框Drive1的盘符改变时,文件夹列表框Dir1随之作相应改变。

A、Private Sub Dir1_Change()

B、Private Sub Dir1_Change()

Dir1.Path=Drive1.Drive Drive1.Drive= Dir1.Path

End Sub End Sub

C、Private Sub Drive1_Change()

D、Priveate Sub Drive1_Change()

Drive1.drive = Dir1.Path Dir1.Path=Drive1.drive

End Sub End Sub

二、程序填空题(30%)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

1.单击Command1后用输入对话框输入1个整数,单击Command2后在T ext1中显示其反序的数(高位变低位)。要求在文本框中不可输入任何字符。

例如:输入123显示321,输入-567显示-765。

【程序】

(11)

Private Sub Form_Load()

(12)

End Sub

Private Sub Command1_Click()

Text1.Text = "": n = InputBox("n=")

End Sub

Private Sub Command2_Click()

If n < 0 Then n = -n: Text1.Text = "-"

While n <> 0

Text1.Text = (13)

(14)

Wend

End Sub

【供选择的答案】

(11) A、Dim n As Byte B、Dim n As Integer

C、Dim n As String

D、Public n As Byte

(12) A、Text1.Locked = True B、Text1.Locked = False

C、Text1.Visible = True

D、Text1.Visible = False

(13) A、n/10 & Text1.Text B、n Mod 10 & Text1.Text

C、Text1.Text & n/10

D、Text1.Text & n Mod 10

(14) A、n = n \ 10 B、n = n / 10

C、n = n Mod 10

D、n = n - 10

2.单击Command1后,打开通用对话框指定的文本文件,将文本文件逐行读入,并将每行中的英文字母、其他字符分别写入"e:\a1.txt" 和 "e:\a2.txt"文件中。

【程序】

Private Sub Command1_Click()

Dim s As String, h1 As String, h2 As String

CommonDialog1. (15)

Open CommonDialog1.FileName For input As #1 Open "e:\a1.txt" For Output As #2 Open "e:\a2.txt" For (16) As #3 Do While (17)

Line Input #1, s Call fs(s,h1,h2) Print #2, h1 Print #3, h2

Loop Close End Sub

Private Sub fs(s As String, s1 As String, s2 As String) Dim j As Integer, n As Integer n = Len(s) (18) s1 = "": s2 = "" For j = 1 To n

a(j) = Mid(s, j, 1) If (19) Then s1 = s1 + a(j) Else

s2 = s2 + a(j) End If Next j End Sub

【供选择的答案】 (15) A 、ShowOpen

B 、ShowSave

C 、ShowColor

D 、ShowFont (16) A 、Output B 、Appent C 、Input D 、Read (17) A 、Eof(1) B 、Not Eof(1) C 、Eof(#1)

D 、Not Eof(#1)

(18) A 、ReDim a(n) As String * 1 B 、Dim a(n) As String C 、ReDim a(n) As Integer

D 、ReDim s(n) As String

(19)A 、a(j)>='a' And a(j)<='z' Or a(j)>='A' And a(j)<='Z' B 、a(j)>="a" And a(j)<="z" Or a(j)>="A" And a(j)<="Z" C 、"a"<=a(j)<="z" Or "A"<=a(j)<="Z"

D 、(a(j)>='a' And a(j)<='z') Or (a(j)>='A' And a(j)<='Z')

3.由输入对话框输入n(设n 为大于零且小于30的自然数),计算下列表达式的值,并在标签框Label1上显示。

)

1(1

......431321211+?+

?+?+?n n

【程序】

Private Sub Form_Click()

Dim n As integer ,sum As Double ,k As Integer

n=Val(InputBox("n=","请输入自然数n(n>0且n<30)"))

Do (20)

n=Val(InputBox("n=","请重输"))

Loop

sum=0

(21)

Do

k=k+1

sum= (22)

Loop Until k >= n

Label1.Caption = "sum=" + Str(sum)

End sub

【供选择的答案】

(20) A、Until n>0 Or n<30

B、While n<=0 And n>=30

C、While n <=0 Or n >=30

D、Until n>=0 And n<=30

(21)A、k=2 B、k=1 C、k=-1 D、k=0

(22)A、1/(k*(k+1)) B、1/(k-1)*k

C、sum+ 1 / (k *(k+1))

D、sum+ 1/k* (k+1)

4.下列过程用选择法对double类型数组按值从小到大排序。

Private Sub Sort( (23) )

Dim i As Integer, j As Integer, k As Integer, t As Double

For i = 1 To (24)

k=i

For j = i + 1 To n

If (25) Then k = j

Next j

t = a(i): a(i) = a(k): a(k) = t

Next i

End Sub

(23) A、a() As Double, k As Integer B、a As Double, n As Integer

C、a() As Double, n As Integer

D、a() As Integer, n As Integer

(24)A、n B、n-1 C、n+1 D、a(n)

(25)A、a(k)>a(i) B、a(k)a(j) D、a(k)

三、程序阅读题(30%,其中第1-2题为选择阅读题,第3-5题为阅读题)1.阅读下列程序在每组选项中选出一正确答案。

【程序】

Private Sub Form_Load()

Timer1.Interval = 1000

End Sub

Private Sub Timer1_Timer()

Static k As Byte

Form1.CurrentX=0: Form1.CurrentY=0 '窗体的所有其他属性均取缺省值

Form1.Cls

If k = 0 Then k = 1 Else k = 0

If k=0 Then Form1.ForeColor = RGB(0, 255, 0) Else _

Form1.ForeColor = RGB(0, 0, 255)

Print Time

End Sub

【供选择的答案】

(26) 激活Timer1后,每间隔1秒显示一次系统时间,方式是:

A、蓝、绿色交替显示

B、蓝色显示

C、绿色显示

D、红色显示

(27) 系统时间的显示位置,是在:

A、窗体右上角

B、窗体左上角

C、窗体右下角

D、窗体左下角

(28) 如果将Timer过程中的语句“Static k As Byte”改为“Dim k As Byte”,激活Timer1

后,窗体系统时间显示上的颜色为:

A、蓝、绿色交替

B、蓝色

C、绿色

D、红色

(29) 如果要将程序中RGB(0, 255,0) 用以下值替代,不可取的是:

A、vbgreen

B、qbcolor(2)

C、green

D、&HFF00

2.界面设计以及运行时HScroll1.Value值为90时的显示分别如下图左、图右所示。

【程序】

Private Sub Form_Load()

Picture1.Width = Picture1.Height

Picture1.Scale (-10, 10)-(10, -10)

Picture1.BorderStyle = 0

HScroll1.Min = 0: HScroll1.Max = 360

HScroll1.SmallChange = 2: https://www.doczj.com/doc/1c17802230.html,rgeChange = 10

End Sub

Private Sub HScroll1_Change()

Dim t As Single

Picture1.Cls

t = HScroll1.Value * 3.14159 / 180

Label1.Caption = HScroll1.Value

Picture1.Circle (0, 0), 10, vbRed

Picture1.Line (0, 0)-(9 * Cos(t), 9 * Sin(t))

End Sub

(30) 滚动条Value属性值为180时,以原点为起点的直线指向:

A、12点方向

B、9点方向

C、6点方向

D、3点方向

(31) 滚动条Value属性值为270时,以原点为起点的直线指向:

A、12点方向

B、9点方向

C、6点方向

D、3点方向

(32) 下列说法中正确的是:

A、拖动滚动条滑块的过程中以及结束后都不会触发HScroll1_Change事件

B、拖动滚动条滑块的过程结束后立即触发HScroll1_Change事件

C、单击滚动条两端箭头时Value的增量为10或-10。

D、单击滚动条上空白区域时Value的增量为2或-2。

3.在窗体上有一组合框,阅读下列程序,运行时在组合框控件中输入字符串

"abc12↙xyz34↙+-*/↙”,其中"↙"代表Enter回车键,输入结束后组合框中各表项依次是什么。

【程序】

Private Sub Form_Load()

Combo1.Clear

End Sub

Private Sub Combo1_keypress(K As Integer)

Dim n As Integer

If K >= Asc("0") And K <= Asc("9") Then K = 0

If K = 13 Then

Combo1.AddItem Combo1.Text, n

n = n + 1

Combo1.SelStart = 0

Combo1.SelLength = Len(Combo1.Text)

End If

End Sub

4.在窗体上有一命令按钮,阅读下列程序,运行时第1次单击Command1输入2、3,第2次单击Command1输入4、5后,窗体上的显示结果是什么。

【程序】

Private Function f(a As Integer, b As Integer) As Integer

f = a

Do While f Mod b <> 0

f = f + a

Loop

End Function

Private Sub Command1_Click() Static k As Integer

Dim m As Integer, n As Integer m = InputBox("m=") n = InputBox("n=") k = k + 1 Print f(m, n) End Sub

5.画出下列程序运行时单击命令按钮Command1后窗体上四个图片框上图案的形状。 【程序】

Private Sub Form_Load() Dim i As Byte For i = 0 To 3

Picture1(i).FillStyle = (i + 1) Mod 2 Picture1(i).Cls Next i End Sub

Private Sub Command1_Click() Dim i As Byte For i = 0 To 3

Picture1(i).Scale (-10, 10)-(10, -10) Next i

Picture1(0).Line (-10, 10)-(0, 0) Picture1(0).Line -(-10, -10)

Picture1(1).Line (0, 0)-(5, -5), , B

Picture1(2).Circle (0, 0), 5, , 0, 3.14159 Picture1(3).Circle (0, 0), 5, , , , 2 End Sub

四、程序设计题(30%)

1. 计算下列数列的值,变量x 与n 的数值用输入对话框输入,计算结果输出到Text1控件。

2. 编程,按Command1输入10个实数到数组中,要求在窗体上输出数组,再输出与整个数组的平均值之差的绝对值为最小的那个数组元素。

3.在窗体上有一个列表框、二个命令按钮,要求实现以下操作:

(1)单击“添加”按钮(Command1)产生50个三位随机整数放入列表框中。 (2)单击“删除”按钮(Command2)删除列表框中的所有素数。

!

!3!2132n x x x x s n

+

??++++=

相关主题
文本预览
相关文档 最新文档