国家二级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    Openin5.datFor Input As #1    ch=     For k=1 TO 50    Input #1,a(k) 将取出的数据存入数组a中    ch=c
电子商务专业求职信
h+Str(a(k))+ 二级VB将数据存入ch    Next k    Close #1    Text1.Text=ch 在Text1文本框中显示文件内容    End Sub    Private Sub C2_Click(  )    End Sub    Private Sub C3_Click(  )    Openout5.datFor 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=TrueStrReverse函数的功能是将字符串顺序反转    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=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(  )Openin5.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)=aThenss = ss  & zElsetf Hid(s,i,1)=AThenss=ss & zElsess = ss & Chr(Asc(Mid(s,i,1))-1)End IfElseTf Mid(s,i,1)= z Thenss = ss & gbaseAElse If Mid(s,i,1)=zThenss = ss & aElses = 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=123456ThenText1.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次都输入错误,则禁止再次输入。    注意:不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。