当前位置:IT认证>BASIC题库

问题:[问答题]

[问答题] 在考生文件夹下有一个工程文件sjt5.vbp,其功能是: 单击“读数据”按钮,则把考生文件夹下in5.dat文件中的100个正整数读入数组a中,同时显示在Text1文本框中; 单击“素数”按钮,则将数组a中所有素数(只能被1和自身整除的数称为素数)存入数组b中,并将数组b中的元素显示在文本框Text2中。 在给出的窗体文件中已经有了全部控件(如图5所示),但程序不完整。 要求:完善程序使其实现上述功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须先

  

参考答案:

[操作步骤]
第1步:打开工程文件sjt5.vbp。
第2步:编写程序。参考程序如下:
Fork=1To100
flag=True’假定a(k)是素数,用flag为真来表示
Fori=2ToSqr(a(k))
Ifa(k)Modi=0Then
flag=False’假定不成立,修改flag的值为False
ExitFor’得出结论后,无须继续检查
EndIf
Nexti
Ifflag=TrueThen’a(k)是素数,计数并将a(k)存入数组b中
num=num+1
b(num)=a(k)
EndIf
Nextk
第3步:调试、运行并保存程序。

  参考解析

程序在Command1_Click事件过程中将100个整数读入到数组a中。在Command2_Click事件过程中,首先检查文本框中是否有内容,在有内容的情况下再判断该数是否为素数。判断一个数是否为素数算法为:对于数n,用n除以2到[*]之间的全部整数,若都除不尽,则n是素数,否则n不是素数。要表达“都除不尽”这一条件是困难的,可采用以下方法解决:先假定数n是素数,再用2到[*]之间的整数去与n相除,如果其中有一个数能整除n则说明假定不成立,n不是素数。

微信端