1、VB 机试-试卷 55 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)在窗体 Forml 上画一个名称为 Textl 的文本框和一个名称为 Labell 的标签,程序运行时,在文本框Textl 中输入字符,文本框中的字符将值赋到 Labell 中。注意,本程序代码中不得使用任何变量。程序运行时的窗体界面如图 50l 所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjlfrm,工程文件名为 silvbp。 (2)在窗体 Forml 中画一个文本框,名称为 Textl、内容为空。要求设置适
2、当的控件属性,使得程序运行时,可以多行显示且具备垂直滚动条。要求程序中不得有任何变量。程序运行时的窗体界面如图 50 一 2 所示。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在名称为 Forml 的窗体上绘制两个名称分别为 Labell 和 Label2 的标签,标题分别为“项数”和“新添”;绘制两个名称分别为 Textl 和 Text2 的文本框,没有初始内容;绘制一个名称为 Combo1 的下拉式组合框,并通过属性窗口输入若干项目(不少于 5 个,内容任意);再绘制两个命令按钮,名称分别为Commandl 和 Comm
3、and2、标题分别为“添加”和“项数”,运行界面如图 383 所示。在运行时,向Textl 中输入字符,单击“添加”按钮后,则 Textl 中的内容作为一个列表项被添加到组合框的列表中;单击“项数”按钮,则在窗体上显示组合框中列表项的个数。请编写两个命令按钮的 Click 事件过程。 注意:程序中不得使用变量,也不能使用循环。存盘时必须存放在考生文件夹下,工程文件名为sj3vbp,窗体文件名为 sj3frm。 (2)在考生文件夹下有 1 个工程文件 sj4vbp,该程序用来对在上面文本框中输入的英文字母串(称为“明文”)加密,加密结果(称为“密文”)显示在下面的文本框中。加密的方法是:选中 1
4、 个单选按钮,单击“加密”按钮后,根据选中的单选按钮后面的数字 n,把明文中的每个字母改为它前面的第 n 个字母(“a”前面的字母认为是“z”,“Z”后面的字母认为是“A”),如图384 所示。 (分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个工程文件 sj5vbp,其窗体上有一个文本框,名称为 Textl;有三个命令按钮,名称分别为 Commandl、Command2 和 Command3,标题分别为“输入”、“计算显示”和“保存”,运行界面如图 455 所示。在给定程序中有一个函数过程 isPrimeNum,其功
5、能是判断参数是否为素数,如果是素数,则返回 True,否则返回 False。 请将程序中有问号(即“?”)的地方替换为相应的代码,使得在运行时,单击“输入”按钮,弹出“输入”对话框,单击“计算显示”按钮,则找出大于输人参数的最小素数,并显示在 Textl 中;单击“保存”按钮,则把 Textl 中的计算结果存入考生文件夹下的 out5txt 文件中。 (分数:2.00)_VB 机试-试卷 55 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)在窗体 Forml 上画一个名称为 Textl 的文本
6、框和一个名称为 Labell 的标签,程序运行时,在文本框Textl 中输入字符,文本框中的字符将值赋到 Labell 中。注意,本程序代码中不得使用任何变量。程序运行时的窗体界面如图 50l 所示。 注意:保存时必须存放在考生文件夹下,窗体文件名为 sjlfrm,工程文件名为 silvbp。 (2)在窗体 Forml 中画一个文本框,名称为 Textl、内容为空。要求设置适当的控件属性,使得程序运行时,可以多行显示且具备垂直滚动条。要求程序中不得有任何变量。程序运行时的窗体界面如图 50 一 2 所示。 (分数:2.00)_正确答案:(正确答案:(1)本题考查控件画法、文本框的属性及其 Ch
7、ange 事件。文本框的 Text 属性设置或返回其显示的文本内容,当在文本框中输入文本时将触发其 Change 事件。根据题意,新建“标准EXE”工程,将一个标签和一个文本框控件添加到窗体中,标签的名称为 Labell、Caption 属性为空,文本框的名称为 Textl、Text 属性为空。双击 Textl 进入代码窗口,编写如下代码: Private Sub Textl_Change() LabellCaption=TextlText将 Textl 中的文本在 Labell 中显示出来 End Sub 单击按钮运行程序,并按要求保存。 (2)本题考查文本框多种属性的设置。文本框(Text
8、Box)一般用于接收或显示输入输出的信息。文本框的 Text 属性设置或返回其显示的文本内容;MultiLine 属性设置文本框是否允许以多行显示文本,值为 True 表示允许,值为 False 表示不允许;ScrollBars 属性设置文本框是否有水平或垂直滚动条,0、1、2、3 四种值:0 表示没有滚动条(默认值);1 表示只有水平滚动条;2 表示只有垂直滚动条;3 表示有水平和垂直滚动条,设置 0 以外的值时 MultiLine 属性值必须为 True。 根据题意,新建“标准 EXE”工程,将一个文本框控件添加到窗体中,其名称为 Textl、MultiLine 属性为 True、Scro
9、llBar 控件为 2。单击 )解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在名称为 Forml 的窗体上绘制两个名称分别为 Labell 和 Label2 的标签,标题分别为“项数”和“新添”;绘制两个名称分别为 Textl 和 Text2 的文本框,没有初始内容;绘制一个名称为 Combo1 的下拉式组合框,并通过属性窗口输入若干项目(不少于 5 个,内容任意);再绘制两个命令按钮,名称分别为Commandl 和 Command2、标题分别为“添加”和“项数”,运行界面如图 383 所示。在运行时,向Textl 中输入字符,单击“
10、添加”按钮后,则 Textl 中的内容作为一个列表项被添加到组合框的列表中;单击“项数”按钮,则在窗体上显示组合框中列表项的个数。请编写两个命令按钮的 Click 事件过程。 注意:程序中不得使用变量,也不能使用循环。存盘时必须存放在考生文件夹下,工程文件名为sj3vbp,窗体文件名为 sj3frm。 (2)在考生文件夹下有 1 个工程文件 sj4vbp,该程序用来对在上面文本框中输入的英文字母串(称为“明文”)加密,加密结果(称为“密文”)显示在下面的文本框中。加密的方法是:选中 1 个单选按钮,单击“加密”按钮后,根据选中的单选按钮后面的数字 n,把明文中的每个字母改为它前面的第 n 个字
11、母(“a”前面的字母认为是“z”,“Z”后面的字母认为是“A”),如图384 所示。 (分数:2.00)_正确答案:(正确答案:(1)根据题意,新建“标准 EXE”工程,将两个文本框控件、两个命令按钮、两个标签和一个 ComboBox 控件添加到窗体中,文本框的名称分别为 Textl 和 Text2、Text 属性都为空,命令按钮的名称分别为 Commandl 和 Command2、Caption 属性分别为“添加”和“项数”,标签的 Caption 属性分别为“项数”和“新添”,ComboBox 的名称为 Comb01,Style 设为 2。AddItem 方法用来向组合框中添加一个表项,其
12、格式为:组合框AddItem 列表项索引。ListCount 属性返回组合框中列表项的个数。双击 Commandl,进入代码编写窗口,具体代码如下: Private Sub Commandl Click()单击添加 Comb01AddItem Text2Text向 Comb01 中添加 Text2 的文本 End Sub Private Sub Command2_Click() 单击项数 TextlText=Comb01ListCount将 Comb01 的项数赋给 Textl End Sub 单击 按钮运行程序,并按要求保存。 (2)本题首先要确定移动的位数,移动的位数是由单选按钮的 Cap
13、tion 属性确定的,然后要确定循环的次数,循环的次数是由输入字母的个数来确定的。对于字符串,需要对字符进行逐个处理。使用 Asc()函数来获得字符的 ASCII 码,Chr()函数将 ASCII 码转换成字符,先获得移位后的 ASCII码值,保证符合条件,然后再转换成字符。Mid 函数的格式为:Mid(字符串,P,n),表示从第 P 个字符开始,向后截取 n 个字符,P 和 n 都是算术表达式。Mid 函数的第三个变量可以省略,这样将从第 P 个字符开始向后截取到字符串的结尾。 双击 Commandl 进入代码编写窗口,具体代码如下: Private Sub Commandl_Click()
14、 Dim str As String Dim tmp As String Dim i As Integer Dim ind As Integer If Optionl Value =True Then ind=1 当选中 Optionl 时,则移 1 位 ElseIf Option2 Value =True Then ind=2当选中 Option2 时,则移 2 位 Else ind=3当选中 Option3 时,则移 3 位 End If str=“ For i=1 To Len(TextlText) tmp=Mid( TextlText ,i,1)一个一个读人字符 If Asc(tmp)
15、=Asc(“A“)Then当输人为字母时加密 If Asc(trap)=Asc(“a“) Then tmp=Chr(Asc(tmp)-ind-Asc(“a“)+26)Mod 26+Asc(“a“) 右移 ind 位,以 26 为循环周期 Else当输入为大写字母时 tmp=Chr(Asc(tmp)-ind-Asc(“A“)+26)Mod 26+Asc(“A“) 右移 ind 位,以 26 为循环周期 End If End If str=str+tmp将字符串连起来 Next i Text2Text=str在 Textl 中显示加密后的字符串 End Sub 单击 )解析:三、综合应用题(总题数
16、:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个工程文件 sj5vbp,其窗体上有一个文本框,名称为 Textl;有三个命令按钮,名称分别为 Commandl、Command2 和 Command3,标题分别为“输入”、“计算显示”和“保存”,运行界面如图 455 所示。在给定程序中有一个函数过程 isPrimeNum,其功能是判断参数是否为素数,如果是素数,则返回 True,否则返回 False。 请将程序中有问号(即“?”)的地方替换为相应的代码,使得在运行时,单击“输入”按钮,弹出“输入”对话框,单击“计算显示”按钮,则找出大于输人参数的最小素数
17、,并显示在 Textl 中;单击“保存”按钮,则把 Textl 中的计算结果存入考生文件夹下的 out5txt 文件中。 (分数:2.00)_正确答案:(正确答案: 判断一个数是否为素数就是看该数是否除了 1 及其本身外别无其他约数(即从 2到 n-1 之间没有可以将其整除的数)即可,从 Function 函数中可知,变量 isPrimeNum 用于保留判断数是否是素数的结果,值为 True 表示是素数,值为 False 表示不是素数。文本框通过 Text 属性显示计算结果,其形式为:文本框名Text=要显示的内容。将数据写入文件可用命令 Write#语句或 Print#语句,本程序中用的是前
18、者,其形式为:Write#文件号,输出列表。 根据题意,将一个文本框控件和 3 个命令按钮添加到窗体中,文本框的名称为 Textl,Text 属性为空,命令按钮的名称分别为 Commandl,Command2 和Command3,Caption 属性分别为“输入”、“计算显示”和“保存”。双击 Commandl 进入代码窗口,编写如下代码: Dim a As Integer Dim res As Integer Private Sub Commandl Click() a=Val( InputBox(“输入参数:“) ) 弹出输入对话框 End Sub Private Sub Command2
19、_Click() While isPrimeNum(a)=False 如果输入参数不是素数则继续循环 a=a+1 Wend Textl Text =a将获得的素数在 Textl 中显示出来 End Sub Function isPrimeNum(num As Integer)As Boolean判断输入是否为素数 isPrimeNum=True Dim i As Integer For i=2 To num-1 If num Mod i=0 Then isPrimeNum=False End If Next i End Function Private Sub Command3 Click() Open AppPath&“outtxt“For Output As#1 Write #l,a Close#1 End Sub 单击 )解析: