问答题 在考生文件夹下有一个工程文件sjt5.vbp,其功能是:
单击“读数据”按钮,则把考生文件夹下in5.dat文件中的100个正整数读入数组a中,同时显示在Text1文本框中;
单击“素数”按钮,则将数组a中所有素数(只能被1和自身整除的数称为素数)存入数组b中,并将数组b中的元素显示在文本框Text2中。
在给出的窗体文件中已经有了全部控件(如图5所示),但程序不完整。
【正确答案】[操作步骤]
第1步:打开工程文件sjt5.vbp。
第2步:编写程序。参考程序如下:
For k=1 To 100
flag=True '假定a(k)是素数,用flag为真来表示
For i=2 To Sqr(a(k))
If a(k)Mod i=0 Then
flag=False '假定不成立,修改flag的值为False
Exit For '得出结论后,无须继续检查
End If
Next i
If flag=True Then 'a(k)是素数,计数并将a(k)存入数组b中
num=num+1
b(num)=a(k)
End If
Next k
第3步:调试、运行并保存程序。
【答案解析】[解析] 程序在Command1_Click事件过程中将100个整数读入到数组a中。在Command2_Click事件过程中,首先检查文本框中是否有内容,在有内容的情况下再判断该数是否为素数。判断一个数是否为素数算法为:对于数n,用n除以2到之间的全部整数,若都除不尽,则n是素数,否则n不是素数。要表达“都除不尽”这一条件是困难的,可采用以下方法解决:先假定数n是素数,再用2到