文档库 最新最全的文档下载
当前位置:文档库 › 2014年7月程序设计试题和答案

2014年7月程序设计试题和答案

2014年7月程序设计试题和答案
2014年7月程序设计试题和答案

2014 年 7 月高等教育自学考试Visual Basic程序设计试题

(课程代码07759 )

一、单项选择题(本大题共16 小题,每小题 1 分,共 16 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1. 下列能从字符串“Microsoft”中直接取出子字符串“Micro ”的函数是()

A. Mid

B. Left

C. Instr

D. String

2. 下列不合法的 Visual Basic变量名是()

A. c_b

B. andif

C. cb6

D. _xyz

3. 如果将布尔常量值True赋值给一个整型变量,则整型变量的值为()

A. False

B. True

C. -1

D.1

4. 在窗体上有一个名称为Text1 的文本框,影响 Text1的输入最大字符数量的属性是()

A. Visible

B. TabStop

C. MaxLength

D. SelLength

5.InputBox 函数的返回值类型是()

A. 字符串型

B.变体型

C. 数值型

D.数值或字符串型(视输入的数据而定)

6. 设 a=8,b=6, 则执行 x=IIf(b\a*a=10,0.-1)后, x 的值为()

A.1

B.0

C. 使用错误

D.-1

7. 当某个控件获得焦点时,将会触发的事件是()

A. SetFocus

B. GotFocus

C. ReceiveFocus

D.无事件触发

8. 类模块文件的扩展名为()

A. .cls

B. .frx

C. .bas

D. .vbp

9. 将 CommonDialog 通用对话框设置为“另存为”对话框,须选择的方法为()

A. ShowOpen

B. ShowColor

C. ShowSave

D. ShowFont

10. 对窗体进行操作时,能实现将窗体装入内存和显示的方法是()

A. Hide

B. Unload

C. Load

D. Show

11. 按照数据的编码方式,文件可以分为()

A. 程序文件和数据文件

B.顺序文件盒随机文件

C.ASCII 文件盒二进制文件

D.磁盘文件和打印文件

12. 在菜单项的属性中,能使该菜单项失效的属性是()

A. Enabled

B. Checked

C. Visible

D. Caption

13. 要想从过程调用后返回一个整数型结果,则下列过程说明正确的是()

A. Sub f1 ( Byval x As Single) As Integer

B. Function f2(Byval x As Integer)As Single

C. Sub f3(x As Integer)As Single

D. Function f4(x As Integer)As Integer

14.语句 Dim Arr(-4 To 3)定义的数组 Arr的元素个数是()

A.7

B.8

C.9

D.10

15.为将多个语句放在同一行中书写,下列合法的语句行为()

A. x=1:y=5:z=10

B. x=1. y=5. z=10

C. x=1, y=5, z=10

D. x=1;y=5; z=10

16.在窗体 Form1 上显示字符" Hello "的正确语句是()

A. Form1.Display"Hello "

B. Form1.Print"Hello "

C. Form1.Output" Hello"

D. Form1.Write" Hello "

二、判断改错题(本大题共10 小题,每小题 2 分,共 20 分)判断下列每小题的正误。正确的在题后括号

内打“√” ;错误的打“×” ,并改正划线部分。

17.若用户在键盘上按下一个键,则会产生一个Click事件。()

18.在 Visual Basic中, &H36是十六进制的数值常数。()

19.在随机文件中,每个记录的长度和记录中的每个字段的长度都是固定的。()

20.单选钮控件和复选框控件都具有Value属性,在这两个控件中,这个属性的取值范围相同。()

21.在 Visual Basic中,参数通过两种方式传送,即传地址和传值。()

22.用户可以通过在组合框中键入文本或选择列表中的项目来进行选择。()

23.当定时器控件的Interval 属性值设置为0 时,会连续触发Timer 事件。()

24.可用 Private在标准模块中定义全局变量或数组。()

25.在 Visual Basic中允许把几个语句放在一行中,各条语句之间用冒号隔开。()

26.设计菜单中每一个菜单项分别是一个控件,每个控件都有自己的Name属性。()

三、简答题(本大题共 2 小题,每小题 8 分,共 16 分)

27.VB 的面向对象与一般面向对象程序设计有何不同?

28.VB 中的鼠标事件MouseDown和 MouseUp、 MouseMove事件有什么异同?

四、解读程序题(本大题共 2 小题,每小题 6 分,共 12 分)解读程序,根据题目对程序的说明,在程序中空格

处填写正确代码。填错、未填均无分。

29.在窗体上绘制一个名称为 Command1的命令按钮,然后编程实现如下功能:通过调用过程 Change,调换数组 m中元素的存放位置,即 m(1) 与 m( 10)的值互换, m(2)与 m( 9)的值互换,以此类推,直至全部

元素互换完毕。

Private Sub Command1_Click()

Dim m(1 To 10)As Integer

Dim iAs Integer

For i=1 To 10

m(i)=i*2

Next i

Call Change_____________

For i=1 To 10

Printm(i)

Next i

End Sub

Sub Change (n()As Integer)

Dim i ,j ,k ,t As Integer

k=UBound(n)

For i=1 To k/2

_________________

t=n(i)

n(i)=n(j)

_________________

Next i

End Sub

30. 设计一个计时程序。该程序用户界面如题30 图所示,由两个文本框显示时间:秒(Text1 )和十分之一秒( Text2 );两个按钮进行操作:开始计时按钮(Begin )、停止计时按钮(Stop )。另还有计时器控件Timer1 。程序运行后,单击开始计时按钮,则开始计时,文本框中显示秒数;单击停止计时按钮,则计时

停止;单击窗口则退出程序的执行。

Dim s As Integer

Private Sub Form_Load( )

Timer1.Enabled=False

Text1.Text=0

Text2.Text=0

End Sub

Private Sub Form_Click()

___________________

End Sub

Private Sub Timer1_Timer( )

s=s+1

Text1.Text=CStr(s\10)

Text2.Text=_______________

End Sub

Private Sub Begin_Click( )

s=0

Timer1.Interval=100

Timer1______________

End Sub

Private Sub Stop_Click( )

Timer1.Enabled=False

End Sub

五、程序阅读题(本大题共 4 小题,每小题 4 分,共 16 分)阅读程序,在题后的空格处填写程序运行的结果。填错、未填均无分。

31. 在窗体上有一个命令按钮(Command1),编写如下程序,当运行程序后,单击命令按钮,窗体上显示的值是 ____________ 。

Private Sub Command1_Click()

Dim x As Integer, y As Integer

x=-2

If Sgn(x) Then

y=Sgn(x^2)

Else

y=Sgn(x)

End If

Print y

End Sub

32.在窗体上有一个文本框( Text1 ),编写如下程序,当运行程序后,单击命令按钮,文本框中显示的值

是 ____________ 。

Private Sub Form_Load( )

Dim i As Integer, sum As Integer

Text1.Text=""

For i=1 To 7

sum=sum + i

Next i

Text1.Text=sum

End Sub

33.在窗体上有一个命令按钮( Command1)和一个文本框( Text1 ),编写如下程序,当运行程序后,单击命令按钮,文本框中显示的值是 ____________ 。

Private Sub Command1_Click()

Dim St(8,8) As Integer

Dim i ,j As Integer

For i=1 To 4

For j=2 To 4

St(i ,j)=i+2*j

Next j

Next i

Text1.Text= St(2 ,4)+ St(4 ,4)

End Sub

34.下列程序执行时,外层循环语句的循环次数是_____________ 。

Private Sub sun( )

Dim iSum, i, j As Integer

i=1:j=1

Do

Do

iSum=iSum+1

j=j+3

Print j;

Loop Until j>8

i=i+2

Loop Until i>6

Print iSum

End Sub

六、编程题(本大题共 2 小题,每小题10 分,共 20 分)编写程序实现题目所给要求。

35.编写程序,用近似公式:

41111... ( 1 )n11.

3572n1

求的近似值,直到最后一项的绝对值小于10 4为止。

36. 编写一个计算表达式

m!

m和 n 的值,编写值的程序( m>=n>=0),要求:用输入对话框输入

n! ( m n )!

函数 Function Multiply(x as Integer)求 x! 的值,调用 Multiply计算表达式。

2014 年 7 月高等教育自学考试

Visual Basic程序设计试题答案及评分参考

(课程代码 07759 )

一、单项选择题(本大题共16 小题,每小题 1 分,共 16 分)

1—— 5: BDCCA 6 —— 10: DBACD 11—— 16: CADBAB

二、判断改错题(本大题共10 小题,每小题 2 分,共 20 分)

题号判断更正

17×(1分)KeyPress (1 分)

18√(2分)

19√(2分)

20×(1分)不相同( 1 分)

21√(2分)

22√(2分)

23×(1分)停止( 1 分)

24×(1分)Public ( 1 分)

25√(2分)

26√(2分)

三、简答题(本大题共 2 小题,每小题 8 分,共 16 分)

【评分参考】

(1)要点回答准确完整,可以得满分。

(2)回答要点所用词语、句式、前后顺序与参考答案不同,只要意思正确,就应给分。

(3)要点回答不完整,也应酌情给分。

27.( 1)Visual Basic 中的对象与面向对象程序设计中的对象在概念上是一样的,但在使用上有很大区别。

(3 分)

( 2)在面向对象程序设计中,对象由程序员自己设计,而在Visual Basic中,有系统设计好的预定义对象和用户定义的对象。( 3 分)

( 3)在面向对象程序设计中,操作对象的时候需要复杂的编程,在Visual Basic中,因为封装了很多预定义的操作,因此对对象的操作更简单。(2 分)

28. ( 1)三个鼠标事件的相同点是它们都在控件区域对鼠标的操作而触发的事件,(2分)都能传递当前操

作的鼠标按钮、鼠标所在位置、键盘辅助键的状态值等参数。(2 分)

( 2) MouseDown 事件是按下鼠标按钮时触发的事件;MouseUp 事件是松开鼠标按钮时触发的事件;

MouseMove事件是移动鼠标时触发的事件。(2分)

(3) MouseDown和 MouseUp事件能用鼠标按钮参数判断是否按下或松开某一个按钮,不能检查两个按钮被同时按下或松开; MouseMove事件能根据按钮参数来判断是按下了一个还是同时按下两个或

三个按钮。( 2 分)

四、解读程序题(本大题共 2 小题,每小题 6 分,共 12 分)

29.m(2 分)

j=k-i+1( 2分)

n(j)=t( 2分)

30.End(2 分)

CStr(s Mod 10)(2 分)

Enabled=True( 2分)

五、程序阅读题(本大题共 4 小题,每小题 4 分,共 16 分)

31.1

32.28

33.22

34.3

六、编程题(本大题共 2 小题,每小题10 分,共 20 分)

【评分参考】

( 1)程序结构完整,流程合理,算法正确,给满分。

( 2)变量没有声明,扣 1 分;主流程不清晰,扣 3 分;关键算法错误扣 3 分;重要代码缺少,扣 3 分。( 3)如果思路正确,但代码不完整的,根据代码质量适当给分。

35.Private Function CalaPI( )As Single

Dim n As Integer

Dim nv ,pi As Single(1 分)

Do(2 分)

n=n+1

nv=(-1)^(n-1)*(1/(2*n-1))(3 分)

pi=pi + nv(2 分)

Loop Until Abs(nv)<0.0001

CalaPI=pi*4(2 分)

End Function

36.Private Sub Command1_Click ()

Dim result As Single

Dim m As Integer, n As Integer(1分)

m=Val (InputBox("请输入 m的值:") ) ( 1 分)

n=Val (InputBox("请输入 n 的值:") )

If(m>n And n>0)Then(1 分)

result=Multiply(m)/(Multiply(n)*Multiply(m-n))(2 分)

Else

result=0(1 分)

End If

MsgBox result

End Sub

Private Function Multiply(x As Integer)As Integer

Dim iAs Integer

Dim value As Integer(1 分)

value=1

For i=1 To x(1分 )

value=value*i (1分 )

Next i

Multiply=value(1分 )

End Function

相关文档