1、国家二级(VB)机试模拟试卷 172 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA2.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的
2、动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定3.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.D(n 2 )C.O(log 2 n)D.o(nlog 2 n)4.下列叙述中正确的是( )。(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间5.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制流B.事
3、件驱动C.模块调用D.数据流6.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:2.00)A.NS 图B.DFD 图C.PAD 图D.程序流程图7.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性B.分类性C.多态性D.标识唯一性8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对一D.多对多9.在数据管理技术发展的三个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同10.有三个关系 R、S 和 T 如下: (分数:2.00)A.
4、笛卡尔积B.交C.并D.自然连接11.以下不能输出“Program”的语句是( )。(分数:2.00)A.Print Mid(“VBProgram“,3,7)B.Print Right(“VBProgram“,7)C.Print Mid(“VBProgram“,3)D.Print Left(“VBProgram“,7)12.以下叙述中错误的是( )。(分数:2.00)A.在通用过程中,多个形式参数之间可以用逗号作为分隔符B.在 Print 方法中,多个输出项之间可以用逗号作为分隔符C.在 Dim 语句中,所定义的多个变量可以用逗号作为分隔符D.当一行中有多个语句时,可以用逗号作为分隔符13.设
5、 a=4,b=5,c=6,执行语句 Print aA.TmeB.FalseC.出错信息D.014.执行下列语句: strlnput=InputBox(“请输入字符串“,“字符串对话框“,“字符串“) 将显示输入对话框。此时如果直接单击“确定”按钮,则变量 strInput 的内容是( )。(分数:2.00)A.”请输入字符串”B.”字符串对话框”C.”字符串”D.空字符串15.以下关于过程及过程参数的描述中,错误的足( )。(分数:2.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体
6、(Form)可以作为过程的参数16.在窗体上有两个名称分别为 Text1、Text2 的文本框,一个名称为 Command1 的命令按钮。运行后的窗体外观如图所示。 (分数:2.00)A.Open“c:Test2dat“For Output As #1 Put #1,1,p Close #1B.Open“c:Test2dat“For Random As #1 Get #1,1,p Close #1C.Open“c:Test2dat“For Random As #1 Len=Len(p) Put #1,1,p Close #1D.Open“c:Test2dat“For Random As #1
7、Len=Len(p) Get #1,1,p Close #117.假定有以下循环结构: Do Until 条件表达式 循环体 Loop 则以下正确的描述是( )。(分数:2.00)A.如果“条件表达式”的值是 0,则一次循环体也不执行B.如果“条件表达式”的值不为 0,则至少执行一次循环体C.不论“条件表达式”的值是否为“真”,至少要执行一次循环体D.如果“条件表达式”的值恒为 0,则无限次执行循环体18.执行语句 Dim X,Y As Integer 后,( )。(分数:2.00)A.X 和 Y 均被定义为整型变量B.X 和 Y 均被定义为变体类型变量C.X 被定义为整型变量,Y 被定义为变
8、体类型变量D.X 被定义为变体类型变量,Y 被定义为整型变量19.以下关系表达式中,其值为 True 的是( )。(分数:2.00)A.XYZ“XYz“B.VisualBasic“visualbasic“ C.the=“there“D.Integer)&b$&Right$(a$,12) 后,变量 c$的值为( )。(分数:2.00)A.Visual BASIC ProgrammingB.VISUAL C+Programming C.Visual C+ProgrammingD.VISUAL BASIC Programming解析:解析:UCase(Left(a$,7)是从字符串 a 的左边向右取
9、出 7 个字符,然后再全部转换为大写字母,结果是:“VISUAL “; Right$(a$,12)是从字符串 a 的右边向左取出 12 个字符,结果为“ Programming“,&是字符串连接符,把“VISUAL Programming“连接在一起,合成字符串“VISUAL21.设窗体上有一个列表框控件 List1,含有若干列表项。以下能表示当前被选中的列表项内容的是( )。(分数:2.00)A.List1ListB.List1ListIndexC.List1Text D.List1Index解析:解析:List1 的 List 属性是设置或返回列表框中的列表项内容;ListIndex 属性
10、设置或返回当前选中的列表项的索引值;Index 属性是用来区分列表框控件数组中各 List 控件;Text 属性设置或返回当前所选中列表项的文本内容。故选 C。22.在窗体上画一个文本框(名称为 Text1)和一个标签(名称为 Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是( )。(分数:2.00)A.Private Sub Text1_Change() Label1Caption=Str(Len(Text1Text) End Sub B.Private Sub Text1_Click() Label1Captio
11、n=Str(Len(Text1Text) End SubC.Private Sub Text1_Change() Label1Caption=Text1Text End SubD.Private Sub Label1_Change() Label1Caption=Str(Len(Text1Text) End sub解析:解析:根据题意可知,在文本框中输入字符这个动作使标签上显示的内容发生变化,说明是文本框触发了某事件,排除 D 选项;文本框中每输入一个字符,标签中立即就会发生变化,故是 Change 事件,排除 B 选项;标签中显示的是文本框中字符的个数,不是输入的内容,排除 C 选项。故 A
12、 选项正确。23.在窗体上画两个单选按钮,名称分别为 Option1、Option2,标题分别为“宋体”和“黑体”;1 个复选框(名称为 Check1,标题为“粗体”)和 1 个文本框(名称为 Text1,Text 属性为“改变文字字体”),窗体外观如图所示。程序运行后,要求“宋体”单选按钮和“粗体”复选框被选中,则以下能够实现上述操作的语句序列是( )。 (分数:2.00)A.Option1Value=False Check1Value=TrueB.Option1Value=True Check1Value=0C.Option2Value=False Check1Value=2D.Optio
13、n1Value=True Check1Value=1 解析:解析:单选按钮控件的 Value 属性值为 True 表示被选中,False 表示未被选中;复选框控件的Value 属性值为 0 表示未选中,1 表示选中,2 表示禁止。本题中是单选按钮和复选框都被选中,故 D 选项正确。24.以下说法中正确的是( )。(分数:2.00)A.当焦点在某个控件上时,按下一个字母键,就会执行该控件的 KeyPress 事件过程 B.因为窗体不接受焦点,所以窗体不存在自己的 KeyPress 事件过程C.若按下的键相同,KeyPress 事件过程中的 KeyAscii 参数与 KeyDown 事件过程中的
14、KeyCode 参数的值也相同D.在 KeyPress 事件过程中,KeyAscii 参数可以省略解析:解析:B 选项错误原因:窗体有自己的 KeyPress 事件过程; C 选项错误原因:KeyPress 事件过程中的 KeyAscii 参数返回按键的 ASCll 码值,大小写字母返回值不同;而 KeyE)own 事件过程中的 KeyCode参数返回的是按键代码,大小写字母返回值相同。故按下的键相同时,keyAscii 和 KeyCode 参数不一定返回相同值; D 选项错误原因:KeyPress 事件中的 KeyAscii 参数不能省略。 A 选项正确。25.假定通过复制、粘贴操作建立了一
15、个命令按钮数组 Command1,以下说法中错误的是( )。(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.若未做修改,数组中每个命令按钮的大小都一样C.数组中各个命令按钮使用同一个 Click 事件过程D.数组中每个命令按钮的 Index 属性值都相同 解析:解析:命令按钮控件数组中各控件用相同的名称和同_Click 事件过程,大小也一样,但是为了区分它们,各控件的 Index 属性值是不同的。故 D 选项错误。26.以下关于菜单的叙述中,错误的是( )。(分数:2.00)A.当窗体为活动窗体时,用 Ctrl+E 键可以打开菜单编辑器B.把菜单项的
16、Enabled 属性设置为 False,则可删除该菜单项 C.弹出式菜单在菜单编辑器中设计D.程序运行时,利用控件数组可以实现菜单项的增加或减少解析:解析:当菜单项的 Enabed 属性值设置为 False 时,菜单项只是变为无效项,不可用,不会删除该菜单项。故 B 选项错误。27.以下叙述中错误的是( )。(分数:2.00)A.在程序运行时,通用对话框控件是不可见的B.调用同一个通用对话框控件的不同方法(如 ShowOpen 或 ShowSave)可以打开不同的对话框窗口C.调用通用对话框控件的 ShowOpen 方法能够直接打开在该通用对话框中指定的文件 D.调用通用对话框控件的 Show
17、Color 方法,可以打开颜色对话框窗口解析:解析:调用通用对话框的 ShowOpen 方法,只是显示文件“打开”对话框,如果 ShowOpen 方法后面没有其他处理文件的代码,就不能实现打开文件的功能。故选项 C 错误。28.下面控件中,没有 Caption 属性的是( )。(分数:2.00)A.复选框B.单选按钮C.组合框 D.框架解析:解析:Caption 属性是设置或返回控件的标题。组合框没有 Caption 属性。故选 C。29.用来设置文字字体是否斜体的属性是( )。(分数:2.00)A.FontUnderlineB.FontBoldC.FontSlopeD.Fonthalic 解
18、析:解析:FontUnderline 属性设置文字是否有下划线;FontBold 属性是设置文字是否加粗;Fontltalic 属性是设置文字是否斜体;没有 Fontslope 属性。故选 D。30.窗体上有一个名称为 Timer1 的计时器控件,一个名称为 Shape1 的形状控件,其 Shape 属性值为3(Circle)。编写程序如下: Private Sub Form_Load() Shape1Top=0 Timer1Interval=100 End Sub Private Sub Timer1_Timer() Static x As Integer Shape1Top:Shape1T
19、op+100 x=x+1 If x Mod 10=0 Then Shape1Top=0 End If End sub 以下关于上述程序的叙述中,错误的是( )。(分数:2.00)A.每执行一次 Timer1_Timer 事件过程,x 的值都在原有基础上增加 1B.Shape1 每移动 10 次回到起点,重新开始C.窗体上的 Shape1 由下而上移动 D.Shape1 每次移动 100解析:解析:题目中变量 x 定义为 static,即每次进入 Timer 事件过程时,x 都会保留上次的值,从而实现每执行一次 Timen_Timer 事件过程 x 的值都在原有基础上增加 1。程序中判断调用 T
20、imer 事件过程 10次后,重置 shapel 的 top 值为 0,即回到起点。控件 shapel 的 Top 属性是距离窗体顶的位置,数值越入距离越远,囚此 shapel 会由上向下移动。31.设有如下一段程序: Private Sub Command1_Click() Static a As Variant a:Array(“one“,“two“,“three“,“four“,“five“) Print a(3) End Sub 针对上述事件过程,以下叙述中正确的是( )。(分数:2.00)A.变量声明语句有错,应改为 Static a(5)As VariantB.变量声明语句有错,应
21、改为 Static aC.可以正常运行,在窗体上显示 threeD.可以正常运行,在窗体上显示 four 解析:解析:题目中变量 a 被定义为 Variant 类型,Variant 是一种特殊的数据类型,除了定长 string数据及用户定义类型外,可以包含任何种类的数据。变量 a 被赋值为字符串数组,数组默认下标从 0 开始,因此元素 a(3)的值为“four”。32.求 1!+2!+10!的程序如下: Private Function S(x As Integer) f=1 For i=1 To x f=f * i Next s=f End Function Private Sub Comm
22、and1_Click() Dim i As Integer Dim y As Long For i=1 To 10 Next Print y End Sub 为实现功能要求,程序的横线处应该填入的内容是( )。(分数:2.00)A.Call s(i)B.Call sC.y=y+s(i) D.y=y+S解析:解析:题目中过程 s 的功能是实现一个数的阶乘,而题目是求 l 到 10 的阶乘的和,则程序空缺处应该是过程 s 返回值的累加,因此就应该为 y=y+s(i)。33.窗体上有一个由两个文本框组成的控件数组,名称为 Text1,并有如下事件过程: Private Sub Text1_Chang
23、e(Index As Integer) Select Case Index Case 0 Text1(1)FontSize=Text1(0)FontSize*2 Text1(1)Text=Text1(0)Text Case 1 Text1(0)FontSize=Text1(1)FontSize2 TextI(0)Text=Text1(1)Text Case Else MsgBox“执行Else 分支“ End Select End Sub 关于上述程序,以下叙述中错误的是( )。(分数:2.00)A.Index 用于标识数组元素B.本程序中 Case Else 分支的语句永远不会被执行C.向任
24、何一个文本框输入字符,都会在另一个文本框中显示该字符D.下标为 0 的文本框中显示的字符尺寸将越来越小 解析:解析:控件数组的 Index 属性作为控件数组的下标,用于标识数组元素。题目中程序功能是当任一个文本框内容改变时设置第 2 个文本框的字号是第 1 个文本框字号的 2 倍,同时两个文本框显示相同文字。假如用户没有使用控件数组的 Index 属性的默认值程序将执行到 Else 分支。34.设有如下程序: Option Base 1 Dim a(3,4)As Integer,b(4,3)As Integer Private Sub Command1_Click() 循环 1 For i=1
25、 To 3 For j=1 To 4 b(j,i)=a(i,j) Next j Next i 循环 2 X=b(1,1) For i=1 To 4 For j=1 To 3 Print b(i,j); If xA.窗体模块中,不能使用 Dim 声明 a、b 数组B.“循环 1”可以正常运行 C.“循环 2”中循环变量 i、j 的终值不对,所以不能正常运行D.程序可以正常运行,X 中保存的是数组 b 中所有元素中最小的数解析:解析:Dim 用于在标准模块、窗体模块或过程中定义变量或数组。程序可以正常运行,x 中保存的是数组 b 元素中的最大值。35.某人编写了向随机文件中写一条记录的程序,代码如
26、下: Type RType Name As String*10 Tel As String*20 End Type Private Sub Command1_Click() Dim p As RType pName=InputBox(“姓名“) p Tel=lnputBox(“电话号“) Open“Booksdat“For Random As #1 Put #1,p Close #1 End Sub 该程序运行时有错误,修改的方法是( )。(分数:2.00)A.在类型定义“Type RType”之前加上“Private” B.Dim P As RType 必须置于窗体模块的声明部分C.应把 O
27、pen 语句中的 For Random 改为 For OutputD.Put 语句应该写为 Put#1,pName,pTel解析:解析:记录类型的定义必须放在模块的声明部分,当在标准模块中定义时,关键字 Type 前可以有Public(默认)或 Private,而如果在窗体模块中定义,则必须在前面加上关键字 Private。Open 语句中使用 For Random 表示文件以随机方式存取。Put 语句的语法为:Put#文件号,记录号,变量。其中“变量”是除对象变量和数组变量外的任何变量。36.有如下程序: Private Sub Form_Click() Dim s As Integer,p
28、 As Integer p=1 For i=1 To 4 For j=1 To i s=s+j Next j p=p * s Next i Print p End Sub 程序运行后,单击窗体,则输出结果是( )。(分数:2.00)A.90B.180C.400D.800 解析:解析:程序是一个双层 For 循环,外层循环变量的值决定内层 For 循环的次数。 当 i=1 时,内层循环 1 次,s=1,p=1; 当 i=2 时,内层循环 2 次,s=1+1+2=4,p=1*4=4; 当 i=3 时,内层循环 3 次,s=4+1+2+3=10,p=4*10=40: 当 i=4 时,内层循环 4 次
29、,s=10+1+2+3+4=20,p=40*20=800。37.没有如图所示窗体和以下程序: Private Sub Command l Click() Text1Text=“Visual Basic“ End Sub Private Sub Text1 LostFocus() If Text1Text“BASIC“Then Text1Text=“ “ Text1SetFocus End If End Sub 程序运行时,在 Text1 文本框中输入“Basic”(如图所示),然后单击Command1 按钮,则产生的结果是( )。 (分数:2.00)A.文本框中无内容,焦点在文本框中 B.文本
30、框中为“Basic”,焦点在文本框中C.文本框中为“Basic”,焦点在按钮上D.文本框中为“Visual Basic”,焦点在按钮上解析:解析:题目程序的功能为,当单击命令按钮时,Text1 失去焦点,激发 Text1 的 LostFocus 事件,在此事件中,程序判断文本框中字符串是否为“BASIC”,如果是则退出事件过程,继续执行命令按钮的单击事件过程,文本框中显示“VisualBasic”,如果不是则文本框内容置空,焦点返回到文本框中等待输入,不会执行命令按钮的单击事件过程。题目中输入了“Basic”与“BASIC”不符,因此文本框置空,焦点回到文本框中。38.窗体上有一个名称为 Co
31、mmand1 的命令按钮,其事件过程如下: Private Sub Command1_Click() X=“VisualBasicProgramming“ a=Right(x,11) b=Mid(x,7,5) e=MsgBox(a,b) End Sub 运行程序后单击命令按钮。以下叙述中错误的是( )。(分数:2.00)A.信息框的标题是 BasicB.信息框中的提示信息是 ProgrammingC.c 的值是函数的返回值D.MsgBox 的使用格式有错 解析:解析:Right(x,11)是从字符串变量 x 右边取 11 个字符,即“Pmgramming”,这个字符串存入变量 a 中。Mid(
32、x,7,5)是从字符串变量 x 的第 7 个字符开始取 5 个字符,即“Basic,此字符串存入变量b 中。MsgBox 的格式为:MsgBox(Prompt,Button,Title),参数中只有 Pmmpt 是必需的,如果省略Button 则显示一个确定按钮,因此题目显示的消息框有一个确定按钮,标题是“Basic”,信息是“Programming”。MsgBox 的返回值是一个与所选按钮有关的整数。39.设工程文件包含两个窗体文件 Form1frm、Form2frm 及一个标准模块文件 Modulelbas。两个窗体上分别只有一个名称为 Command1 的命令按钮。 Form1 的代码如
33、下: Public x As Integer Private Sub Form_Load() x=1 y=5 End Sub Private Sub Command1_Click() Form2Show End Sub Form2 的代码如下: Private Sub Command1_Click() Print Form1x,y End Sub Modulel 的代码如下: Public y As Integer 运行以上程序,单击 Form1 的命令按钮 Command1,则显示 Form2;再单击 Form2 上的命令按钮 Command1,则窗体上显示的是( )。(分数:2.00)A.
34、1 5 B.0 5C.0 0D.程序有错解析:解析:在 Form1 窗体模块中 x 被定义为全局变量,这使得它的值可以在其他模块中通过“过程名变量名”的形式被引用。而蛮幂 y 存标准模块中被定义为全局变量,则它可以在工程的每个模块,每个过程中使用。因此程序运行时,x 赋值为 1,y 赋值为 5,它们的值都可以在 Form2 中引用。40.窗体上有一个名称为 Text1 的文本框,一个名称为 Command1 的命令按钮。窗体文件的程序如下: Private Type x a As Integer b As Integer End Type Private Sub Command1_Click(
35、) Dim y As x ya=InputBox(“) If ya2=ya2 Then yb=ya*ya Else yb=Fix(ya2) End If Text1Text=yb End Sub 对以上程序,下列叙述中错误的是( )。(分数:2.00)A.x 是用户定义的类型B.InputBox 函数弹出的对话框中没有提示信息C.若输入的是偶数,yb 的值为该偶数的平方D.Fix(ya2)把 ya2 的小数部分四舍五入,转换为整数返回 解析:解析:x 是用户定义的一种变量类型,可以使用它来声明变量。InputBox(“)函数的提示信息为“,即为空,因此弹出的对话框中没有提示信息。在程序中通过比
36、较输入的数被 2 整除和被 2 除的值是否相等来判定它是否为偶数,如果是那么 yb 的值就是 ya 的值的平方。Fix 函数是取整函数,它会删除小数部分,直接取表达式的整数部分,不四舍五人,因此 D 选项错。二、基本操作题(总题数:1,分数:2.00)41.(1)在名称为 Form1 的窗体上画 1 个名称为 Framel、标题为“学位”的框架;框架内有 1 个名称为Option1 的控件数组,该控件数组含有 4 个标题分别为“学士”、“硕士”、“博士”和“其他”的单选按钮,它们的 Index 属性分别为 0、1、2、3,且标题为“硕士”的单选按钮为选中状态。运行后的窗体如下左图所示。 注意:
37、存盘时必须存放在考生文件夹下,工程文件名为 sjt1vbp,窗体文件名为sjt1frm。 (2)在名称为 Form1、标题为“练习”的窗体上,画 1 个名称为 Imagel 的图像框,该图像框能自动调整其中图片内容的大小,并装入考生文件夹下名称为“风景”的图片文件。再画 2 个名称分别为Command1 和 Command2,标题分别为“加宽”和“加高”的命令按钮。如下右图所示。 要求:编写两个按钮适当的事件过程,使得单击“加宽”按钮时,Imagel 的宽度增加 15;单击“加高”按钮时,Imagel 的高度增加 15。在程序中不得使用变量,每个事件过程中只能写一条语句。 注意:存盘时必须存放
38、在考生文件夹下,工程文件名为 sjt2vbp,窗体文件名为 sjt2frm。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建一个窗体,在窗体上添加一个框架控件,并按照表 11 设置控件的属性。 步骤 2:在建立好的框架控件上依次添加 4 个单选按钮,并按照表 12 设置控件属性。为了使“硕士”单选按钮处于选中状态,需要将其的 value 属性值设置为 True 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:新建一个窗体,并设置窗体的相关属性,如表 13所示。 步骤 2:在建立好的窗体上添加个 Image 控件,并按照表 14 设置控件属性。 步骤3:向窗
39、体上添加两个按钮控件,按钮名称分别为 Eommandl 和 Command2,并按照表 15 设置两个按钮控件的相关属性。 )解析:解析:(1)新建窗体,添加框架控件,在框架控件中依次添加四个单选按钮,并将四个单选按钮设置为控件数组,然后修改相关控件的属性,以完成题目所需要求。 (2)新建窗体,在窗体中添加一个Image 控件和两个 Command 按钮控件,向 Image 控件中添加图片,并设置 stretch 属性为 True,当单击“加宽”按钮时,将 Image 控件的 width 属性加 15,当单击“加高”按钮时,将 Image 控件的 Heigth 属性加 15。三、简单应用题(总
40、题数:1,分数:2.00)42.(1)在考生文件夹中有一个工程文件 sjt3vbp。运行程序时,先向文本框 Text1 中输入一个不超过 10的正整数,然后选择“N 的阶乘”或“(N+2)的阶乘”单选钮,即可进行计算,计算结果在文本框 Text2中显示,如图所示。在给出的窗体文件中已经添加了全部控件,但程序不完整。要求:去掉程序中的注释符,把程序中的?改为正确的内容。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。 (2)在考生文件夹中有一个工程文件 sjt4vbp。该程序的功能是将文件in4txt 中的文本读出并在文本框 Text1 中显示。输入一个英文字母到
41、文本框 Text2 中,然后单击“统计”命令按钮,统计该字母(大小写被认为是不同的字母)在文本中出现的次数,统计结果在标签 Label3中显示。 给出的窗体文件中已经有了全部控件,如图所示。程序不完整,要求:去掉程序中的注释符,把程序中的?改为正确的内容。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Option1_Click(Index As Integer) Dim n As Integer n=Val(Te
42、xt1Text) Select Case? Case 0 Text2Text=f1(?) Case 1 Text2Text=f1(?) End Select End Sub Public Function f1(n As Integer)As Long Dim x As Long x=1 For i=1 To ? x=x*i Next ? =x End Function 程序结束 参考答案 第 1 个?处填入:Index 第 2 个?处填入:n 第 3 个?处填入:n+2 第 4 个?处填入:n 第 5 个?处填入:n 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开
43、本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Private Sub Form_Load() Open AppPath&“in4txt“For Input As #1 Line Input #1s Text1Text=? Close #1 End Sub Private Sub Command l_Click() Dim n As integer s=Text1Text s1=RTrim(17ext2Text) Do p=InStr(?) If p 第 4 个?处填入:n 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:解析:(1)在单击单选按钮数组事件过程中,首先向
44、文本框 Text1 中输入一个不超过 10 的正整数,通过 Val 函数实现字符向数值的转换,然后选择“N 的阶乘”或“(N+2)的阶乘”单选按钮,通过 Select Case 语句和单选按钮数组的 Index 属性,确定所调用函数的参数,从而调用 Function f1()过程函数进行计算,将计算结果显示在文本框 Text2 中。 (2)通过文件操作和“&”连接符将文件 in4txt 中的文本读出并显示在文本框 Text1 中,在 Command1 Click 事件过程中,在文本框 Text2 中输入一个英文字母,然后单击“统计”命令按钮,统计该字母(大小写被认为是不同的字母)在文本中出现的
45、次数,统计结果显示在标签 LabeB 中。四、综合应用题(总题数:1,分数:2.00)43.在考生文件夹下有一个工程文件 sjt5vbp,界面如图所示,其功能如下: 单击“读数据”按钮,则把考生文件夹下文件 in5dat 中的 12 组整数(其中每组含有 10 个数,共计 120 个整数)读到数组 a 中;单击“计算”按钮,则对每组数求平均值,并将所求各级数的平均值截尾取整后存入 s 数组中; 单击“显示”按钮,则将所求各组数的平均值显示在文本框架 Text1 中; 单击“存盘”按钮则把计算结果存盘。 在给出的窗体文件中已经有了全部控件,且“读数据”、“显示”和“存盘”按钮的 Click 事件
46、过程已经给出,请为“计算”按钮编写适当的事件过程以实现上述功能。 注意:不得修改已经存在的程序,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Dim a(12,10)As Long,s(12)As Long Private Sub Command1_Click() Open AppPath&“in5dat“For Input As #1 For i=1 To 12 For j=1 To 10 Input#
47、1,a(i,j) Next j Next i Close #1 End Sub Private Sub Command2_Click() 考生编写 End Sub Private Sub Command3_Click() 以下程序段在 Text1 文本框内显示每组数的组号及平均值 Text1Text=“ For i=1 To 12 If i10 Then Text1Text=Text1Text+“+str(i)+“+str(s(i)+Chr$(13)+Chr$(10) Else Text1Text=Text1Text+str(i)+“+str(s(i)+Chr$(13)+Chr$(10) En
48、d If Next i End Sub Private Sub Command4_Click() Open AppPath&“out5dat“For Output As #1 For i=1 Tb 12 Print #1,s(i) Next i Close #1 End Sub 程序结柬 参考答案 Private Sub Command2_Click() 考生编写 Dim q As Long For m=1 To 12 q=0 For n=1 To 10 q=q+a(m,n) Next n s(m)=Int(q10) Next m End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:解析:将考生文件夹下文件 in5dat 中的 12 组整数读到数组 a 中;在 Command2 Click 事件过程中,通过循环嵌套对每组数据求平均值,并将其值运用 Int 函数截尾取整后存入 s 数组中;运用 If 语句进行判断,使 19 的组号后添加一个空格,保持数列的整齐。