二级VISUAL+BASIC-61 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级VISUAL BASIC-61
(总分:100.00,做题时间:90分钟)
一、{{B}}基本操作题{{/B}}(总题数:2,分数:30.00)
1.在名称为Form1的窗体上添加两个名称分别为Frame1、Frame2的框架,标题分别为“字号”、“修饰”;
在Frame1中添加两个单选按钮,名称分别为Option1、Option2,标题分别为“10号字”、“20号字”,且标题显示在单选按钮的左边;在Frame2中添加一个名称为Check1的复选框,标题为“下划线”。
程序运行后的窗体如图所示。
注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt1.vbp,窗体文件名保存为sjt1.frm。
(分数:15.00)
__________________________________________________________________________________________ 正确答案:([操作步骤]
步骤1:建立界面,添加相应的控件并设置控件的属性。
程序中的控件及属性见下表。
框架1 框架2 单选按钮1 单选按钮2 复选框
Name Caption Name Caption Name Caption Name Caption Name Caption Frame1 字号Frame2 修饰Option1 10号字Option2 20号字Check1 下划线步骤2:调试并运行程序,关闭程序后按题目要求存盘。
)
解析:[考点] 本题考点有:框架的Name和Caption属性,单选按钮的Name和Caption属性以及复选框的Name和Caption属性。
[解析] 通过框架的Name和Caption属性设置框架的名称和标题,通过单选按钮的Name和Caption属性设置单选按钮的名称和标题,通过复选框的Name和Caption属性设置复选框的名称和标题。
2.在名称为Form1的窗体上从上到下添加两个文本框,名称分别为Text1、Text2;再添加一个命令按钮,
名称为Command1,标题为“选中字符数是”。
程序运行时,在Text1中输入若干字符,选中部分内容后,单击“选中字符数是”按钮,则选中的字符个数显示在Text2中(如图所示)。
请编写按钮的Click事件过程。
要求:程序中不得使用变量,事件过程中只能写一条语句。
注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt2.vbp,窗体文件名保存为sjt2.frm。
(分数:15.00)
__________________________________________________________________________________________ 正确答案:([操作步骤]
步骤1:建立界面,添加相应的控件并设置控件的属性。
程序中涉及的控件及属性见表。
控件文本框1 文本框2 命令按钮
属性Name Caption Name Caption Name Caption
设
置值Text1 Text2 Command1
选中字
符数是
步骤2:打开代码编辑窗口,在指定位置编写如下代码。
Private Sub Command1_Click()
Text2=Text1.SelLength
End Sub
步骤3:调试并运行程序,关闭程序后按题目要求存盘。
)
解析:[考点] 本题考点有:文本框的SelLength、Name和Caption属性以及命令按钮的Name和Caption 属性。
[解析] SelLength属性用于返回/设置选定的字符数,通过文本框的Name和Caption属性设置文本框的名称和标题,通过命令按钮的Name和Caption属性设置命令按钮的名称和标题。
SelLength属性与SelStart和SelText属性容易混淆,SelStart属性是返回/设置选定文本的起始点,SelText属性是返回/设置当前选定文本的字符串。
二、{{B}}简单应用题{{/B}}(总题数:2,分数:40.00)
3.在考生文件夹下有一个工程文件sjt3.vbp。
程序运行后,单击“读入数据”按钮,可将考生文件夹下
in3.txt文件中的所有英文单词读入,并在Text1文本框中显示;单击“插入列表框”按钮,则按顺序将每个单词作为一项添加到List1列表框中(如图所示)。
在in3.txt文件中,每个单词之间用一个空格字符隔开,最后一个单词的后面没有空格。
已经给出了所有控件和程序,但程序不完整。
要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。
最后用原来的文件名保存工程文件和窗体文件。
(分数:20.00)
__________________________________________________________________________________________ 正确答案:([操作步骤] 步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,去掉程序中的注释符“'”,将问号改为正确的内容。
Private Sub Command1_Click() Dim st $, ch $ Open
App.Path&"/in3.txt"For Input As # 1'打开文件Do While Not EOF(1) '文件指针是否到达文件末尾Input #1, ch '达到文件末尾返回true,否则返回false st=st&ch '将读出的数据加到原有数据末尾Loop Close #1 '关闭文件 Text1=st '将内容显示在文本框中 End Sub Private Sub Command2_Click() Dim st $, word $, c $ st=Text1 n=Len(st) For k=1 To n c=Mid(st,k,1) '从st中依次取出1个字符进行比较 If c<>" "Then word=word & c Else List1.AddItem word word=" " '将word清空,为下一次作准备End If Next List1.AddItem word End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
)
解析:[考点] 本题考点有:列表框AddItem方法、Mid()函数、文件编辑、“&”连接符、Do While语句、Len()函数、For循环语句以及If判断语句。
[解析] 本题首先要从文件中读入数据,再逐一检查文本框中每一个字符,如果发现空格则将其之前或两个空格之间的字符串作为一个单词用AddItem方法添加到列表框中。
循环语句的上限为Len(st),赋值给变量n,判断语句的判断条件应为Mid(st,k,1)<>" ",其中st=Text1.Text。
每添加一个单词后清空变量word,将所取字符的起始位置加1,再次执行循环得到下一个单词。
4.在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经添加所有控件,如图所示。
在程序运行时,如果单击“开始”按钮,则每隔0.1秒窗体上的汽车图标向右移动一次(初始状态下不移动);如果单击“停止”按钮,则停止移动。
请完成以下工作:
①设置适当控件的适当属性,使得每0.1秒汽车图标向右移动一次,而初始状态下不移动。
②请去掉程序中的注释符,把程序中的?改为正确的内容。
③为两个命令按钮编写适当的事件过程,最后以原文件名存盘。
注意:不得修改已经给出的程序。
编写事件的过程中不能使用变量,每个事件过程中只能有一条语句。
(分数:20.00)
__________________________________________________________________________________________ 正确答案:([操作步骤] 步骤1:打开本题工程文件,设置计时器Interval的属性为100,将Enabled属性设置为False。
步骤2:打开代码编辑窗口,在指定位置编写如下代码。
Private Sub Timer1_Timer()
P1.Left=P1.Left+20 End Sub '需要考生编写的内容 Private Sub C1_Click() Timer1.Enabled=True End Sub Private Sub C2_Click() Timer1.Enabled=False End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
)
解析:[考点] 本题考点有:计时器的Interval和Enabled属性以及图片框的Left属性。
[解析] 首先通过计时器的Interval和Enabled属性设置计时器每次改变的时间间隔和计时器是否可用,根据题意,在初始状态下Enabled属性设置为False,在计时器的Timer事件过程中,通过图片框的Left属性值的改变来实现自左向右移动的功能。
在“开始”按钮的单击事件过程中应启用计时器,在“停止”按钮的单击事件过程中必须停止计时器。
计时器的:Interval属性是以毫秒为单位的,因此在设置时要注意1s=1000ms。
三、{{B}}综合应用题{{/B}}(总题数:1,分数:30.00)
5.在考生文件夹下有一个工程文件sjt5.vbp。
在窗体文件中已经给出了全部控件及部分程序。
程序运行时,在文本框Text1中输入一个大于2的偶数,并单击“分解为”命令按钮,则可以将该偶数分解为两个素数之和,且要求其中一个素数是所能够分解出的最小的素数(一个偶数有时可以分解为多种素数的组合,例如24可以分解为5和19,也可以分解为11和13,要求取含有最小素数的组合,如图所示)。
要求编写“分解为”命令按钮事件过程中“考生编写程序开始”和“考生编写程序结束”之间的代码,以实现上述功能。
过程IsPrime用来判断一个数是否为素数,如果是,返回值为True,否则返回值为False。
注意:不得修改原有程序和控件的属性。
至少正确运行一次程序,且程序运行时在文本框中输入23456,单击“分解为”按钮,将结果显示在标签中,否则将没有成绩,最后将修改后的文件按原文件名存盘。
(分数:30.00)
__________________________________________________________________________________________ 正确答案:([操作步骤] 步骤1:打开本题工程文件。
步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。
For i=1 To Val(Text1.Text) 'i从1开始,第一个找到的肯定就是满足条件的最小素数 If IsPrime(i) And IsPrime(Val(Text1.Text)-i)Then '判定两个数是否都满足素数条件 Label1=i Label2=Val(Text1.Text) - i Exit For End If Next i 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
)
解析:[考点] 本题考点有:Sqr()函数、文件操作、App.Path相对路径、Val()函数、For循环语句、If
判断选择语句以及Mod运算符。
[解析] Function IsPrime()函数用来判断一个数是否为素数,在处理循环变量的上限时,为了节约循环的次数,设置为Sqr(x)为x的平方根,如果x能被循环变量的值整除,IsPrime()函数的返回值为:False,x就不是素数。
在Command1_Click事件过程中,通过调用函数判断是否为素数,只要出现一组数据满足条件,就停止For循环,这样可以保证是最小的素数。
在进行数字运算前,一定要将参加运算的数字字符串转换为数值,因为计算机认为字符串是不能进行数学运算的。