1、二级 VISUAL+BASIC-71 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:2,分数:30.00)1.在名称为 Form1、标题为“菜单”的窗体上,设计满足如下要求的菜单。 分类 标题 名称 内缩符号主菜单项 1 文件 file 0子菜单项 1 新建 new 1子菜单项 2 保存 save 1主菜单项 2 退出 exit 0程序运行后的窗体如图所示,存盘时,将文件保存至考生文件夹下,且工程文件名保存为 sjt1.vbp,窗体文件名保存为 sjt1.frm。 (分数:15.00)_2.在名称为 Form1 的窗体上,添加一个名称为 Image1
2、 的图像框,左界为 360,且图像框中显示考生文件夹下的图片文件“Duck.bmp”。然后,添加两个名称分别为“Command1”、“Command2”,标题分别为“移动”、“复位”的命令按钮,如图所示。(分数:15.00)_二、B简单应用题/B(总题数:2,分数:40.00)3.考生文件夹下有一个工程文件 sjt3.vbp,其中的窗体上有一个命令按钮控件数组,名称为 Cmd;有一个图像框,名称为 Image1。请添加一个名称为 Timer1 的计时器,时间间隔为 3 秒,初始状态为不可用,如图所示。(分数:20.00)_4.考生文件夹下有一个工程文件 sjt4.vbp,其中的窗体上已有如图所
3、示的控件。程序功能如下:(分数:20.00)_三、B综合应用题/B(总题数:1,分数:30.00)5.在考生文件夹下有一个工程文件 sjt5.vbp,其功能是:单击“读数据”命令按钮,则将考生文件夹下 in5.dat 文件中的 100 个正整数读入数组 a 中,同时显示在文本框 Text1 中。单击“素数”按钮,则将数组 a 中所有素数(只能被 1 和自身整除的数称为素数)存入数组 b 中,并将数组 b 中的元素显示在文本框 Text2 中。在给出的窗体文件中已经有了全部控件(如图所示),但程序不完整。(分数:30.00)_二级 VISUAL+BASIC-71 (1)答案解析(总分:100.0
4、0,做题时间:90 分钟)一、B基本操作题/B(总题数:2,分数:30.00)1.在名称为 Form1、标题为“菜单”的窗体上,设计满足如下要求的菜单。 分类 标题 名称 内缩符号主菜单项 1 文件 file 0子菜单项 1 新建 new 1子菜单项 2 保存 save 1主菜单项 2 退出 exit 0程序运行后的窗体如图所示,存盘时,将文件保存至考生文件夹下,且工程文件名保存为 sjt1.vbp,窗体文件名保存为 sjt1.frm。 (分数:15.00)_正确答案:(操作步骤 步骤 1:建立界面,设置窗体的标题为“菜单”,菜单编辑中涉及的属性见表。 标题 文件 退出 新建 保存名称 fil
5、efileexitsave内缩符号 0 0 0 1步骤 2:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:窗体的 Caption 属性以及菜单编辑器的使用(标题、名称和内缩符号)。 解析 通过窗体的 Caption 属性设置窗体的标题为“菜单”,通过菜单编辑设置菜单的标题、名称和内缩符号。2.在名称为 Form1 的窗体上,添加一个名称为 Image1 的图像框,左界为 360,且图像框中显示考生文件夹下的图片文件“Duck.bmp”。然后,添加两个名称分别为“Command1”、“Command2”,标题分别为“移动”、“复位”的命令按钮,如图所示。(分数:15.00)
6、_正确答案:(操作步骤 步骤 1:新建一个窗体,按照题目要求建立图片框控件并设置其属性,如图所示。 *步骤 2:按照步骤 1 建立其他控件并设置相关属性,程序中用到的控件及属性见表。 控件 图像框 命令按钮 1 命令按钮 2属性 Name LeftPicture Name CaptionName Caption设置值 Image1360 Duck.bmpCommand1移动 Command2复位步骤 3:打开代码编辑窗口,在指定位置编写如下代码。 Private Sub Command1_Click() Image1.Left=Image1.Left+10 当单击“移动“按钮时,则 Image
7、1 移动 End Sub Private Sub Command2_Click() Image1.Left=360 当单击“复位“按钮则重置 Image1 的位置 End Sub 步骤 4:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:图像框的 Name、Left、Picture 属性以及命令按钮的 Name 和 Caption 属性。 解析 通过图像框的 Name、Left、Picture 属性设置图片框的名称、位置和装入图片,通过命令按钮的Name 和 Caption 属性设置命令按钮的名称和标题。命令按钮的 Click 事件过程中,通过图像框的 Left 属性的设置
8、实现图片框的移动。二、B简单应用题/B(总题数:2,分数:40.00)3.考生文件夹下有一个工程文件 sjt3.vbp,其中的窗体上有一个命令按钮控件数组,名称为 Cmd;有一个图像框,名称为 Image1。请添加一个名称为 Timer1 的计时器,时间间隔为 3 秒,初始状态为不可用,如图所示。(分数:20.00)_正确答案:(操作步骤 步骤 1:打开本题工程文件,添加计时器控件,并设置计时器 Timer1 的Interval 属性为 3000,Enabled 属性设置为 False。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。 Dim flag As Int
9、eger Private Sub Cmd_Click (Index As Integer) If Index=2 Then 通过下一条语句 End 确定此处为单击按钮“结束”,因此 Index 为 2 End Else Image1.Picture=LoadPicture (“/yellow.ico“) 在图形框里载入图片 flag=Index 将按钮下标赋给flag Timer1.Enabled=True End If End Sub Private Sub Timer1_Timer() Select Case flag 判断flag 确定按钮类型 Case 0 Image1.Picture
10、=LoadPicture(“/green.ico“) 装载图片 Timer1.Enabled=False Case 1 Image1.Picture=LoadPicture(“/red.ico“) Timer1.Enabled=False End Select End Sub B程序结束/B 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:命令按钮数组的 Index 属性、计时器的 Enabled 和 Interval 属性、图像框的Picture 属性、LoadPicture 函数()、Select Case 语句以及 If 选择判断语句。 解析 通过命令按钮的
11、Index 属性来判断程序对按钮的响应,单击“前进”按钮,Index=0,则 Timer 的 Enabled 属性设置为True,Timer 的状态变为可用,且通过 Timer1_Timer 事件过程中的 Select Case 语句进行判断,在图像框中显示 3 秒黄灯后显示绿灯,同理单击“停止”按钮,Index=1,则 Timer 的状态变为可用,且在图像框显示 3 秒黄灯后显示红灯,直至下次单击某个命令按钮。单击“结束”按钮,即 Index=2,运行 End 语句结束程序运行。4.考生文件夹下有一个工程文件 sjt4.vbp,其中的窗体上已有如图所示的控件。程序功能如下:(分数:20.00
12、)_正确答案:(操作步骤 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符“”,将问号改为正确的内容。 Dim s As String Private Sub Command1_Click() Open App.Path & “/in4.dat“ For Input As #1 s=Input(LOF(1), #1) 将文件读入 s 中 Close #1 Text1.Text=s End Sub Private Sub Command2_Click () Dim m As Integer If Len(s)=0 Then 判断文本是否为空 MsgBox “请先使用“
13、读数据“功能!“ Else If Text1.SelLength=0 Then 判断所选文本是否为空 MsgBox “请先选中文本!“ Else t=“ “ For i=1 To Text1.SelLength c=Mid(Text1.SelText, i, 1) 将所选文本内容依次取一个字符比较 If c “ “ Then t=t+c 将字符连接成单词 Else x=LCase(t) 如果为空格则一个单词结束并将其全部变为小写 If InStr(x, “o“) 0 And InStr(x, “n“) 0 Then 在 x 中查找是否有“0“,“n“字母 m=m+1 满足条件累加 End If
14、 t=“ “清空后,进行下一次循环 End If Next i Text2=Str(m) 显示满足条件的个数 End If End If End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:InStr()函数,MsgBox 对话框,文件操作,文本框的 Text、SelLength 和SelText 属性,Len()函数,Mid()函数,Str()函数以及 LCase()函数。 解析 单击“读数据”按钮,将考生文件夹下 in4.dat 文件的内容显示在 Text1 文本框中。在 Command2_Click 事件过程中,运用 Len()函数判断文本框中是
15、否有字符,如果 Len(s)=0 那么弹出 MsgBox 对话框“请先使用读数据功能!”,运用 SelLength 属性判断文本框中是否有字符被选中,如果 SelLength 属性为 0 那么弹出 MsgBox 对话框“请先选中文本!”。 在 Text 中选中部分文本,并单击“统计”按钮,Lcase()函数把大写字母转化为小写字母使统计不区分大、小写字母,运用 InStr()函数判断是否在选中文本中同时出现 o 和 n 两个字母,并统计这类单词的个数,并将统计结果显示在 Text2 文本框内。三、B综合应用题/B(总题数:1,分数:30.00)5.在考生文件夹下有一个工程文件 sjt5.vbp
16、,其功能是:单击“读数据”命令按钮,则将考生文件夹下 in5.dat 文件中的 100 个正整数读入数组 a 中,同时显示在文本框 Text1 中。单击“素数”按钮,则将数组 a 中所有素数(只能被 1 和自身整除的数称为素数)存入数组 b 中,并将数组 b 中的元素显示在文本框 Text2 中。在给出的窗体文件中已经有了全部控件(如图所示),但程序不完整。(分数:30.00)_正确答案:(操作步骤 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 For k=1 To 100 flag=True i=2 Do While i =Int(a(k)
17、/ 2) And flag 循环判断 a(k)是否为素数 If Int(a(k) / i)=a(k) / i Then flag=False 若为素数,则使 flag 为 False Else i=i+1 若不为素数,则 i 加 1 End If Loop If flag=True Then num=num+1 满足条件则 num 累加 b(num)=a(k) 将满足条件的数存入 b 数组 End If Next k 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:考点 本题考点有:App.Path 相对路径,文件操作,Space()函数,Str()函数,“+”连接符,Len()函数,文本框的 Text 属性,MsgBox()函数,Int()函数、Do While 语句、For 循环语句以及 If 判断语句。 解析 单击“读数据”按钮,将考生文件夹下 in5.dat 文件中的 100 个正整数读入数组 a 中,同时显示在 Text1 文本框中;运用 Space()函数使数值之间空两个格,并判断是否为素数,如果是素数则flag 标记为 True,并将这个数存入数组 b,通过变量 num 累加数组 b 的素数个数。最后通过循环语句将数组 b 中的元素显示在文本框 Text2 中。