2015年9月全国计算机二级VB操作题真题1 |
102 一、基本操作题 (1)在名称为Form1、标题为“球类项目”、且没有最大化和最小化按钮的窗体上画1个名 称为Combo1的组台框。组合框中的文本内容为空,表项内容有”乒乓球“、”羽毛球”和“网球”三项。运行后的窗体如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm (2)在名称为Form1、标题为”转换”的窗体上,画1个名称为Shape1、边框宽度为3的形状。再画2个标题分别为“椭圆”和”圆“的命令按钮。如下图所示。 要求:编写适当的事件过程,使得单击“椭圆”按钮时, Shape1的形状变换为椭圆;单击“圆“按钮时,shape1的形状变换为圆。程序中不得使用变量,每个事件过程中只能写一条语句 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm. 二、简单应用题 (1)在考生文件夹下有一个工程文件sjt3.vbp。窗体Form1上有2个标题分别是”读数 据“和“查找“的命令按钮。请画1个名称为Text1、初始值为空的文本框,该文本框允许显示多行内容,且有垂直滚动条,如图所示。程序功能如下: ①在考生文件夹下的in3.dat文件中存有100个正整数。单击”读数据”按钮,则将文件in3.dat中的数据读入数组a中。 ②单击“查找”按钮,则查找数组a中所有为7的倍数的数据,并将这些数据顺次显示在Text1文本框内(数据之间用空格隔开)。”读数据“按钮的click事件过程已经结出,请编写程序完成”查找”按钮的click事件过程,实现上述功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须使 用”查找“接钮完成查找过程,且必须用窗体右上角的关闭按扭结束程序,否则无成绩。最后将程序接原文件名存盘。 Option Base 1 Dim a(100) As Integer Private Sub Command1_Click() Dim k As Integer Open App.Path & "\in3.dat" For Input As #1 For k = 1 To 100 Input #1, a(k) Next k Close #1 End Sub Private Sub Command2_Click() '考生编写 End Sub Private Sub Form_Unload(Cancel As Integer) Open App.Path & "\out3.dat" For Output As #1 Print #1, Text1.Text Close #1 End Sub (2)考生文件夹下有一个工程文件sjt4.vbp。在窗体Form1上有2个名称为Command1和Command2、标题分别为“重输“和”查找”的命令按钮。程序功能为:单击“重输”按钮,则清空Text1中的内容,等待用户输入由空格隔开的若干个英文单词;单击“查找“按钮,则找出Text1中最长的单词,并将其显示在Text2中。某一次的运行效果如图所示。请将”查找“按钮的Click事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。 Private Sub Command1_Click() Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub Private Sub Command2_Click() Dim x As String, word As String, word_max As String Dim num As Integer, xmax As Integer x = Trim(Text1.Text) xmax = 0 Do While Len(x) > 0 num = InStr(x, Space(1)) If num = 0 Then ' word = ? x = "" Else ' word = Left(x, ? ) x = Mid(x, num + 1) End If If Len(word) >= xmax Then xmax = Len(word) ' word_max = ? End If ' ? 'Text2.Text = ? End Sub 三、综合应用题 考生文件夹下有一个工程文件sjt5.vbp。在窗体Form1上有2个标题分别是“产生数 据“和”重新排列”的命令按钮,有2个标题为“原始数据“和“排列数据“的标签。程序功能如下: ①单击“产生数据”按钮,则随机产生20个一位整数,存入数组a中,并同时显示在Text1中。 ②单击“重新排列“按钮,则重新排列数组a中的元素使等值的元素相邻存放,并且保持它们在数组a中首次出现的相对次序;最后将排列结果显示在Text2中。某一次运行结果如图所示。 请将“重新排列”按钮的click事件过程中的注释符去掉,把?改为正确内容,以实现上述程序功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。 Option Base 1 Dim a(20) As Integer Private Sub Command1_Click() Randomize (1) Text1.Text = "" For i = 1 To 20 a(i) = Int(Rnd * 10) Text1.Text = Text1.Text + Str(a(i)) Next End Sub Private Sub Command2_Click() ' i = ? Do While i < 20 For j = i + 1 To 20 If a(i) = a(j) Then x = a(j) i = i + 1 For k = j To i + 1 Step -1 '本循环把下标为i到j-1的元素向后移一个位置 ' a(k) = ? Next k ' a(i) = ? End If Next j i = i + 1 Loop Text2.Text = "" ' For i = 1 To ? Text2.Text = Text2.Text + Str(a(i)) Next i End Sub
|