国家二级(VB)机试模拟试卷326附答案解析

国家二级(VB)机试模拟试卷326

选择题

1.在软件开发中,需求分析阶段产生的主要文档是( )。(B)

A. 可行性分析报告

B. 软件需求规格说明书

C. 概要设计说明书

D. 集成测试计划

解析:A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,软件需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

2.算法的有穷性是指( )。(A)

A. 算法程序的运行时间是有限的

B. 算法程序所处理的数据量是有限的

C. 算法程序的长度是有限的

D. 算法只能被有限的用户使用

解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

3.数据库应用系统中的核心问题是(  )。(A)

A. 数据库设计

B. 数据库系统设计

C. 数据库维护

D. 数据库管理员培训

解析:数据库应用系统中的核心问题是数据库的设计。

4.以下打开Visual Basic菜单编辑器的操作中,错误的是(A)

A. 执行“编辑”菜单中的“菜单编辑器”命令

B. 执行“工具”菜单中的“菜单编辑器”命令

C. 单击工具栏中的“菜单编辑器”按钮

D. 右击窗体,在弹出的快捷菜单中选择“菜单编辑器”命令

解析:在“编辑”菜单中没有“菜单编辑器”命令。故A选项错误。

5.窗体上有1个名为Listl的列表框,其中已经输入了若干个项目(如图3所示);还有2个文本框,名称分别为Textl、Text2,1个名称为Commandl的命令按钮,并有以下程序。

(C)

A. 京

B. 北京南京

C. 南京北京

D. 没有匹配的项目

解析:考查循环程序的分析以及列表框属性的应用。函数InStr(Listl.List(k),s)的作用是在Listl.List(k)中从头开始寻找s,找不到就返回0,否则返回s在Listl.List(k)中的位置。整个循环的功能是,从列表框中最后一个列表项开始寻找含有与Textl中字符串相同的子串,如果存在相同的子串,把Listl.List(k)全部连接到str中,并显示在Text2中。

6.在窗体上有一个名称为CD1的通用对话框和一个名称为Command1的命令按钮。要求单击命令按钮时,打开一个保存文件的通用对话框。该窗口的标题为“保存”,缺省文件名为“ABC”,在“文件类型”栏中显示*.txt。则能够满足上述要求的程序是( )。(B)

A. Private Sub Command1_Click()

CD1.FileName=\

B. Private Sub Command1_Click()

CD1.FileName=\

C. Private Sub Command1_Click()

CD1.FileName=\

D. Private Sub Command1_Click()

CD1.FileName=\

解析:本题考查通用对话框。程序中单击命令按钮时,要打开保存对话框,因此设置CD1的Action属性为2,可以使用ShowSave方法,更改CD1的DialogTitle属性为“保存”,同时设胃Filter。属性,将FilterIndex属性设置为2,表示默认的文件类型为“*.txt”,设置其FileName属性为“ABC”,表示确定首次打开“保存”对话框时,在文件名中显示的文件名。

7.下面的数写成普通十进制数是( )。2.65358979335278D-6(B)

A. 0.0000265358979335278

B. 0.00000265358979335278

C. 0.000265358979335278

D. 0.000000265358979335278

解析:浮点数也称为实型数或实数,是带有小数部分的数值。它由3部分组成:符号、指数及尾数。例如123.45678D3或123.45678D+3的双精度数,这其中的”123.45678”部分为尾数部分、”E3”为指数部分(E为符号,3为指数),相当于123.45678乘以10的3次幂。中是”D-6”,那么应该是乘以10的负6次幂,所以选项B正确。

8.以下叙述中错误的是( )。(C)

A. 在程序运行时,通用对话框控件是不可见的

B. 调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可以打开不同的对话框窗口

C. 调用通用对话框控件的ShowOpen方法.能够直接打开在该通用对话框中指定的文件

D. 调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口

解析:调用通用对话框的ShowOpen方法,只是显示文件“打开”对话框,如果ShowOpen方法后面没有其他处理文件的代码,就不能实现打开文件的功能。故选项C错误。

9.窗体上有一个名称为Text1的文本框和一个名称为Command1的命令按钮,要求程序运行时,单击命令按钮(如图所示),就可以把文本框中的内容写至收件Out.txt中,每次写入的内容附加到文件原有内容之后。以下能正确实现上述功能的程序是( )。

(C)

A. Private Sub Command1_Click()

Open\

B. Private Sub C0mmand1_Click()

Open\

C. Private Sub Command1_Click()

Open\

D. Private Sub Command1_Click()

Open\

解析:本题考查文件的打开方式。题目中要求在命令按钮单击事件中,往文件中写入信息,并且是追加到原有信息的后面,因此,要用Append方式打开文件。

10.假定通用对话框的名称为CDl,命令按钮的名称为Commandl,则单击命令按钮后,能使打开对话框的标题为”通用对话框”的事件过程是( )。(C)

A. Private Sub Commandl_click( )

CDl.DialogTitle=“通用对话框”

CD 1.ShowPrinter

End Sub

B. Private Sub Commandl_Click( )

CDI.DialogTitle=“通用对话框”

CDl.ShowFont

End Sub

C. Private Sub Commandl_Click( )

CD 1.DialogTitle=“通用对话框”

CDl.ShowOpen

End Sub

D. Private Sub Commandl_ClickO

CD 1.DialogTitle=“通用对话框”

CDl.ShowColor

End Sub

解析:考查通用对话框的常见属性。通用对话框的标题属性为DialogTitle,如果要打开”打开”对话框可以设置CDl的Action属性为1或者使用ShowOpen方法。

11.下面关于多重窗体的叙述中,正确的是( )。(B)

A. 作为启动对象的Main子过程只能放在窗体模块内

B. 如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载窗体或加载哪一个窗体

C. 没有启动窗体,程序不能执行

D. 以上都不对

解析:本题考查多重窗体。VB允许对多个窗体进行处理,多重窗体(MultiForm)程序中的每个窗体都可以有自己的界面和代码,完成各自的功能。默认第一个窗体为肩动窗体。也可以在“工程”菜单中利用属性对话框的提示自行设置启动窗体。可以在标准模块中定义。Main子过程作为启动窗体,如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后山该过程根据不同情况决定是否加载窗体或加载哪一个窗体。

12.以下能从字符串“VisualBasic”中直接取出子字符串“Basic”的函数是( )。(B)

A. Left

B. Mid

C. String

D. Instr

解析:本题考查字符串函数。函数Left表示从字符串的左边取连续个字符构成子串。Mid可以从字符串的任意位置取出子串。String则返回字符串的第一个字符构成的,含有相同个数字符的子串。Lnstr为字符串匹配函数。

13.确定图片框Picture1在窗体上位置的属性是(  )。(B)

A. Width和Height

B. Left和Top

C. Width和Top

D. Height和Left

解析:确定图片框在窗体上位置的属性是Left和Top,它们使用的是相对坐标,以窗体为参考点。

14.现有如下一段程序:

  x=UCase(InputBox(\(B)

A. 程序运行错

B. 在窗体上显示\

C. 在窗体上显示\

D. 在窗体上显示\

解析:程序中Ucase函数将输入的字母转换为大写,然后通过Select多分支控制语句选择输出不同信息,当输入字母在\

15.下面描述中错误的是( )。(A)

A. 系统总体结构图支持软件系统的详细设计

B. 软件设计是将软件需求转换为软件表示的过程

C. 数据结构与数据库设计是软件设计的任务之一

D. PAD图是软件详细设计的表示工具

解析:详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A错误。

16.下列关于二叉树的叙述中,正确的是(  )。(B)

A. 叶子结点总是比度为2的结点少一个

B. 叶子结点总是比度为2的结点多一个

C. 叶子结点数是度为2的结点数的两倍

D. 度为2的结点数是度为1的结点数的两倍

解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。

17.在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:

Option Base 0

Private Sub Command1_Click()

  Dim A1(4)As Integer, A2(4)As Integer

  For k=0 To 2

    A1(k+1)=InputBox(\(C)

A. 0

B. 1

C. 2

D. 3

解析:程序运行过程如下:程序运行过程如下:

k=0,输入2,A1(k+1)=A1(0+1)=A1(1)=2,A2(3-k)=A2(3-0)=A2(3)=2

k=1,输入4,A1(k+1)=A1(1+1)=A1(2)=4,A2(3-k)=A2(3-1)=A2(2)=4

k=2,输入6,A1(k+1)=A1(2+1)=A1(3)=6,A2(3-k)=A2(3-2)=A2(1)=6

k=3,For循环结束,输出A2(k)的值即A2(3)的值,即2。

18.确定图片框Picturel在窗体上位置的属性是( )。(B)

A. Width和Height

B. Left和Top

C. Width和Top

D. Height和Left

解析:确定图片框在窗体上位置的属性是Left和Top,三们使用韵是相对坐标,以窗体为参考点。

19.设先画了一个Commandl命令按钮,再把此按钮复制到剪贴板中,然后用粘贴的方法建立了一个命令按钮数组,则下面的叙述中错误的是( )。(D)

A. 数组中所有按钮共用同一个Click事件过程

B. 数组中每个按钮的名称(Name属性的值)均为Commandl

C. 若未做修改,数组中所有按钮的外观相同

D. 若未做修改,数组中每个按钮的同一属性的值都相同

解析:控件数组共用同样的事件过程,故A选项正确;控件数组是由一组相同类型的控件组成,这些控件共用一个相同的控件名字,即Name属性相同,命令按钮数组是控件数组的一种,故B选项正确;未经修改控件数组中各控件钮的外观属性是相同的,故C选项正确;在控件数组中各控件的Name属性相同,用来区分各控件的属性是Index,各控件的Index属性值是不相同的,所以D选项错误。

20.要计算x的平方根并放入变量y,正确的语句是(  )。(D)

A. y=Exp(x)

B. y=Sgn(x)

C. y=Int(x)

D. y=Sqr(x)

解析:Exp函数是e为底的指数函数,即ex;Sgn是符号函数,正数返回1,负数返回-1,0返回0;Int是取整函数,取<=N 的最大整数;Sqr是求平方根函数。故D选项正确。

21.下列说法中正确的是( )。(D)

A. 控件数组中所包含的各控件的Index属性值可以相同

B. Erase语句的作用是释放静态数组中各元素所占的内存空间

C. 控件数组中所包含的各控件的Name属性值不能相同

D. 数组下标的下界可以是负数

解析:控件数组的每个元素都有一个与之关联的下标,或称索引(Index),下标值由Index属性指定,故每个元素的Index属性值不同,A选项叙述错误;Erase语句用来重新初始化静态数组的元素,或者释放动态数组的存储空间,B选项叙述错误;数组中的每个控件的Name属性必须相同,C选项叙述错误;在数组定义中下标下界可以是负值,D选项叙述正确。本题选择D选项。

22.编写如下程序代码:

Option Explicit

Private Sub Form_Click()

Dim x As Variant

Dim i As Variant

x=Array(50,27,69,80,45)

For Each i In x

If i Mod 2=0 Then

Print i

End If

Next i

End Sub

以下叙述中正确的是( )。(D)

A. 程序的功能是输出数组x中的所有奇数

B. 将语句For Each i In x改为For i=0 To 5,程序功能不变

C. 变量x和i也可定义为Integer类型,程序功能不变

D. 程序的功能是输出数组X中的所有偶数

解析:程序开始时定义了一个默认数组x和一个变体型变量i,接着通过Array函数给数组赋值,程序的功能是通过For Each……Next循环依次遍历数组中的元素,若某个元素的值能被2整除,则输出该元素,故最终会输出50和80两个值,D选项叙述正确,其他3项叙述均错误。本题选择D选项。

23.下列叙述中正确的是(B)

A. 算法的效率只与问题的规模有关,而与数据的存储结构无关

B. 算法的时间复杂度是指执行算法所需要的计算工作量

C. 数据的逻辑结构与存储结构是一一对应的

D. 算法的时间复杂度与空间复杂度一定相关

解析:算法的效率与问题的规模和数据的存储结构都有关,A错误。算法的时间复杂度,是指执行算法所需要的计算工作量,B正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,C错误。算法的时间复杂度和空间复杂度没有直接的联系,D错误。

24.命令按钮、单选按钮、复选框都可以通过Picture属性在控件上显示图片,但需事先设置某一属性,该属性为(B)

A. Appearance

B. Style

C. DisabledPicture

D. DownPicture

解析:命令按钮、单选按钮、复选框的style属性为0时,是标准方式,为1时是图片方式。在style属性设置为1时,可使用Picture属性(未选定时的图标或位图),DownPicture属性(选定时的图标或位图)和DisablePicture属性(禁止选择时的图标或位图)。本题选B)。

25.现有语句: y=IIf(x>0, x Mod 3, 0)

设x=10,则y的值是(  )。(B)

A. 0

B. 1

C. 3

D. 语句有错

解析:IIF是条件函数,它的语法格式是:

IIf(,,),本题中,x=10时,条件表达式x>0的值为True,执行x Mod 3 即10 Mod 3 结果为1。故选B。

26.有下面的程序段:

A = 1.2

B = 321

C = Len(Str(A) + Str(B))

Print C

执行上面的程序段,输出结果是(D)

A. 5

B. 6

C. 7

D. 8

解析:Str函数将数字A和B转换为字符串形式,Len用来计算字符串的长度。 Str(A)=\

27.有如下数据定义语句:

Dim X,Y As Integer

以上语句表明(  )。(C)

A. X、Y均是整型变量

B. X是整型变量,Y是变体类型变量

C. X是变体类型变量,Y是整型变量

D. X是整型变量,Y是字符型变量

解析:用Dim可同时定义多个变量,但变量要分别声明其数据类型,如果不声明数据类型,默认是Variant变体型变量。

本题中,变量X定义时没声明数据类型,所以为Variant型变量,变量Y是整型变量。故C选项正确。

28.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Option Base 1

Private Sub Command1_Click()

Dim a As Variant

Dim i As Integer, m As Integer, index As Integer

a = Array(-10, 23, -50, 90)

m = a(LBound(A))

index = LBound(A)

For i = LBound(A) To UBound(A)

If a(i) < m Then

m = a(i)

index = i

End If

Next i

Print index

End Sub

程序运行时,单击Command1,则在窗体上输出的结果是(D)

A. 0

B. 1

C. 2

D. 3

解析:UBound函数返回为指定的数组维可用的最大下标,LBound函数返回为指定的数组维可用的最小下标。程序开头定义了Option Base 1这时定义一维数组下标从1开始;故LBound(A)=1,Ubound(A)=4;m = a(LBound(A))=a(1)=-10,index=LBound(A)=1。If 条件 Then部分,如果选择的条件为真,则执行then部分;For i=1 To 4,当i=1时,if条件a(i)=a(1)=-10<-10为假,不执行then部分;当i=2时,if条件a(i)=a(2)=23<-10为假,不执行then部分;当i=3时,if条件a(i)=a(3)=-50<-10为真,执行then部分,m=a(3)=-50,接着执行index=i=3;当i=4时,if条件a(i)=a(4)=90<-10为假,不执行then部分;外层for循环结束,故index=3。本题正确选项为D。

29.软件需求分析阶段的主要任务是(D)

A. 确定软件开发方法

B. 确定软件开发工具

C. 确定软件开发计划

D. 确定软件系统的功能

解析:需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审,包括确定软件系统的功能,D选项正确。A、B、C选项均为开发阶段工作。

30.有三个关系R、S和T如下:  

由关系R和S通过运算得到关系T,则所使用的运算为(  )

(D)

A. 笛卡尔积

B. 交

C. 并

D. 自然连接

解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接操作。

31.设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas。两个窗体上分别只有一个名称为Command1的命令按钮。

Form1的代码如下:

Public x As Integer

Private Sub Form_Load()

  x=1

  y=5

End Sub

Private Sub Command1_Click()

  Form2.Show

End Sub

Form2的代码如下:

Private Sub Command1_Click()

  Print Form1.x, y

End Sub

Module1的代码如下:

Public y As Integer

运行以上程序,单击Form1的命令按钮Command1,则显示Form2;再单击Form2上的命令按钮Command1,则窗体上显示的是(  )。(A)

A. 1 5

B. 0 5

C. 0 0

D. 程序有错

解析:在Form1窗体模块中x被定义为全局变量,这使得它的值可以在其他模块中通过\

32.向文本框中输入字符时,下面能够被触发的事件是(  )。(B)

A. GotFocus

B. KeyPress

C. Click

D. MouseDown

解析:向文本框输入文本时,有按键的动作,所以会触发KeyPress事件。故选B。

33.某系统总体结构图如下图所示:

该系统总体结构图的深度是(  )。

(C)

A. 7

B. 6

C. 3

D. 2

解析:根据总体结构图可以看出该树的深度为3,比如:XY系统–功能2–功能2.1,就是最深的度数的一个表现。

34.下列关于数据库设计的叙述中,正确的是(  )。(A)

A. 在需求分析阶段建立数据字典

B. 在概念设计阶段建立数据字典

C. 在逻辑设计阶段建立数据字典

D. 在物理设计阶段建立数据字典

解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

35.设在工程文件中有一个标准模块,其中定义了如下记录类型

Type Books

  Name As String * 10

  TelNum As String * 20

End Type

在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成该操作的事件过程是(  )。(A)

A. Private Sub Command1_Click()

Dim B As Books

Open \

B. Private Sub Command1_Click()

Dim B As Books

Open \

C. Private Sub Command1_Click()

Dim B As Books

Open \

D. Private Sub Command1_Click()

Open \

解析:数据文件的写操作分为3步,即打开文件、写入文件和关闭文件。

首先,在顺序文件中打开文件写入数据的打开方式为:Open 文件名 For Output As #文件号。因此B、C选项排除,只看A、D选项。

写入顺序文件Print #语句格式为:Print #文件号,变量名,变量名…,Write语句的的格式与Print语句一样:Write #文件号,变量名,变量名。而记录类型变量不能整体引用,需要指明记录变量中的成员名,格式为:记录变量名.成员名,Books类型变量B成员Name和TelNum赋值和引用应该是B.Name、B.TelNum,因此A选项正确。

36.下面关于菜单的叙述中正确的是(A)

A. 为了使得选中一个菜单项就可以执行某种操作,要为它的Click事件过程编写执行该操作的代码

B. 同一级菜单中的菜单项不能同名,但不同级菜单中的菜单项可以同名

C. 只能使用鼠标右键把弹出式菜单弹出来

D. 弹出式菜单中的菜单项不能再有自己的子菜单

解析:Click事件在鼠标单击时触发,要使得选中菜单项就执行某种操作,可以在Click事件过程中编写需要执行的操作代码。A)正确。VB中的菜单项不管是同级还是不同级都不允许同名,B)错误。一般情况下,不显示弹出式菜单。需要时用PopupMenu方法显示弹出式菜单。C)错误。VB中允许有多级弹出式菜单,D)错误。

37.在利用菜单编辑器设计菜单时,为了把组合键\(B)

A. 退出(X&)

B. 退出(&X)

C. 退出(X#)

D. 退出(#X)

解析:要使菜单项的快捷键设置为Alt+字母,就要在菜单项的标题中设置为 &+字母。本题把\

38.窗体上有一个名称为Command1的命令按钮,其单击事件过程及相关的代码如下:

Private Sub Command1_Click()

Dim x As Integer, y As Integer

x = Val(InputBox(\(C)

A. 27

B. 28

C. 33

D. 38

解析:函数fun执行后,x值被改变,y值不变。即x=9,y=5;计算得结果为33,选C)。

39.算法的空间复杂度是指(  )。(A)

A. 算法在执行过程中所需要的计算机存储空间

B. 算法所处理的数据量

C. 算法程序中的语句或指令条数

D. 算法在执行过程中所需要的临时工作单元数

解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A

40.下列叙述中正确的是(  )。(B)

A. 循环队列是队列的一种链式存储结构

B. 循环队列是队列的一种顺序存储结构

C. 循环队列是非线性结构

D. 循环队列是一种逻辑结构

解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。

基本操作题

请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

41.在名称为Form1的窗体上画一个名称为CD1的通用对话框,通过属性窗口设置CD1的初始路径为C:\,默认的文件名为None,标题为“保存等级考试”,如图2所示。

[操作步骤]

步骤1:新建一个“标准。EXE”工程,选择[工程]→[部件]命令,在弹出的“部件”对话框的列表中选中“MicroSoft Common DiMog Control6.0”项目,单击“确定”按钮。

步骤2:在窗体Form1上画一个通用对话框,其相关属性设置如表12—7所示。

[*]

步骤3:编写Form1的Iroad事件,加入下面的代码:

CD1.ShowSave

步骤4:按要求将文件保存至考生文件夹中。

解析:通用对话框的InitDir属性用于为打开或另存为对话指定初始的目录,如果此属性没有指定,则使用当前目录。

通用对话框的初始路径由InitDir属性设置,默认文件名由FileName属性设置,标题由DialogTitle属性设置。

42.在名称为Form1的窗体上设计一个菜单。要求在窗体上添加名为menu0,标题为“菜单命令”的主菜单,再添加两个名称分别为“menu1”、“menu2”,标题分别为“不可用菜单项”、“上一菜单项可用”的子菜单,并且使程序运行时,menu1子菜单不可用,menu2子菜单已经选中(运行时的效果如图3所示)。

[操作步骤]

步骤1:新建一个“标准EXE”工程,打开VB菜单设计器设计菜单,各菜单项及属性设置如表12—8所示。

[*]

步骤2:打开代码编辑窗口,编写“上一菜单项可用”命令的Click事件过程。

参考代码:

Private Sub menu2_Click()

menu1.Enabled=True

End Sub

步骤3:按要求将文件保存至考生文件夹中。

解析:①VB中的菜单是通过菜单编辑器来设计的。菜单编辑器中的基本设置项有:“标题”项,对应出现在菜单中的显示内容;“名称”项,系统识别菜单项的唯一关键字(不能重复);“索引”项,用于设置菜单数组中各元素的索引号;“快捷键”项,是一个下拉列表框,用于设置菜单项的快捷键;“帮助上下文”项,设置当鼠标移动到某菜单项上按<Fl>键时显示的帮助信息在帮助文件中的对应位置;Visible(可见)项,用于设置控件或菜单项在程序运行时是否可见,值为True表示可见,值为False表示不可见;Enabled(有效)项,用于设置控件或菜单项在程序运行时是否有效,值为True时表示有效,值为False时表示无效(显示为灰色)。通过编辑按钮区的七个按钮可对菜单进行添加、插入、删除、提升(设置为上一级菜单)、缩进(设置为下一级菜单)、上移、下移等操作。

②文本框的Text属性用于设置或返回其显示的文本内容。

本题原程序设计思路:在“上一菜单项可用”命令的单击事件过程中,通过语句设置“不可用菜单项”命令的Enabled属性值为True。

简单应用题

43.(1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有名称为Timerl的定时器,以及名称为Linel和Line2的两条水平直线。请用名称为Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,其显示形式为圆,并设置适当属性使其满足以下要求:

①圆的顶端距窗体Form1顶端的距离为360;

②圆的颜色为红色(红色对应的值为&H000000FF&或&HFF&),如图3.124所示。

程序运行时,Shape1将在Linel和Line2之间运动。当Shape1的顶端到达Linel时,会自动改变方向而向下运动;当Shape1的底部到达Line2时,会改变方向而向上运动。

文件中给出的程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容,使其实现上述功能。

注意:不能修改程序的其他部分和已给出控件的属性。最后将修改后的文件按原文件名存盘。

(2)在考生文件夹下有一个工程文件sjt4.vbp,包含了所有控件和部分程序,如图3.125所示。程序功能如下:

①单击“读数据”按钮,可将考生文件夹下in4.dat文件中的100个整数读到数组a中;

②单击“计算”按钮,则根据从名称为Combol的组合框中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框Text1中。“读数据”按钮的Click事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。

注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

(1)步骤1:打开考生文件下的本题工程文件sjt3.vbp,在窗体上两条水平直线间画一个形状控件,并如表4-74设置其属性。

[*]

步骤2:在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码:

Timerl.Enabled=True

If Shape1.Top<=Linl.Y1 Then

If Shape1.Top+Shape1.Height >=

Lin2.Y1 Then

步骤3:按要求将文件保存至考生文件夹中。

(2)步骤1:打开考生文件夹中的本题工程文件sjt4.vbp,在代码编辑窗口,编写“计算”按钮的单击事件过程以及三个自定义过程。参考代码:

Private Sub Command2_Click()

Select Case Combol.ListIndex

Case 0

Text1=everl()

Case 1

Text1=odd()

Case 2

Text1=all()

End Select

End Sub

Function eyen()

Dim s As Single,n As Integer

s=0

For k=1 To 100

If a(k)/2=Fix(a(k)/2) Then

s=s+a(k)

n=n+1

End If

Next

s=s/n

even=CInt(s)

End Function

Function odd()

Dim S As Single,n As Integer

s=0

For k=1 To 100

If a(k)/2 Fix(a(k)/2)Then

s=s+a(k)

n=n+1

End If

Next

s=s/n

odd=CInt(s)

End Function

Function all()

Dim s As Single,n As Integer

s=0

For k=1 To 100

s=s+a(k)

Next

s=s/100

all=CInt(s)

End Function

步骤2:按键运行程序,先单击“读数据”按钮,然后选择组合框中的一项再单击“计算”按钮,最后单击窗体右上角的关闭按钮结束程序。

步骤3:按要求将文件保存至考生文件夹中。

解析:(1)本题在计时器的Timer事件过程中,Shape1每次上下移动的距离为s(值为负向上移动,值为正向下移动,初值为-40),若Shape1向上移动后其Top属性值小于或等于Linel的Y1(或Y2)属性值,则s取其相反数,Shape1向下移动。若Shape1向下移动后其Top属性值与其Width属性值之和大于或等于Line2的Y1(或Y2)属性值,则s再取其相反数,Shape1向上移动。

窗体加载时,计时器启动,Shape1开始在Linel和Line2之间运动。

(2)本题源程序在“计算”按钮的单击事件过程中,逐一检查组合框中的列表项是否选中,将选中列表项的索引号作为判断依据,根据选中不同的项来调用不同的过程。过程even用来求得数组中的偶数平均值,首先预设累加和变量s=0以及计数器n=0,然后通过一个执行100次的For循环来遍历整个数组,依次判断数组元素是否为偶数,若是偶数则将其加入累加变量s中以及令计数器加1,循环结束后用累加和除以计数器即得到平均值。同理编写odd过程用来求得数组中奇数的平均值,all过程用来求得数组中所有数的平均值。

综合应用题

44.在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。

要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后将修改后的文什按原文件名存盘。

步骤1:打开本题丁程文件。

步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。

Dim stepy As Integer ’纵向移动增量

Dim stepx As Integer ’横向移动增量

Const LEFT—BUTTON=1

Private Sub Form MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)

Dim x0 As Integer,y0 As Integer,a AsSingle,radius Asjnteger

radius=Shape1.Width/2 ’圆的半径

I f Button=LEFT BUTTON Then

’单击鼠标左键移动

x0=Shape1.Left+radius’圆心的x坐标

y0=Shapel.Top+radius’圆心的y坐标

If x=x0 Then’垂直移动

stepy=Sgn(Y-y0)*50

stepx=0

E1se’倾斜移动

a=(y—y0)/(x—x0) ’斜率

stepx=Sgn(x—x0)*50

stepy=a*stepx

’通过stepx确定stepy的值

If Abs(stepy)>Abs(stepx)Then

stepy=Sgn(y—y0)*50

stepx=stepy/a

End If

End If

Timer1.Enabled=’单击鼠标左键则触发Timer事件

Else

Timer1.Enabled=False’单击鼠标右键则停止Timer事件

End If

End Sub

Private Sub Timerl Timer()

Shape1.Move Shape1.Left+s tepx,Shape1.Top+stepy’移动shape1.

End Sub

步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析:通过鼠标左键单击位置的坐标及圆心的坐标确定一条直线,并沿着这条直线移动,通过计算这条直线的斜率,得知水平位移和竖直位移,再通过形状控件的Move方法、Left和Top属性实现形状控件位置的移动。

sgn(x)函数返回x的正负号,如果x为正数,返同1;如果为负数,返回-1;如果为0,则返回0。

资源下载《国家二级(VB)机试模拟试卷326附答案解析.doc》 文档下载价格为10下载币,请先
将本套试题Word文档或文章下载到电脑,方便收藏和打印
资源下载
《国家二级(VB)机试模拟试卷326附答案解析.doc》
试题含答案和解析word文档下载价格:10 下载币
《国家二级(VB)机试模拟试卷326附答案解析.doc》
试题含答案和解析word文档VIP优惠:免费
将本套试题Word文档或文章下载到电脑,方便收藏和打印
0

评论0

没有账号? 注册  忘记密码?