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

admin2020-04-08  20

问题 在考生文件夹下有一个工程文件sjt5.vbp。其功能是产生并显示一个数列的前n项。数列产生的规律是:数列的前2项是小于10的正整数,将此两数相乘,若乘积<10,则以此乘积作为数列的第3项;若乘积≥10,则以乘积的十位数为数列的第3项,以乘积的个位数为数列的第4项。再用数列的最后两项相乘,用上述规则形成后面的项,直至产生了第n项。窗体上部从左到右3个文本框的名称分别为Textl、Text2、Text3,窗体下部的文本框名称为Text4。程序运行时,在Textl、Text2中输入数列的前两项,Text3中输入要产生的项数n,单击“计算”按钮则产生此数列的前n项,并显示在Text4中。如图所示。

    已经给出了全部控件,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。
    注意:不得修改原有程序和控件的属性。最后把修改后的文件按原文件名存盘。

选项

答案【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符“′”,将问号改为正确的内容。 参考答案(阴影部分是需考生填入的内容) Private Sub Commandl_C1ick() Text4="" a=Val(Textl) 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<=nThen ′当k>n时,则数列数已够,不用求下一项 d=c Mod 10 Text4=Text4&""&d b=d l将余数作为下一次循环的后一项 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/zATp777K
0

最新回复(0)