国家二级VB机试(综合应用题)模拟试卷6 (题后含答案及解析)
题型有:1.
1. 考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个文本框,名称分别为Text1、Text2,都可以多行显示。还有三个命令按钮,名称分别为C1、C2、C3,标题分别为“取数”、“排序”、“存盘”。“取数”按钮的功能是将考生文件夹下的in5.dat文件中的50个整数读到数组中,并在Text1中显示出来;“排序”按钮的功能是对这50个数按升序排序,并显示在Text2中;“存盘”按钮的功能是把排好序的50个数存到考生目录下的out5.dat文件中,如图所示。在窗体中已经给出了全部控件和部分程序代码,要求阅读程序并去掉程序中的注释符,把程序中的?改为正确的内容,并编写“排序”按钮的Click事件过程,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后将修改后的文件按原文件名存盘。
正确答案:【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符“‘”,将问号改为正确的内容,并编写代码。 参考答案 Dim a(50) As Integer Private Sub C1_C1ick( ) Dim k As Integer,ch As String Open”in5.dat”For Input As #1 ch=” “ For k=1 TO 50 Input #1,a(k) ‘将取出的数据存入数组a中 ch=c
h+Str(a(k))+” “ ‘将数据存入ch Next k Close #1 Text1.Text=ch ‘在Text1文本框中显示文件内容 End Sub Private Sub C2_Click( ) End Sub Private Sub C3_Click( ) Open”out5.dat”For Output As #1 Print #!,Text2.Text Close #! End Sub 需编写的“排序”按钮的代码 Private Sub C2_Click( ) Dim t As Integer Dim i As Integer Dim J As Integer Dim ch As String ch=” “ For i=50 To 2 Step-1.使用冒泡算法从小 到大排序 For j=1 To 49 If a(j)>a(j+1) Then ‘两 t=a(j+1) a(j+1)=a(j) a(j)=t End If Next j Next i For j=1 To 50 ‘将排序后的数组重新赋给ch ch=ch+Str(a(j))+” “ Next j Text2.Text=ch End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
2. 在考生文件央下有一个工程文件sjt5.vbp,窗体上有两个命令按钮,标题分别是“读数据”和“统计”,请添加一个名称为Label1、标题为“回文个数为”的标签和一个名称为Text1,初始内容为空的文本框,如图所示。 程序功能如下: ①单击“读数据”按钮,则将考生文件夹下in5.dat文件的内容读到变量s中; ②单击“统计”按钮,则统计in5.dat文件(该文件中仅含南空格间隔开的字符串)中回文的个数,并将统计的同文个数显示在Text1文本框内(所谓回文是指顺读与倒读都一样的字符串,如“recycer”)。“读数据”和“统计”按钮的Clic
k事件过程已经给出,请完善foundhuiwen过程的功能,实现上述程序功能。 注意:考生不得修改窗体文件中已存在的控件和程序,在结束程序运行之前,必须先进行统计,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。
正确答案:【操作步骤】 步骤1:打开本题工程文件,按照题目要求建立控件并设置属性,如表3.29所示。 步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 参考答案 Function foundhuiwen(p As String) If StrReverse(P)=P Then foundhuiwen=True’StrReverse函数的功能是将字符串顺序反转 End Function 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
3. 考生文件夹下存在一个数据库文件“samp3.accdb”,里面已经设计好表对象“tStud”,同时还设计出窗体对象“fStud”和子窗体对象“fDetail”。请在此基础上按照以下要求补充“fStud”窗体的设计。 (1)将窗体标题改为“学生查询”。 (2)将窗体的边框样式改为“细边框”,取消窗体中水平和垂直滚动条、记录选择器、浏览按钮(导航按钮)和分隔线;将子窗体边框样式改为“点线”,取消子窗体中的记录选择器、浏览按钮(导航按钮)和分隔线。 (3)在窗体中有两个标签控件,名称分别为“Labell”和“Label2”,将这两个标签上的文字颜改
为白,背景颜改为紫蓝(紫蓝代码为8388608)。 (4)将窗体主体节中控件的Tab次序改为: “CItem”→“TxtDetail”→“CmdRefer”→“CmdLi8t”→“CmdClear”→“fDtail”→“简单查询”→“Framel8”。 (5)按照以下窗体功能,补充事件代码设计。 在窗体中有一个组合框控件和一个文本框控件,名称分别为“CItem”和“TxtDetail”;有两个标签控件,名称分别为“Label3”和“Ldetail”;还有三个命令按钮,名称分别为“CmdList”、“CmdRefer”和“CmdClear”。在“CItem”组合框中选择某一项目后,“Ldetail”标签控件将显示出所选项目名加上“内容:”。在“TxtDetail”文本框中输入具体项目值后,单击“CmdRefer”命令按钮,如果“CItem”和“TxtDetail”两个控件中均有值,则在子窗体中显示出的相应记录,如果两个控件中不全有值,显示消息框,消息框标题为“注意”,提示文字为“查询项目和杳询内容不能为空!!!”,消息框中只有一个“确定”按钮;单击“CmdList”命令按钮,在子窗体中显示“tStud”表中的全部记录;单击“CmdClear”命令按钮,将“Cltem”和“TxtDetail”两个控件中的值清空。 注意:不允许修改窗体对象“tStud”和子窗体对象“fDetail”中未涉及的控件、属性和任何VBA代码;不允许修改表时象”tStud”。代码设计只允许补充一条语句、完成设计,不允许增删和修改其他位置已存在的语句。
正确答案:(1)【操作步骤】 步骤1:选择“窗体” 对象,右击“fStud”,在弹出的快捷菜单
中选择“设计视图”命令,打开设计视图。 步骤2:在窗体的任一位置右击,在弹出的快捷菜单中选择“属性”命令,在打开的“属性表”下拉列表中选择“窗体”,在“全部”选项卡下的“标题”行输入“学生查询”,如图3.230所示。 (2)【操作步骤】 步骤1:在“属性表”的“格式”选项卡中,选择“边框样式”下拉列表中的“细边框”选项。 步骤2:分别选择“滚动条”、“记录选择器”、“导航按钮”和“分隔线”下拉列表中的“两者均无”或“否”。 步骤3:按照同样的方法设置子窗体的“边框样式”为“点线”,如图3.231所示。 (3)【操作步骤】 在“属性表”中分别选择“Label1”和“Label2”,在“格式”选项卡中设置“前景”为“#FFFFFF”(白),设置“背景”为“#2F3699”,如罔3.232所示。关闭“属性表”。 (4)【操作步骤】 步骤1:在窗体的任一位置右击,在弹出的快捷菜单中选择“Tab键次序”命令,弹出“Tab键次序”对话框,住“自定义次序”列表中通过拖动各行来凋整Tab键的次序,如图3.233所示。 步骤2:单击“确定”按钮,关闭“Tab键次序”对话框。 (5)【操作步骤】 在设计视图中的任一位置右击,在弹出的快捷菜单中选择“事件生成器”命令,在弹出的对话框中选择“代码生成器”,如图3.234所示,单击“确定”按钮,在空行内依次输入以下代码: ′*********Add1********* Dim aa aa=cltem.Value Ldetai1.Caption=aa+”内容:” ′*********Add1********* ′*********Add2********* fDetail.Form.RecordSource=二级VB”tStud”
′*********Add2********* ′*********Add3********* MsgBox”查询项目和查询内容不能为空”,vbOKOnly,”注意” ′*********Add3********* 如图3.235所示。关闭编程环境窗口,按Ctrl+S保存修改。
4. 在考生文件夹下有一个工程文件sjt5.vbp,其中,己给出了所有控件(如图3—141所示)和部分程序。 程序运行时,请按以下顺序操作: 1)单击“读入文件”按钮,把考生目录下的文件in5.dat中的内容读入内存并显示在上面的文本框(Text1)中; 2)单击“加密”按钮,则可对Text1中的内容进行加密并显示在下面的文本框(Text2)中。 3)单击“存结果”按钮则把Text2中的内容存到out5.dat文件中。 加密规则:对于第奇数个字符,若是字母,则把它变为它后面的字符(若为“Z”则变为“A”),不是字母则不变;对于第偶数个字符,若是字母,则把它变为它前面的字符(若为“A”则变为“Z”),不是字母则不变。大小写字母都遵循此规则。例如: 若原有的字符是:AbbaZGHa-MnnKYzx 则加密后的字符是:BaczAFGb-NmoiXaw 已经给出“存结果”按钮的Click事件过程和函数isletter,函数isletter(aAsString)判断变量a中是否为一个字母,若是则返回True,否则返回False,可以直接调用。 请编写“读入文件”按钮和“加密”按钮的Click事件过程,以实现上述功能。(in5.dat文件中只含英文单词和空格,不分段落和行) 注意:考生不得修改已经存在的程
序,必须用“存结果”按钮存储加密结果,否则无成绩。最后,按原文件名把程序存盘。
正确答案:【操作步骤】 步骤1:打开考生文件夹中的本题工程文件sjt5.vbp,在代码编辑窗口指定位置编写以下代码。参考代码:Private Sub Command1_Click( )Open”in5.dat”For Input As 1Line Input #1,sClose #1Text1.Text=sEnd SubPrivate Sub Command2_Click( )Dim i As Integer,ss As Stringss= “ “For i=1 To Len(s)rf isletter(Nid(s,i,1))=True ThenIf i Mod 2=0 ThenTf Mid(s,i,1)=”a”Thenss = ss & “z”Elsetf Hid(s,i,1)=”A”Thenss=ss & “z”Elsess = ss & Chr(Asc(Mid(s,i,1))-1)End IfElseTf Mid(s,i,1)= “z” Thenss = ss & “A”Else If Mid(s,i,1)=”z”Thenss = ss & “a”Elses = ss & Chr(Asc(Mid(s,i,1))+1)End IfEnd IfElsess = ss & Mid(s, i, 1)End IfNextText2.Text=ssEnd Sub 步骤2:按<F5>键运行程序,先单击“读入文件”按钮,接着单击“加密”按钮,然后单击“存结果”按钮保存结果,最后单击窗体右上角的关闭按钮结束程序。 步骤3:按要求将文件保存至考生文件夹中。
5. 在考生目录下有一个工程文件sjt5.vbp,其窗体上有两个标签L1和L2,标题分别为“口令”和“允许次数”;一个命令按钮C1,标题为“确定”;两个文本框名称分别为Text1和Text2。
其中Text1用来输入口令(输入时,显示“*”),无初始内容;Text2的初始内容为3。并给出了C1的事件过程,但不完整,要求去掉程序中的注释符,把程序中的“?”改为正确的内容,使得在运行时,在Text1中输入口令后,单击“确定”按钮,如果输入的是“123456”,则在Text1中显示“口令正确”;如果输入其他内容,单击”确定”按钮后,弹出如图3—151所示的错误提示对话框,并且Text2中的数字减1。最多可输入3次口令,若3次都输入错误,则禁止再次输入。注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
正确答案:步骤1:打开考生文件夹中的本题工程文件sjt5.vbp,将文本框Text1的PasswordChar属性值设置为“*”。步骤2:在代码编辑窗口,去掉程序中的注释符“‘”,将问号“?”改为正确的内容。参考代码:If Text1.Text=“123456”ThenText1.PaSswordChar=“ “If Text2.Text>0ThenText1.Enabled=FalSe步骤3:按要求将文件保存至考生文件夹中。
解析:根据题目源程序,判断文本框Text1输入的密码是否为“123456”的条件表达式为:Text1.Text=“123456”;要去掉对文本框中输入内容的屏蔽,需将其PasswordChar属性值清空,即执行语句:Text1.PasswordChar=“ “;每输入一次错误密码,文本框Text2中的
数字减1。当文本框Text2中数值还大于0时,提示重新输入,否则提示错误,并禁用文本框Text1。
6. 在考生目录下有一个工程文件sjt5.vbp,其窗体上有两个标签L1和L2,标题分别为“口令”和“允许次数”;一个命令按钮C1,标题为“确定”;两个文本框名称分别为Text1和Text2。其中Text1用来输入口令(输入时,显示“*”),无初始内容;Text2的初始内容为3。并给出了C1的事件过程,但不完整,要求去掉程序中的注释符,把程序中的“?”改为正确的内容,使得在运行时,在Text1中输入口令后,单击“确定”按钮,如果输入的是“123456”,则在Text1中显示“口令正确”;如果输入其他内容,单击“确定”按钮后,弹出如图3-151所示的错误提示对话框,并且Text2中的数字减1。最多可输入3次口令,若3次都输入错误,则禁止再次输入。 注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论