第 1 页:基本操作题 |
第 3 页:简单应用题 |
第 5 页:综合应用题 |
4(1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text1文本框中输入一个数N,单击命令按钮计算从0到N的所有素数的和,并在Text2中显示出来。运行程序如图1-3所示。
图1-3
要求:去掉程序中的注释符"'",把程序中的"?"改为正确的内容, 使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。
(2)在考生文件夹下有工程文件sj4.vbp及窗体文件sj4.frm,该程序是不完整的,请在有"?"号的地方填入正确内容,然后删除"?"及代码前的所有注释符(即'号),但不能修改其他部分。存盘时不得改变文件名和文件夹。
本题描述如下:
本程序的功能为当用户单击窗体上的命令按钮"输入"时,可以输入6个数值,随后程序对这6个数值进行升序排序,单击按钮"输出"则把大于平均值的数显示出来,程序运行时的窗体如图1-4所示。
图1-4
参考解析:
(1)判断一个数是否为素数的准则:就是看该数是否除了1及其本身外别无其他约数(即从2到n-1之间没有可以将其整除的数) 即可。
根据题意,在窗体上添加两个Text控件和一个Command控件,Text的名称分别为Text1和Text2、Text属性均为空,Command的名称为Command1、Caption属性为"计算"。双击Command1命令按钮,编写如下代码(本书答案解析部分的代码中,若无特殊说明,加下划线的代码则表明是需要考生补充的代码):
Private Sub Command1_Click()
Dim total As Long
Dim i As Integer
total = 0
For i = 1 To Val(Text1.Text)
If isPrimeNum(i) = True Then '调用isPrimeNum函数判断是否是素数
total = total + i '如果是,则进行求和
End If
Next i
Text2.Text = total '将结果在Text2中显示
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 '如果能被除1及其本身以外的数整除
isPrimeNum = False '则此数不是素数
Exit For
End If
Next i
End Function
单击 按钮运行程序,并按要求保存。
(2)根据题意,在窗体上添加一个Text控件和两个Command控件,Text的名称为Text1、Text属性为空,Command的名称分别为Command1和Command2,Caption属性分别为"输入"和"输出"。双击Command1命令按钮,编写如下代码:
Dim a(6) As Integer
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim tmp As Integer
For i = 1 To 6
a(i) = Val(InputBox("请输入"))
Next i
For i = 1 To 6 '升序序排列
temp = a(i)
For j = 1 To i
If a(j) > temp Then '读取的数据比原位置的数据大则偏移
For k = i To j + 1 Step -1 '上下限
a(k) = a(k - 1) '数据向后偏移一个
Next k
a(j) = temp
Exit For
End If
Next j
Next i
End Sub
Private Sub Command2_Click()
Dim arg As Integer
Dim str As String
Dim j As Integer
arg = 0
Dim i As Integer
str = ""
For i = 1 To 6
arg = arg + a(i) ' 求总和
Next i
arg = arg \ 6 '求平均值
For i = 1 To 6
If a(i) > arg Then '当大于平均值时则写入字符串
str = str + CStr(a(i)) + " "
End If
Next i
Text1.Text = str '将结果显示在Text1中
End Sub
单击按钮运行程序,并按要求保存。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |