1、国家二级 VB 机试(上机操作)-试卷 45 及答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)(1).在名称为 Form1 的窗体上画一个图片框,名称为 P1,高为 1800,宽为 1700,通过属性窗口把图形文件 pic1bmp 放到图片框中(如图 3-193 所示)。 (分数:2.00)_(2).在名称为 Form1 的窗体上画两个文本框,名称分别为 Text1、Text2,都显示垂直滚动条和水平滚动条,都可以显示多行文本;再画一个命令按钮,名
2、称为 C1,标题为“复制”(如图 3-194 所示)。请编写适当的事件过程,使得在运行时,在 Text1 中输入文本后,单击“复制”按钮,就把 Text1 中的文本全部复制到 Text2 中。程序中不得使用任何变量。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)1.在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm。在窗体上有一个命令按钮,其名称为 Command1,标题为“添加”;有一个文本框,名称为 Text1,初始内容为空白;有一个列表框,名称为 List1。程序运行后,在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开)
3、,然后单击“添加”按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中,如图 3-195 所示。该程序不完整,请补充完整。 (分数:2.00)_2.在考生文件夹下有一个工程文件 sjt4vbp,其中的窗体中有一个组合框和一个命令按钮(如图 3-196所示)。程序的功能是在运行时,如果在组合框中输入一个项目并单击“添加”按钮,则搜索组合框中的项目,如果没有此项,则把此项添加到列表中;如果有此项,则弹出提示“已有此项”,然后清除输入的内容。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有文件 in5txt,文件中有几行汉字。请在 Form
4、1 的窗体上画一个文本框,名称为Text1,能显示多行;再画一个命令按钮,名称为 C1,标题为“存盘”。编写适当的事件过程,使得在加载窗体时,把 in5txt 文件的内容显示在文本框中,然后在文本的最前面手工插入一行汉字“计算机等级考试”(如图 3-197 所示)。最后单击“存盘”按钮,把文本框中修改过的内容存到文件 out5txt 中。(分数:2.00)_国家二级 VB 机试(上机操作)-试卷 45 答案解析(总分:10.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:4.00)请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(分数:4.00)
5、(1).在名称为 Form1 的窗体上画一个图片框,名称为 P1,高为 1800,宽为 1700,通过属性窗口把图形文件 pic1bmp 放到图片框中(如图 3-193 所示)。 (分数:2.00)_正确答案:(正确答案:审题分析 本题只需在窗体上画出控件和设置相应属性即可。 操作步骤 步骤 1:新建一个“标准 EXE”工程,按要求画出控件并设置属性。 步骤 2:按要求将文件保存至考生文件夹中。 考点链接 图形控件。)解析:(2).在名称为 Form1 的窗体上画两个文本框,名称分别为 Text1、Text2,都显示垂直滚动条和水平滚动条,都可以显示多行文本;再画一个命令按钮,名称为 C1,标
6、题为“复制”(如图 3-194 所示)。请编写适当的事件过程,使得在运行时,在 Text1 中输入文本后,单击“复制”按钮,就把 Text1 中的文本全部复制到 Text2 中。程序中不得使用任何变量。 (分数:2.00)_正确答案:(正确答案:审题分析 为让文本框能显示多行,应将其 MultiLine 属性值设置为 True,显示垂直滚动条和水平滚动条需要将 ScrollBars 属性值设置为 3。在“复制”按钮的单击事件过程中,将Text1 的 Text 属性赋值给 Text2 的 Text 属性。 操作步骤 步骤 1:新建一个“标准 EXE”工程。按要求画出控件并设置属性。 步骤 2:打
7、开代码编辑窗口,编写命令按钮的单击事件过程。 参考代码: Private Sub C1_Click() Text2Text=Text1Text End Sub 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 文本控件。)解析:二、简单应用题(总题数:2,分数:4.00)1.在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm。在窗体上有一个命令按钮,其名称为 Command1,标题为“添加”;有一个文本框,名称为 Text1,初始内容为空白;有一个列表框,名称为 List1。程序运行后,在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开),然后
8、单击“添加”按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中,如图 3-195 所示。该程序不完整,请补充完整。 (分数:2.00)_正确答案:(正确答案:审题分析 程序设计思路:从文本框的第一个字符开始依次检查其后面的每一个字符,若发现空格则将其之前或两个空格之间的字符串作为一个单词添加到列表框中。在 Do 循环(指内循环),循环条件为:取出的字符为非空格字符且取字符的起始位置没有超出文本框的总字符数,表达式为:Mid(S1,I1,1)“ “And Il=Len(S1),其中 S1=Text1Text,将 Mid 函数从文本框中取出的非空格字符,逐个连接成一个单词,
9、语句为:S2=S2Mid(S1,I1,1),每执行一次循环体取字符的起始位置加1,即 I1=l1+1。当遇到空格时结束循环,将得到的单词(即变量 S2 的值)用 AddItem 方法添加到列表框中,并且清空变量 S2,将取字符的起始位置加 1。 之后继续执行内循环以得到下一个单词,直到取字符的起始位置(即变量 I1 的值)超过文本框的总字符数为止,外循环的条件为:11=Len(S1)。 操作步骤 步骤1:打开考生文件夹下的工程文件 sjt3vbp。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: S1=Text1Text Do While Mid(
10、S1,I1,1)“ “And I1 =Len(S1) List1AddItem S2 S2=“ “ 步骤 3:按要求将文件保存至考生文件夹中。 考点链接 多重循环、选择控件、常用内部函数。)解析:2.在考生文件夹下有一个工程文件 sjt4vbp,其中的窗体中有一个组合框和一个命令按钮(如图 3-196所示)。程序的功能是在运行时,如果在组合框中输入一个项目并单击“添加”按钮,则搜索组合框中的项目,如果没有此项,则把此项添加到列表中;如果有此项,则弹出提示“已有此项”,然后清除输入的内容。 (分数:2.00)_正确答案:(正确答案:审题分析 本题“添加”按钮的单击事件过程源代码设计思路:利用 F
11、or 循环语句(初值为 0,终值为 Cb1ListCount-1),逐一判断组合框列表框中的各项是否与文本输入框中的内容一致(条件表达式为 Cb1List(i)= Cb1Text),若一致则设置布尔型变量 flag 的值为 True,并且退出循环,否则设置变量 flag 的值为 False。 循环结束后,通过判断 flag 的值是否为 True(条件表达式为flag=True,可简写为 flag),如果条件为真,则利用 MsgBox 语句显示“项目已存在,请重新输入!”,否则利用 AddItem 方法将当前文本输入框中的内容(Cb1Text)添加到组合框列表框中。 操作步骤 步骤1:打开考生文
12、件下的本题工程文件 sjt4vbp。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号“?”改为正确的内容。 参考代码: For i=O To Cb1ListCount-1 If Cb1List(i)=Cb1Text Then Cb1AddItem Cb1Text 考点链接 选择控件、For 循环结构。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有文件 in5txt,文件中有几行汉字。请在 Form1 的窗体上画一个文本框,名称为Text1,能显示多行;再画一个命令按钮,名称为 C1,标题为“存盘”。编写适当的事件过程,使得在加载窗体时,把 in5txt 文
13、件的内容显示在文本框中,然后在文本的最前面手工插入一行汉字“计算机等级考试”(如图 3-197 所示)。最后单击“存盘”按钮,把文本框中修改过的内容存到文件 out5txt 中。(分数:2.00)_正确答案:(正确答案:审题分析 程序设计思路:在窗体的加载事件过程中,用 Open 语句以 Input 方式打开数据文件 in5txt,并用 LineInput 语句读出所有字符后显示在文本框中;在“存盘”按钮的单击事件过程中,用 Open 语句以 Output 方式打开数据文件 out5txt,并用 Print#方将文本框的内容存入该文件。 操作步骤 步骤 1:新建一个“标准 EXE”工程,按要求
14、画出控件并设置属性。 步骤 2:打开代码编辑窗口,编写相应事件过程。 参考代码: PriVate Sub C1_Click() Oper1“out5txt“For Output As #1 Print #1,Text1Text Close #1 End Sub PriVate Sub Form_Load() Open “in5txt“ For InputKs #1 Text1Text=“ “ Do While Not EOF(1) LineInput #1,a$ Text1Text=Text1Text+a$+Chr(13)+Chr(10) Loop Close #1 End Sub 步骤 3:按键运行程序,在文本的最前面手工插入一行汉字:“计算机等级考试”,然后单击“存盘”按钮保存结果。 步骤 4:按要求将文件保存至考生文件夹中。 考点链接 顺序文件、Do 循环和 While 循环。)解析: