注意:下面出现的“考生文件夹”均为c:\wexam\25160001。 (1) 在考生文件夹下有工程文件sjt3.vbp及窗体文件sjt3.frm,该程序是不完整的,请在有号的地方填入正确内容,然后删除及所有注释符(即’号),但不能修改其他部分。存盘时不得改变文件名和文件夹。如图16-3所示。 在名称为Form1的窗体上有1个Labe1控件,四个Text控件及七个命令按钮,功能为:开始启动工程时,界面上除“开始录入”及“退出”按钮之外,其他按钮均不可用(灰色显示);单击“开始录入”按钮之后,利用InputBox让用户连续且必须录入10个数。若录入为非数字符号,则给出警告“输入数据无效,请重新输入数值数据,请输入第n个数”;录入完毕后,“开始录入”变灰,其他变为可用状态;按相应的按钮可分别求出所录入数据的升序、降序排列及最大数和最小数,并在右侧对应的文本框中显示(注意用 A(10)存放最大数,A(1)存放最小数);单击“清除”按钮将所有文本框清空。 (2) 在考生文件夹下有工程文件sit4.vbp及窗体文件sjt4.frm,该程序是不完整的,请在有号的地方填入正确内容,然后删除及所有注释符(即’号),但不能修改其他部分。存盘时不得改变文件名和文件夹。如图16-4所示。 在名称为Form1,标题为“求和程序”的窗体上有3个Labe1控件,2个Text控件和3个命令按钮。该程序的主要功能是求从1到Text1中用户输入的任意自然数n的累加和。刚启动工程时,“显示结果”和“清除”按钮均为灰色;可以在输入框内输入任意自然数(n值太大时,运算时间将很长,建议不超过9位)。在输入数的同时“显示结果”变为可用。当输入为非数值时,累加结果为0;单击“显示结果”可以在Text2中显示累加和,且该框内的文字不可修改,同时“显示结果”变灰,“清除”变为可用;单击“清除”,输入框和显示框均显示“0”单击“关闭”按钮结束程序的运行。
参考答案:
解析: 在窗体上建立好控件后,先设置控件属性,再编写事件过程。
用数组a(10)来接收InputBox输入的10数,InputBox的格式为:InputBox(提示[,标题][,默认][,X坐标位置][,Y坐标位置]);控件是否可用可利用其Enabled属性设置,当该值为True时可用,为False时不可用(灰色);判断是否是数字可用IsNumeric(),如果是数字返回True,否则返回False;本程序中用到的排序方法是将某一个元素做为标杆,其后的每一个元素与其比较,若小于标杆则两者交换,依此类推,题中要求排完序后a(1)至a(10)依次存放大数,在文本框中显示升序和降序的时候只要两者反序显示即可,即升序可依次显示a(1)到a(10),降序可依次显示a(10)到a(1)。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表16-3。
表 16-3
控 件 | 属 性 | 设 置 值 |
标签 | Caption | 点击“开始录入”按钮,录入10个数 |
文本 | Name Scrollbars Multilane | Text1 2-vertical true |
文本 | Name Scrollbars Multilane | Text4 2-vertical true |
文本 | Name | Text2 |
文本 | Name | Text3 |
按钮 | Name Caption | Command1 最大数 |
按钮 | Name Caption | Command2 最小数 |
按钮 | Name Caption | Command3 升序排列 |
按钮 | Name Caption | Command4 降序排列 |
按钮 | Name Caption | Command5 退出 |
按钮 | Name Caption | Command6 开始录入 |
按钮 | Name Caption | Command7 清除 |
程序提供的代码:
Option Explicit
Dim a(10) As Variant
Dim i As Integer, j As Integer
Dim m As Single
Private Sub Command1_Click()
’Text2.Text=
Command1.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command2_Click()
’Text3.Text=
Command2.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command3_Click()
For i=1 To 10
’Text1.Text=Text1.Text && ","
Next i
Command3.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command4_Click()
For i=10 To 1 Step -1
’Text4.Text=Text4.Text && ","
Next i
Command4.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Command6_Click()
Label1.Enabled=False
For i=1 To 10
a(i)=InputBox("请输入第" & i & "个数,请务必输入数值数据! ","输入")
Do While IsNumeric(a(i) )=False
a(i)=InputBox("输入数据无效,请重新输入数值数据! ! !" & "请输入第" & _
i & "个数","输入")
Loop
Next i
For i=1 To 9
For j=i+1 To 10
’If Val(a(j) ) Val(a(i) ) Then
m=a(j)
a(j)=a(i)
a(i)=m
End If
Next j
Next i
Command6.Enabled=False
Commandl.Enabled=True
Command2.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
Command5.Enabled=True
Command7.Enabled=False
End Sub
Private Sub Command7_Click()
’Text1.Text=
’Text2.Text=
’Text3.Text=
’Text4.Text=
Label1.Enabled=True
Command6.Enabled=True
Command4.Enabled=False
Command3.Enabled=False
Command2.Enabled=False
Commandl.Enabled=False
Command7.Enabled=False
End Sub
Private Sub Form_Load()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command7.Enabled=False
End Sub
参考代码:
Option Explicit
Dim a(10) As Variant
Dim i As Integer, j As Integer
Dim m As Single
Private Sub Command1_Click()
Text2.Text=a(10)
Command1.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command2_Click()
Text3.Text=a(1)
Command2.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command3_Click()
For i=1 To 10
Text1.Text=Text1.Text & a(i) &","
Next i
Command3.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command4_Click()
For i=10 To 1 Step -1
Text4.Text=Text4.Text & a(i) &","
Next i
Command4.Enabled=False
Command7.Enabled=True
End Sub
Private Sub Command5_Click()
End
End Sub
Private Sub Command6_Click()
Label1.Enabled=False
For i=1 To 10
a(i)=InputBox("请输入第" & i & "个数,请务必输入数值数据!","输入")
Do While IsNumeric(a(i) )=False
a(i)=InputBox("输入数据无效,请重新输入数值数据! ! !" & "请输入第" & i & _
"个数","输入")
Loop
Next i
For i=1 To 9
For j=i+1 To 10
If Val(a(j) )< Val(a(i) ) Then
m=a(j)
a(j)=a(i)
a(i)=m
End If
Next j
Next i
Command6.Enabled=False
Command1.Enabled=True
Command2.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
Command5.Enabled=True
Command7.Enabled=False
End Sub
Private Sub Command7_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Label1.Enabled=True
Command6.Enabled=True
Command4.Enabled=False
Command3.Enabled=False
Command2.Enabled=False
Command1.Enabled=False
Command7.Enabled=False
End Sub
Private Sub Form_Load()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command7.Enabled=False
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
(2) 控件是否可用可利用其Enabled属性设置,当该值为True时可用,为False时不可用(灰色);计算从1到n的数字的和可从1开始向后计算,每一步计算的结果都保留然后再用上一步计算的值和后面的数字计算;清除可使文本框的内容置空来实现(文本框.Text="");显示结果框内的文字不可修改,是通过Locked属性变为True时锁定的。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表16-4。
表 16-4
标 题 | 属 性 | 设 置 值 |
Label | Name Caption | Label1 该程序的功能是求S∶S=1+2+3+…+n |
Label | Name Caption | Label2 请输入:n(0≤n≤999999999) |
Label | Name Caption | Label3 结果显示框 |
Text | Name | Text1 |
Text | Name Caption | Text2 True |
Commandbutton | Name Caption | Command1 显示结果 |
Commandbutton | Name Caption | Command2 清除 |
Commandbutton | Name Caption | Command3 关闭 |
程序提供的代码:
Option Explicit
Private Sub Command1_Click()
Dim i As Double
Dim sum As Double
Dim n As Double
sum=0
n=Val(Text1.Text)
For i=1 To n
’ sum=
Next 1
’Text2.Text=
Command1.Enabled=False
Command2.Enabled=True
End Sub
Private Sub Command2_Click()
’Text1.Text=
’Text2.Text=
Command1.Enabled=True
Command2.Enabled=False
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Command1.Enabled=False
Command2.Enabled=False
End Sub
Private Sub Text1_Change()
Command1.Enabled=True
End Sub
Option Explicit
Private Sub Command1_Click()
Dim i As Double
Dim sum As Double
Dim n As Double
sum=0
n=Val(Text1.Text)
For i=1 To n
sum=sum+i
Next i
Text2.Text=sum
Command1.Enabled=False
Command2.Enabled=True
End Sub
Private Sub Command2_Click()
Text1.Text=0
Text2.Text=0
Command1.Enabled=True
Command2.Enabled=False
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Command1.Enabled=False
Command2.Enabled=False
End Sub
Private Sub Text1_Change()
Command1.Enabled=True
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。