注意:下面出现的“考生文件夹”均为C:\wexam\25160002。
(1) 在考生文件夹下有一个工程文件sjt3.vbp,相应的窗体文件为sjt3.frm。其功能是产生20个0~ 1000的随机整数,放入一个数组中,然后输出这20个整数中大于500的所有整数之和。程序运行后,单击命令按钮(名称为Command1,标题为“输出大于500的整数之和”),即可求出这些整数的和,并在窗体上显示出来,如图25-4所示。这个程序不完整,请把它补充完整,并能正确运行。
要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
(2) 在考生文件夹下有一个工程文件sjt4.vbp,相应的窗体文件为sjt4.frm,在窗体上有一个命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出0~100范围内不能被7整除的所有整数的和,并在文本框中显示出来。在窗体的代码窗口中,已给出了部分程序,其中计算不能被7整除的整数的和的操作在通用过程Fun中实现,请编写该过程的代码。
要求:请勿改动程序中的任何内容,只在Function Fun()和End Function之间填入你编写的若干语句。最后把修改后的文件按原文件名存盘。

第二步:编写程序代码。
程序提供的代码:
Option Base 1
Private Sub Command1_Click()
Dim arrN(20) As Integer
Dim Sum As Integer
Randomize
For i=1 To 20
'arrN(i)=Int(Rnd * ?)
Next i
'Sum=?
For i=1 To 20
'If ? Then
'Sum=?
End If
Next i
Print Sum
End Sub
参考代码:
Option Base 1
Private Sub Command1_Click()
Dim arrN(20) As Integer
Dim Sum As Integer
Randomize
For i=1 To 20
arrN(i)=Int(Rnd * 1000)
Next i
Sum=0
For i=1 To 20
If arrN(i)>500 Then
Sum=Sum+arrN(i)
End If
Next i
Print Sum
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)
判断0~100范围内的数能不能被7整除使用求余运算符Mod如果余数不为0则表示该数不能被整除。设置一个变量来计算不能被7整除的数的和。解题步骤:
第一步:编写程序代码。
程序提供的代码:
Sub SaveData()
Open App.Path & "\" & "outtxt.txt" For Output As #1
Print #1 Text1.Text
Close #1
End Sub
Function Fun()
End Function
Private Sub Command1_Click()
d=Fun()
Text1.Text=d
SaveData
End Sub
参考代码:
Sub SaveData()
Open App.Path & "\" & "outtxt.txt" For Output As #1
Print #1 Text1.Text
Close #1
End Sub
Function Fun()
Dim i As Integer
Dim temp As Integer
For i=0 To 100
If i Mod 7 > 0 Then
temp=temp + i
End If
Next i
Fun=temp
End Function
Private Sub Command1_Click()
d=Fun()
Text1.Text=d
SaveData
End Sub
第二步:调试并运行程序。
第三步:按题目要求存盘。
第二步:编写程序代码。
程序提供的代码:
Option Base 1
Private Sub Command1_Click()
Dim arrN(20) As Integer
Dim Sum As Integer
Randomize
For i=1 To 20
'arrN(i)=Int(Rnd * ?)
Next i
'Sum=?
For i=1 To 20
'If ? Then
'Sum=?
End If
Next i
Print Sum
End Sub
参考代码:
Option Base 1
Private Sub Command1_Click()
Dim arrN(20) As Integer
Dim Sum As Integer
Randomize
For i=1 To 20
arrN(i)=Int(Rnd * 1000)
Next i
Sum=0
For i=1 To 20
If arrN(i)>500 Then
Sum=Sum+arrN(i)
End If
Next i
Print Sum
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)
判断0~100范围内的数能不能被7整除,使用求余运算符Mod,如果余数不为0,则表示该数不能被整除。设置一个变量,来计算不能被7整除的数的和。解题步骤:
第一步:编写程序代码。
程序提供的代码:
Sub SaveData()
Open App.Path & "\" & "outtxt.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub
Function Fun()
End Function
Private Sub Command1_Click()
d=Fun()
Text1.Text=d
SaveData
End Sub
参考代码:
Sub SaveData()
Open App.Path & "\" & "outtxt.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub
Function Fun()
Dim i As Integer
Dim temp As Integer
For i=0 To 100
If i Mod 7 > 0 Then
temp=temp + i
End If
Next i
Fun=temp
End Function
Private Sub Command1_Click()
d=Fun()
Text1.Text=d
SaveData
End Sub
第二步:调试并运行程序。
第三步:按题目要求存盘。
第1题:
注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
(1)在名称为Form1的窗体上建立两个主菜单,其标题分别为“文件”和“帮助”,名称分别为vbFile和vbHelp,在“文件”菜单下有3个子菜单项,标题分别为“新建”、“打开”和“存盘”,名称分别为 vbNew、vbOpen和vbSave。要求程序运行后,如果选中“文件”下的某个菜单项,则通过MsgBox对话框显示该菜单项的标题,如图3-3所示。
注意:保存时必须存放在考生文件夹下,窗体文件名为sjt3.frm,工程文件名为sjt3.vbp。
(2)在窗体上建立一个名称为Text1的文本框,再建立一个名称为Cmd1,标题为“计算”的命令按钮,如图3-4所示。要求程序运行后,单击命令按钮,将计算100-200之间所有素数之和,在文本框中显示结果,同时把结果存入文件out.txt中。 (在考生文件夹中有标准模块mode.bas,其中的putdata过程可以把结果存入文件,而isprime函数可以判断整数x是否为素数,如果是素数,则函数返回True,否则返回 False,考生可以把该模块文件添加到自己的工程中。)
注意:保存时必须存放在考生文件夹下,窗体文件名为sjt4.frm,工程文件名为sjt4.vbp,结果存入out.txt文件。

第二步:编写程序代码。
参考代码:
Private Sub vbNew_Click()
MsgBox“新建”vbOKOnly
End Sub
Private Sub vbOpen_Click()
MsgBox“打开”vbOKOnly
End Sub
Private Sub vbSave_Click()
MsgBox“存盘”vbOKOnly
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后先设置控件的属性值再编写事件过程。
文本框中显示的内容由Text属性设置命令按钮的标题由Caption属性设置单击命令按钮触发Click事件。解题步骤:第一步:建立菜单项。程序中用到的控件及其属性见表3-3。
第二步:编写程序代码。
参考代码:
Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
temp = 0
For i = 100 To 200
If isprime(i) Then
temp = temp + i
End If
Next
Text1.Text = temp
putdata "out.txt"temp
End Sub
标准模块代码:
Option Explicit
Sub putdata(t_FileName As StringT Str As Variant)
Dim sFile As String
sFile = "\" & t FileName
Open App.Path & sFile For Output As # 1
Print #1T_Str
Close #1
End Sub
Function isprime(t_I As Integer) As Boolean
Dim J As Integer
isprime = False
For J=2 To t I / 2
If t I Mod J = 0 Then Exit For
Next J
If J>t I/2 Then isprime = True
End Function
第三步:调试并运行程序。
第四步:按题目要求存盘。
第二步:编写程序代码。
参考代码:
Private Sub vbNew_Click()
MsgBox“新建”,vbOKOnly
End Sub
Private Sub vbOpen_Click()
MsgBox“打开”,vbOKOnly
End Sub
Private Sub vbSave_Click()
MsgBox“存盘”,vbOKOnly
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后,先设置控件的属性值,再编写事件过程。
文本框中显示的内容由Text属性设置,命令按钮的标题由Caption属性设置,单击命令按钮触发Click事件。解题步骤:第一步:建立菜单项。程序中用到的控件及其属性见表3-3。
第二步:编写程序代码。
参考代码:
Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
temp = 0
For i = 100 To 200
If isprime(i) Then
temp = temp + i
End If
Next
Text1.Text = temp
putdata "out.txt",temp
End Sub
标准模块代码:
Option Explicit
Sub putdata(t_FileName As String,T Str As Variant)
Dim sFile As String
sFile = "\" & t FileName
Open App.Path & sFile For Output As # 1
Print #1,T_Str
Close #1
End Sub
Function isprime(t_I As Integer) As Boolean
Dim J As Integer
isprime = False
For J=2 To t I / 2
If t I Mod J = 0 Then Exit For
Next J
If J>t I/2 Then isprime = True
End Function
第三步:调试并运行程序。
第四步:按题目要求存盘。
第2题:
注意:下面出现的“考生文件夹”均为C:\wexam\25160002。
(1) 在名称为Form1的窗体中画一个名称为L1的标签,其标题为“0”,BorderStyle属性为“再添加一个名称为Timer1的计时器。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,每隔一秒钟标签中的数字加1。如图27-3所示的是程序刚启动时的情况。程序中不得使用任何变量。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt3.vbp,窗体文件名为sjt3.frm。
(2)在考生文件夹下有一个工程文件sjt4.vbp,要求程序运行后,如果多次单击列表框中的项,则可同时选择这些项。而如果单击“显示”按钮,则在窗体上输出所有选中的列表项,如图27-4所示。
要求:修改列表框的适当属性,使得运行时可以多选,并去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不得修改程序中的其他部分。最后把修改后的程序以原来的文件名存盘。

第二步:编写程序代码。
参考代码:
Private Sub Form_Load()
L1.BorderStyle = 1 - fixed
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
L1.Caption = L1.Caption + 1
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后先设置控件属性再编写事件过程。
列表框的MultiSelect属性用来设置一次可以选择的表项数。该属性有3种取值:
O—None每次只能选择一项如果选择另一项则会取消对前一项的选择;
1—Simple可以同时选择多个项后续的选择不会取消前面的选择。可以用鼠标或空格键选择;
2—Extended可以选择指定范围内的表项。
因此为了实现题目要求的功能应将MultiSelect属性设置为1。列表框的ListCount属性表示表项的数量列表框中表项的排列从。开始最后一项的序号为ListCount-1。为了检测列表框中被选择的项应使用Selected属性该属性实际上是一个数组每个元素与列表框中的一项对应其取值为True或False。当元素的值为True时表明选择了该项;为False表示未选择。使用List属性列出被选中项的内容。解题步骤:
第一步:建立界面并设置控件的属性。程序用到的控件及其属性见表27-4。
第二步;编写程序代码。
程序提供的代码:
Private Sub C1_Click()
'For i = ? To ?
'If l1.? = True Then
Print l1.List(i)
End If
Next
End Sub
参考代码:
Private Sub C1_Click()
For i = 0 To l1.ListCount - 1
If l1.Selected(i) = True Then
Print l1.List(i)
End If
Next
End sub
第三步:调试并运行程序。
第四步;按题目要求存盘。
第二步:编写程序代码。
参考代码:
Private Sub Form_Load()
L1.BorderStyle. = 1 - fixed
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
L1.Caption = L1.Caption + 1
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。
列表框的MultiSelect属性用来设置一次可以选择的表项数。该属性有3种取值:
O—None每次只能选择一项,如果选择另一项则会取消对前一项的选择;
1—Simple可以同时选择多个项,后续的选择不会取消前面的选择。可以用鼠标或空格键选择;
2—Extended可以选择指定范围内的表项。
因此,为了实现题目要求的功能,应将MultiSelect属性设置为1。列表框的ListCount属性表示表项的数量,列表框中表项的排列从。开始,最后一项的序号为ListCount-1。为了检测列表框中被选择的项,应使用Selected属性,该属性实际上是一个数组,每个元素与列表框中的一项对应,其取值为True或False。当元素的值为True时,表明选择了该项;为False表示未选择。使用List属性列出被选中项的内容。解题步骤:
第一步:建立界面并设置控件的属性。程序用到的控件及其属性见表27-4。
第二步;编写程序代码。
程序提供的代码:
Private Sub C1_Click()
'For i = ? To ?
'If l1.? = True Then
Print l1.List(i)
End If
Next
End Sub
参考代码:
Private Sub C1_Click()
For i = 0 To l1.ListCount - 1
If l1.Selected(i) = True Then
Print l1.List(i)
End If
Next
End sub
第三步:调试并运行程序。
第四步;按题目要求存盘。
第3题:
注意:下面出现的“考生文件夹”均为c:\wexam\25160001。
(1) 在考生文件夹下有工程文件sjt3.vbp及窗体文件sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在窗口中有一个RichText文本框控件和一个文本框控件,名称分别为rtx1和Text1,两个命令按钮,名称分别为Command1和Command2,标题分别为“加入SJT01.TXT”、“统计字符个数”。要求程序运行后,单击command1将考生文件夹下的sjt01.txt的内容显示到rtx1中;单击“统计字符个数”按钮统计 rtx1中有多少个字符,将结果显示在Text1中。程序运行结果如图13-4所示。
(2) 在考生文件夹下有工程文件sjt4.vbp及窗体文件sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体上有一个名为Image1的图像框,要求程序运行后,鼠标左键点击图像框,则图像框变大;鼠标右键点击图像框,图像框变小。设计界面如图13-5所示。

程序提供的代码:
Option Explicit
Private Sub Command1_Click()
'rtx1.? App.Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
' Text1.Text=?
End If
End Sub
参考代码:
Option Explicit
Private Sub Commandl_Click()
rtx1.LoadFile App. Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
Text1.Text=Len(rtx1.Text)
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后先设置控件属性再编写事件过程
图像框的图片由Picture属性设置。判断鼠标左键还是右键可以通过图像框的MouseUp事件的Button参数来判断。
MouseUp事件再释放鼠标按钮时发生。其语法格式为:
PrivateSubobject_MouseUp([indexAsInteger]buttonAsIntegershiftAsIntegerxAsSingleyAsSingle)
Object一个对象表达式。
Index一个整数用来惟一地标识一个在控件数组中的控件。
Button返回一个整数用来标识该事件的产生是按下(MouseDown)或者释放(MouseUp)按钮引起的。button参数是具有相应于左按钮(位0)右按钮(位1)以及中间按钮(位2)的一个位字段。这些位的值分别等于12和4。其中仅有一位被设置指示出引起该事件的那个按钮Shift返回一个整数在button参数
指定的按钮被按下或者被释放的情况下该整数相应于SHIFTCTRL和ALT键的状态。某键被按下使得一个二进制位被设置。
shift参数是具有相应于SHIFT键(位0)CTRL键(位”以及ALT键(位2)最少二进制位的一个位字段。这些位的值分别等于12和4。shift参数指示这些键的状态。这些位中可能有一些、全部或者一个也没有被设置指示这些键中的一些、全部或者一个也没有被按下。解题步骤:
第一步:建立界面并设置控件属性。
第二步:编写程序代码。
程序提供的代码:
Private Sub Image1_MouseUp(Button As Integer Shift As Integer X As Single Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Imagel.Height=Imagel.Height+500
' Imagel.Width=Imagel.Width ? 500
End If
End If
'If Button=? Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
参考代码:
Private Sub Image1_MouseUp(Button As Integer Shift As Integer XAs Single Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Image1.Height=Image1.Height+500
Image1.Width=Image1.Width+500
End If
End If
If Button=2 Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
程序提供的代码:
Option Explicit
Private Sub Command1_Click()
'rtx1.? App.Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
' Text1.Text=?
End If
End Sub
参考代码:
Option Explicit
Private Sub Commandl_Click()
rtx1.LoadFile App. Path+"\sjt01.txt"
End Sub
Private Sub Command2_Click()
If rtx1.Text > "" Then
Text1.Text=Len(rtx1.Text)
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2)在窗体上建立好控件后,先设置控件属性,再编写事件过程
图像框的图片由Picture属性设置。判断鼠标左键还是右键可以通过图像框的MouseUp事件的Button参数来判断。
MouseUp事件再释放鼠标按钮时发生。其语法格式为:
PrivateSubobject_MouseUp([indexAsInteger,]buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)
Object一个对象表达式。
Index一个整数,用来惟一地标识一个在控件数组中的控件。
Button返回一个整数,用来标识该事件的产生是按下(MouseDown)或者释放(MouseUp)按钮引起的。button参数是具有相应于左按钮(位0),右按钮(位1),以及中间按钮(位2)的一个位字段。这些位的值分别等于1,2,和4。其中仅有一位被设置,指示出引起该事件的那个按钮Shift返回一个整数,在button参数
指定的按钮被按下或者被释放的情况下,该整数相应于SHIFT,CTRL和ALT键的状态。某键被按下使得一个二进制位被设置。
shift参数是具有相应于SHIFT键(位0),CTRL键(位”,以及ALT键(位2)最少二进制位的一个位字段。这些位的值分别等于1,2,和4。shift参数指示这些键的状态。这些位中可能有一些、全部或者一个也没有被设置,指示这些键中的一些、全部或者一个也没有被按下。解题步骤:
第一步:建立界面并设置控件属性。
第二步:编写程序代码。
程序提供的代码:
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Imagel.Height=Imagel.Height+500
' Imagel.Width=Imagel.Width ? 500
End If
End If
'If Button=? Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
参考代码:
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, XAs Single, Y As Single)
If Button=1 Then
If Image1.Height4000 Or Image1.Width4000 Then
Image1.Height=Image1.Height+500
Image1.Width=Image1.Width+500
End If
End If
If Button=2 Then
If Image1.Height>1000 Or Image1.Width>1000 Then
Image1.Height=Image1.Height-500
Image1.Width=Image1.Width-500
End If
End If
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
第4题:
在考生文件夹中有一个工程文件execise32.vbp,相应的窗体文件为execise32.frm。在名为Form1的窗体上有一个名称为Cmd1,标题为“小于500的整数之和”的命令按钮。其功能是产生20个0~1000的随机整数,放入一个数组中,然后输出这20个整数中小于 500的所有整数之和。程序运行后,单击命令按钮,即可求出这些整数的和,并在窗体上显示出来,如下图所示。

本程序不完整,请补充完整,并能正确运行。
要求:
去掉程序中的注释符“'”,把程序中的问号“?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后,按原文件名并在原文件夹中保存修改后的文件。

第5题:
在考生文件夹中有一个工程文件execise37.vbp,相应的窗体文件为execise37.frm。在名为Form1的窗体上有一个名称为Cmd1,标题为“输出大于1000的整数之和”的命令按钮。其功能是产生40个0~2000的随机整数,放入一个数组中,然后输出这40个整数中大于1000的所有整数之和。程序运行后,单击命令按钮,即可求出这些整数的和,并在窗体上显示出来,如下图所示。

本程序不完整,请补充完整,并能正确运行。
要求:
去掉程序中的注释符“'”,把程序中的问号“?”改为正确的内容,使其实现上述功能,但不得修改程序的其他部分。最后;按原文件名并在原文件夹中保存修改后的文件。
