(1)在考生文件夹下有一个工程文件sjt3.vbp,在程序运行时,单击“输入整数”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图1是输入53后的结果,图2是输入100后的结果。已经给出了全部控件和程序,但程序不完整。 要求:请

admin2020-07-22  42

问题 (1)在考生文件夹下有一个工程文件sjt3.vbp,在程序运行时,单击“输入整数”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图1是输入53后的结果,图2是输入100后的结果。已经给出了全部控件和程序,但程序不完整。
    要求:请去掉程序中的注释符,把程序中的?改为正确的内容。不能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。

    (2)在考生文件夹下有一个工程文件sjt4.vbp。在其窗体中“待选城市”下的List1列表框中有若干个城市名称。程序运行时,选中List1中料干个列表项(如图1所示),单击“选中”按钮则把选中的项目移到List2中,单击“显示”,则在Text1文本框中显示这些选中的城市(如图2所示)。已经给出了所有控件和程序,但程序不完整。
    要求:请上掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。

选项

答案(1)步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Private Sub Command1_Click() Dim n As Integer Cls’清空窗体 鬟=InputBox("请输入一个整数")’InputBox返回值赋给n Print"因子数=";fun(n)’调用fun函数并打印结果 End Sub Function fun(m As Integer) Dim s As Integer S=0 For k=1 To Abs(m)/2 If m Mod k=0 Then’当整除余数为0时则一定是它的因子 s=s+1 Print k EndIf Next k fun=s’返回因子总数 End Function 程序结束 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 参考答案 Private Sub Command1—Click() Dim k% For k =List1.ListCount 一1 To0 step -1 ’k从最大到0,则步长应为一1 If List1.Selected(k) =True Then List2. AddItem List1.List(k)添加项到List2中 List1.RemoveItem k ’通过下标删除List1中的项目 EndIf Next k End Sub Private Sub Command2_Click() Dim k% Text1="已经选中的城市有:" For k=0 To List2.LiStCount一1 Step 1 Text1=Text1.Text &" "&List2.List(k) ’将List2中的项目连接在Text1中的内容之后 Next k End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 (1)通过InputBox()函数实现对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的String。
    通过Function fun()过程函数,实现对因子数的确定和查找,Mod()函数用来判断是否能够整除,即判断是否为因子数。
    (2)Selected属性是一个与List数组中的各个元素相对应的一维数组,记录List数组中每个项目是否被选取。例如,如果List(1)被选取,则Selected(1)的值为True,如果List(1)未被选取,则Selected(1)的值为False。List属性是一个一维数组,数组中元素的值就是在执行时看到的列表项。设计时可以在属性窗口中通过List属性来建立列表项,运行时对List数组从0到ListCount一1依次取值,可以获得列表的所有项目。通过对Selected属性返回值的判断,可以得知列表项是否被选中,从而进行删除和添加操作。
转载请注明原文地址:https://kaotiyun.com/show/ACHp777K
0

最新回复(0)