在考生文件夹下有一个工程文件sjt5.vbp。其功能是产生并显示一个数列的前n项。数列产生的规律是:数列的前2项是小于10的正整数,将此两数相乘,若乘积<10,则以此乘积作为数列的第3项;若乘积≥10,则以乘积的十位数为数列的第3项,以乘积的个位数为数列的

admin2019-06-24  25

问题 在考生文件夹下有一个工程文件sjt5.vbp。其功能是产生并显示一个数列的前n项。数列产生的规律是:数列的前2项是小于10的正整数,将此两数相乘,若乘积<10,则以此乘积作为数列的第3项;若乘积≥10,则以乘积的十位数为数列的第3项,以乘积的个位数为数列的第4项。再用数列的最后两项相乘,用上述规则形成后面的项,直至产生了第n项。窗体上部从左到右3个文本框的名称分别为Text1、Text2、Text3,窗体下部的文本框名称为Text4。程序运行时,在Text1、Text2中输入数列的前两项,Text3中输入要产生的项数n,单击“计算”按钮则产生此数列的前n项,并显示在Text4中。如图所示。
    已经给出了全部控件,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。
    注意:不得修改原有程序和控件的属性。最后把修改后的文件按原文件名存盘。
   

选项

答案【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口。去掉程序中的注释符“’”,将问号改为正确的内容。 参考答案(画线部分是需考生填入的内容) Private Sub Command1_Click() Text4="" a=Val(Text1) b=Val(Text2) n=Val(Text3) Text4=Text4&a&""&b ’文本框Text4中第二项的内容一定是b k=2 Do While k<n c=a*b k=k+1 If c<10 Then’判断乘积是否小于10 Text4=Text4&""&c’若小于10。则直接接到Text4文本末尾 a=b’将b赋给a成为下一次循环的前一项 b=c’将c作为下一次循环的后一项 Else d=c\10’当c大于10,则取整 Text4=Text4&""&d a=d’将十位数作为下一次循环的前一项 k=k+1 If k<=n Then ’当k>n时,则数列数已够,不用求下一项 d=c Mod 10 Text4=Text4&""&d b=d’将余数作为下一次循环的后一项 End If End If Loop End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 Text3的数值是数列的项数,定义一个变量k,前两项已经确定,因此k的取值范围为3~n,先计算前两项的积,判断是否小于10,如果乘积小于10,则以此乘积作为数列的第3项数,如果乘积大于等于10,则以乘积的十位数为数列的第3项,以乘积的个位数为数列的第4项,再用数列的最后2项相乘,运用循环语句,用上述规则形成后面的项,直至产生了第n项。在这里运用的是Do While语句,与For语句有所不同,要注意区分。
转载请注明原文地址:https://kaotiyun.com/show/1qUp777K
0

相关试题推荐
最新回复(0)