图2
二、简单应用题
(1)在考生文件夹下有一个工程文件sjt3.vbp,相应的窗体文件为sjt3.frm。在窗体上有一个命令按钮,其名称为Command1,标题为\添加\;有一个文本框,名称为Text1,初始内容为空白;有一个列表框,名称为List1。程序运行后,在文本框中输入一个英文句子(由多个单词组成,各单词之间用一个空格分开),然后单击\添加\按钮,程序将把该英文句子分解为单词,并把每个单词作为一个项目添加到列表框中,如图3所示。该程序不完整,请补充完整。
要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
图3
(2)在考生文件夹下有一个工程文件sjt4.vbp,其中的窗体中有一个组合框和一个命令按钮(如图4所示)。程序的功能是在运行时,如果在组合框中输入一个项目并单击\添加\按钮,则搜索组合框中的项目,如果没有此项,则把此项添加到列表中;如果有此项,则弹出提示\已有此项\,然后清除输入的内容。
要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的文件以原来的文件名存盘。
图4
三、综合操作题
在考生文件夹下有文件in5.txt,文件中有几行汉字。请在Form1的窗体上画一个文本框,名称为Text1,能显示多行;再画一个命令按钮,名称为C1,标题为\存盘\。编写适当的事件过程,使得在加载窗体时,把in5.txt文件的内容显示在文本框中,然后在文本的最前面手工插入一行汉字 \计算机等级考试\如图5所示)。最后单击\存盘\按钮,把文本框中修改过的内容存到文件out5.txt中。
注意:只能在最前面插入文字,不能修改原有文字。文件必须存放在考生文件夹下,以sjt5.vbp为文件名存储工程文件,以sjt5.frm为文件名存储窗体文件。
图5
—16—
上机题答案解析
第四十套上机答案解析205
一、基本操作题
第1小题
【知识点拔】①文本框(Text)通常用于接收用户输入的字符串数据或用于显示输出信息,其Text属性用于设置或返回文本框中显示的文本。②控件的Height和Width属性用于设置控件在屏幕上的大小(即高和宽)。③字体大小通过FontSize属性设置,一般格式为:FontSize [=点数]。
【审题分析】要在单击\扩大\按钮时,使文本框在高、宽方向上各增加一倍,只需在\扩大\按钮的Click事件中编写设置文本框的Height和Width属性值为原来2倍的语句。要使文本框中的字体大小扩大到原来的3倍,需编写设置文本框的FontSize属性值为原来3倍的语句。
【操作步骤】
步骤1:新建一个\标准EXE\工程,如表1在窗体中画出控件并设置其相关属性。
步骤2:打开代码编辑窗口,编写两个命令按钮的单击事件过程。
参考代码:
Private Sub C1_Click() T1 = \等级考试\End Sub
Private Sub C2_Click()
T1.Height = 2 * Me.T1.Height T1.Width = 2 * T1.Width
T1.FontSize = 3 * Form1.T1.FontSize End Sub
表1
步骤3:按要求将文件保存至考生文件夹中。 第2小题
【知识点拔】①UCase()函数用于将字符串中小写字母转换为大写字母,原本大写或非字母字符保持不变。②LCase()函数用于将字符串中大写字母转换为小写字母,原本小写或非字母字符保持不变。
【审题分析】本题原程序是在命令按钮的单击事件过程中,将文本框Text1中的字符用UCase函数转换为大写并显示在Text2中,同时用LCase函数转换为小写并显示在Text1中。
【操作步骤】
步骤1:新建一个\标准EXE\工程,如表2在窗体中画出控件并设置其相关属性。
表2
—17—
步骤2:打开代码编辑窗口,编写命令按钮的单击事件过程。
参考代码:
Private Sub C1_Click()
Text1.Text = LCase(Text1.Text) Text2.Text = UCase(Text1.Text) End Sub
步骤3:按要求将文件保存至考生文件夹中。 【主要考点】字符串大小写转换函数。
二、简单应用题
第1小题
【知识点拔】列表框的Text属性用于返回列表框中选择的项目的内容,返回值总与列表框的List(ListIndex)属性的返回值相同。
【审题分析】本题根据是选择\笔试\或\上机\分为两种情况,若选择\笔试\则在文本框中显示列表框的Text属性值与单选按钮Option1的Caption属性值的组合内容;若选择\上机\则在文本框中显示列表框的Text属性值与单选按钮Option2的Caption属性值的组合内容。
【操作步骤】
步骤1:打开考生文件夹下的本题工程文件sjt3.vbp,在窗体上选中列表框,为其List属性输入四个项目:Visual Basic、Turbo C、C++、Java,注意每输入一项后用
步骤2:打开代码编辑窗口,编写\确定\按钮的单击事件过程。
参考代码:
If Option1.Value And List1.Text <> \ Text1.Text=List1.Text& Option1.Caption Else
If Option2.Value And List1.Text<>\ Text1.Text=List1.Text&Option2.Caption End If End If
步骤3:按要求将文件保存至考生文件夹中。
步骤4:按
第2小题
【知识点拔】通常把循环体内不再含有循环语句的循环叫做单层循环,而把循环体内含有循环语句的循环称为多重循环。例如在循环体内含有一个循环语句的循环称为二重循环。多重循环又称多层循环或嵌套循环。
【审题分析】程序设计思路:按顺序让1~500中的每一个数都与它之后的所有的数逐一相加,在相加过程中若累加和等于或超过1250时,则停止该组数继续相加,并将和等于1250的该组数的开头和结尾的数按题目要求输出。原程序使用嵌套For循环完成上述功能,变量iSum用于记录每组数累加时的和,其初值应为0;表达式iSum = iSum + j用于实现累加功能;当累加和正好等于1250时,输出该组数的开头和结尾的数,即i和j。
【操作步骤】
步骤1:打开考生文件中的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符\,将问号\改为正确的内容。
参考代码: iSum = 0
iSum = iSum + j
If iSum = 1250 Then
步骤2:按要求将文件保存至考生文件夹中。
三、综合操作题
【审题分析】程序设计思路:在\显示\按钮的单击事
件过程中,用Open语句以随机方式打开数据文件in5.txt,并用Get读出一条记录显示在文本框中,随后读取下一条记录,直到所有的记录都读取完毕;在\保存\按钮的单击事件过程中,用Open语句以Output方式打开数据文件out5.txt,并用Print #方法将文本框中的值存入该文件。
【操作步骤】
步骤1:新建一个\标准EXE\工程,如表3在窗体中画出控件并设置其相关属性。
表3
步骤2:打开代码编辑窗口,编写相应事件过程。 参考代码:
Private Type StudInfo Name As String * 8 Sex As String * 4 Age As Integer End Type
Dim Stud As StudInfo Dim RecNum As Long
Private Sub Command1_Click()
Open App.Path & \For Random As #1 Len = Len(Stud)
RecNum = 1
Do While Not EOF(1) Get #1, RecNum, Stud
Text1.Text = Text1.Text & Stud.Name Text1.Text = Text1.Text & Stud.Sex
Text1.Text = Text1.Text & Str(Stud.Age)
Text1.Text = Text1.Text + vbCrLf RecNum = RecNum + 1 Loop Close 1 End Sub
Private Sub Command2_Click()
Open App.Path & \
Print #1, Text1.Text Close 1 End Sub
步骤3:按要求将文件保存至考生文件夹中。 【主要考点】文件读写操作。
第四十一套上机答案解析206
一、基本操作题
第1小题
【审题分析】要在程序运行时实现按
【操作步骤】
步骤1:新建一个\标准EXE\工程,如表1在窗体Form1中画出控件,并分别设置它们的相关属性。
表1 对象属性设置
步骤2:双击\显示\按钮,打开代码编辑窗口,输入如下代码:
参考代码:
Text1.Text = \等级考试\
步骤3:按要求将文件保存在考生文件夹中。 第2小题
【审题分析】本题需用菜单设计器建立菜单,并编写\ —18—
显示\和\隐藏\菜单项的单击事件过程。
【操作步骤】
步骤1:新建一个\标准EXE\工程,在窗体Form1中画一个文本框,在属性设置窗口中将其Name属性值设置为Text1。
步骤2:选择【工具】→【菜单编辑器】命令,打开菜单设计器,如表2中的设置建立菜单项。
表2
步骤3:打开代码编辑窗口,编写以下事件过程: 参考代码:
Private Sub Dis_Click()
Text1.Text = \等级考试\End Sub
Private Sub Hid_Click() Text1.Visible = False End Sub
步骤4:按要求将文件保存至考生文件夹中。
二、简单应用题
第1小题
【审题分析】根据题目要求,在\确定\按钮的单击事件过程中,先用If语句判断框架F1中的Op1是否选中(即以Op1.Value=True为条件表达式),如果条件为真,那么再继续判断框架F2中的Op3是否选中(即以Op3.Value= True为条件表达式),当Op3被选中时,标签中显示\坐飞机去广州\,否则显示\坐飞机去昆明\;同理在外层If语句条件为假(即Op2被选中)时,也作类似处理。这样一共就有四种可能:Op1和Op3被选中、Op1和Op4被选中、Op2和Op3被选中、Op2和Op4被选中,对于可能出现的不同选择对照题目中表的规定,在标签中显示不同内容。以上判断和显示操作均在C1的Click事件中完成。
【操作步骤】
步骤1:打开考生文件夹下的本题工程文件sjt3.vbp。 步骤2:在窗体Form1中加入两个框架和一个标签以及一个命令按钮,然后在每个框架中各加入两个单选按钮,分别设置他们的相关属性,其属性及值如表3所示。
表3
步骤3:打开代码编辑窗口输入如下代码: 参考代码:
Private Sub C1_Click() If Op1 And Op3 Then
Lab1.Caption = \坐飞机去广州\ ElseIf Op1 And Op4 Then
Lab1.Caption = \坐飞机去昆明\ ElseIf Op2 And Op3 Then
Lab1.Caption = \坐火车去广州\ ElseIf Op2 And Op4 Then
Lab1.Caption = \坐火车去昆明\
End If End Sub
步骤4:按要求将文件保存至考生文件夹中。
步骤5:按
【考试误区】容器中单选按钮组只能有一个被选中。 第2小题
【审题分析】根据题目要求,设计本题程序的思路:在窗体Form1的Click事件过程中分别以Op1和Op2是否选中作为If语句的条件,当Op1被选中时,将两个文本框中的内容通过一个中间变量进行交换;当Op2被选中时,将两个文本框中的内容连接起来。
【操作步骤】
步骤1:打开考生文件夹下的本题工程文件sjt4.vbp。 步骤2:在窗体Form1中加入三个文本框和两个单选按钮,分别设置它们的相关属性,其属性及值如表4所示。
表4
步骤3:打开代码编辑窗口输入如下代码: 参考代码:
Private Sub Form_Click() If Op1 Then
Text3.Text = Text1.Text Text1.Text = Text2.Text Text2.Text = Text3.Text Text3.Text = \交换成功\ ElseIf Op2 Then
Text3.Text=Text1.Text& Text2.Text End If End Sub
步骤4:按要求将文件保存至考生文件夹中。
步骤5:按
【特别提示】在一个容器中的多个单选按钮只能有一个被选中,由此分出不同分支,理清思路是关键。 三、综合操作题
【知识点拔】数组是一组具有相同类型和名称的变量的集合。这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称为数组的长度。数组定义:定长数组的长度是在定义时就确定的,在程序运行过程中是固定不变的。其定义格式为:
Dim数组名([下界To]上界)[As类型名]
其中,\下界\和\类型名\是可选的。所谓下界和上界,就是数组下标的最小值和最大值。缺省下界时,默认下界为0。注意:当程序中有Option Base 1语句时,它的作用是限定数组下标的下限默认为1。
【审题分析】本题原程序的大致设计思路是:程序运行后单击窗体,则打开数据文件datain.txt并从中读取数据,并依次存入二维数组Mat(下界为1,上界为5)的各元素中,故第一个?处是定义数组,应改为:Mat(M, N) As Integer;第两个?处是指明打开文件的方式,应改为:For Input;第三个?处是将数据文件中的数据读入并赋值给数组元素,应改为:Input #1,Mat(i, j);然后用一个嵌套的For循环将数组Mat中的数据在窗体上按5行、5列的矩阵形式显示出来,接着再用一个For循环将数组Mat中第1维下标为1和第1维下标为3的元素对应(即第2维下标一致)交换值,交换值时引入一个中间变量t,故第4个?处是将中间变量t的值赋 —19—
给数组元素Mat (3, j),应改为:Mat (3, j) = t。最后将交换后的数组Mat中的数据,再按5行、5列的矩阵形式在窗体上显示出来。
【操作步骤】
步骤1:打开本题对应工程文件sjt5.vbp。
步骤2:打开代码编辑窗口,去掉程序中的注释符\,将问号\改为正确的内容。
参考代码:
Dim Mat (M, N) As Integer
Open App.Path & \ Input As #1 Input #1, Mat (i, j) Mat (3, j) = t
步骤3:按要求将文件保存在考生文件夹中。
【考试误区】数据的矩阵显示常与二维数组、多重循环一起使用。
第四十二套上机答案解析207
一、基本操作题
第1小题
【知识点拔】Sorted属性用于设置列表框控件(ListBox)或者组合框控件的列表项是否按照字母顺序升序排列。
【审题分析】本题只需新建窗体和控件,然后设置相关属性即可。
【操作步骤】
步骤1:新建一个\标准EXE\工程,如表1在窗体中画出控件并设置其相关属性。
表1
步骤2:按要求将文件保存至考生文件夹中。 第2小题
【审题分析】程序运行时要改变标签的标题的字体大小,可通过修改其FontSize属性值来实现。
【操作步骤】
步骤1:新建一个\标准EXE\工程,如表2在窗体中画出控件并设置其相关属性。
表2
步骤2:打开代码编辑窗口,编写两个命令按钮的Click事件过程。
参考代码:
Private Sub Command1_Click()
Label1.FontSize = Label1.FontSize - 2 End Sub
Private Sub Command2_Click() Label1.FontSize = 12 End Sub
步骤3:按要求将文件保存至考生文件夹中。
二、简单应用题
第1小题
【审题分析】在\查找\按钮的单击事件中,首先使用
变量num接收输入框的值,然后判断num是否为偶数,如果为奇数(num / 2 <> Fix(num / 2))则提示错误信息;由于数组a是升序排列的,因此如果num的值小于a(1)或者大于a(30)则意味着超出范围;接下来使用For循环遍历整个数组,如果某次循环中数组元素等于num的值则意味着找到,可以退出循环;当循环结束后如果n的值大于30则表明循环是正常结束的,没有找到这个元素。
【操作步骤】
步骤1:打开考生文件夹下的本题工程文件sjt3.vbp,打开代码编辑窗口,去掉程序中的注释符\,将问号\改为正确的内容。
参考代码:
If num / 2 <> Fix(num / 2) Then If num < a(1) Or num > a(30) Then If a(n) = num Then If n > 30 Then
步骤2:按要求将文件保存至考生文件夹中。 第2小题
【审题分析】本题要求编写\统计\按钮的单击事件过程。程序设计思路:在一个For循环中逐一取出存于数组a中的各学生成绩,将同一行的两个成绩取平均值后用Select Case语句对平均值进行判断,根据成绩所属情况,使对应的x数组元素中的数增1,最后显示在文本框数组中。
【操作步骤】
步骤1:打开考生文件中的本题工程文件sjt4.vbp,打开代码编辑窗口,去掉程序中的注释符\,将问号\改为正确的内容。
参考代码:
Avg = (a(i, 2) + a(i, 3)) / 2 Case Is >= 85 Case 60 To 84 End Select
Text2(n - 1) = x(n)
步骤2:按要求将文件保存至考生文件夹中。
三、综合操作题
【审题分析】本题可利用一个嵌套的For循环来完成计算工作:在外循环(循环变量的取值为1~20)体中,先初始设置记录每行数据之和的变量Sum的初值为0,接着通过内循环(循环变量的取值为1~5)体完成对每行数据的累加工作。内循环结束后,用表达式Avg = Sum / 5计算出该行的平均值。如果是第一次执行外循环的循环体,则将当前Avg的值记录在变量Max中,否则仅在其他行Avg值大于Max的值时,才将其记录在变量Max中。嵌套For循环结束时,变量Max的值即为每行平均数中的最大值,将其显示在文本框txtMax中。
【操作步骤】
步骤1:打开考生文件中的本题工程文件sjt5.vbp,在窗体Form1中画一个标签和一个文本框,其属性及值如表3所示。
表3
步骤2:打开代码编辑窗口,在指定位置编写以下代码: 参考代码: For i = 1 To 20 Sum = 0
For j = 1 To 5
Sum = Sum + a(i, j) Next
Avg = Sum / 5 If i = 1 Then Max = Avg
ElseIf Max < Avg Then Max = Avg End If
—20—
Next
Text2.Text = Max
步骤3:按要求将文件保存至考生文件夹中。
步骤4:按
第四十三套上机答案解析208
一、基本操作题
第1小题
【审题分析】本题需用菜单设计器建立菜单,并编写\显示\和\清除\菜单项的单击事件过程。
【操作步骤】 步骤1:新建一个\标准EXE\工程,选择【工具】→【菜单编辑器】命令,打开菜单设计器,如表1中的设置建立菜单项。
表1
步骤2:打开代码编辑窗口,编写以下事件过程: 参考代码:
Private Sub Clea_Click() Cls End Sub
Private Sub Dis_Click() Print \等级考试\End Sub
步骤3:按要求将文件保存至考生文件夹中。 第2小题
【知识点拔】列表框控件(ListBox)用于显示可供单一或多个选择的列表项,给列表框添加列表项既可以在设计阶段通过其List属性设置加入,也可在程序运行时使用AddItem方法加入,列表框中的项目总数由列表框的ListCount属性可以得到。
【审题分析】双击列表框中的某个项目,将触发其DblClick事件。要实现双击列表框中的某一项,就把列表框中的项目总数显示在标签中,只需在DblClick事件过程中编写添加项目的语句即可。
【操作步骤】
步骤1:新建一个\标准EXE\工程,在窗体Form1中加入一个列表框,在属性设置窗口中将其Name属性设置为L1,在其List属性中任意添加四个项目。注意:每输入完一项后按
步骤2:打开代码编辑窗口,编写列表框的DblClick事件过程:
参考代码:
Private Sub L1_DblClick()
Lab1.Caption = L1.ListCount End Sub
步骤3:按要求将文件保存至考生文件夹中。
【考试误区】本题应编写列表框控件的DblClick事件。
二、简单应用题
第1小题
【审题分析】根据题目要求,在文本框的单击事件过程中,先用If语句判断框架F1中的Op1是否选中(即以Op1.Value=True为条件表达式),如果条件为真,那么再继续判断框架F2中的Op3是否选中(即以Op3.Value= True为条件表达式),当Op3被选中时,文本框中显示\坐汽车去青岛\,否则显示\坐汽车去大连\;同理在外层If语句条件为假(即Op2被选中)时,也作类似处理。这样一共就有四种可能:Op1和Op3被选中、Op1和Op4被选中、Op2和Op3被选中、Op2和Op4被选中,对于可能出现的不同选择对照题目中表的规定,在标签中显示不同内容。以上判断和显示操作均在文本框的Click事件中完成。
【操作步骤】