在考生文件夹下有一个工程文件sjt4.vbp。请在窗体上添加一个组合框,名称为cb1,并输入三个列表项:“3”、“7”、“11”(列表项的顺序不限,但必须是这三个数字);添加一个名为Text1的文本框;再添加一个标题为“计算”、名称为C1的命令按钮,如图所示。请编写适当的事件过程,使得在程序运行时,在组合框中选定一个数字后,单击“计算”按钮,则计算5000以内能够被该数整除的所有数之和,并放入Text1中。最后,按原文件名存盘。
提示:由于计算结果较大,应使用长整型变量。
注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须至少进行一次计算。并且必须用窗体有上角的关闭按钮结束程序,否则无成绩。
参考答案:[操作步骤]
步骤1:打开本题工程文件,按照题目要求建立控件并设置组合框控件属性,如图所示。程序中用到的控件及属性见表。
控件 | 文本框 | 组合框 | 命令按钮 | ||
属性 | Name | Name | List | Name | Caption |
设置值 | Text1 | cb1 | 11,3,7 | C1 | 计算 |
参考答案:
Private Sub C1_Click()
Dim sum As Long
Dim n As Integer
Dim i As Integer
n=Val(cb1.Text)’读取选中的数字并通过函数Val转换为数值
For i=n To 5000’从本身开始循环查找
If i Mod n=0 Then
sum=sum+i’判断是否能被该数整除并求和
End If
Next i
Text1.Text=sum’在Text1中显示
End Sub
步骤3:凋试并运行程序,关闭程序后按题目要求存盘。
解析:[考点] 本题考点有:文本框的Name属性、组合框的Name和List属性、命令按钮的Name和Caption属性、Val()函数以及Mod取模运算。
本题主要考查组合框的属性及For循环语句的使用。
Mod取模运算就是求余数,例如10mod 3=1,因为10除以3等于3余1,结果就是余数。如果a mod b=0,则说明a能被b整除,反之如果a mod b<>0,则a不能被b整除。
组合框(ComboBox)将文本框与列表框的特性组合在一起,既可以在组合框的文本框部分输入信息,也可在列表框部分选择项目;组合框的列表项可在没计阶段通过其List属性添加,每输入完一项后按<Ctrl+Enter>键换行再输入下一项;其Text属性用于设置或返回其文本框部分当前的文本。
根据题意,用For逐一循环5000内的整数,通过If语句的条件表达式:i Mod n=0,判断各个数是否能被n整除,把能被整除的数累加到变量sum。i为循环变量,n的值为Val(Cb1.Text)。
在定义变量时注意,由于数值较大,应定义为长整型变量,防止数值过大溢出。