在考生文件夹下有一个工程文件sjt5.vbp,其功能是: ①单击“读数据”命令按钮,则将考生文件夹下in5.dat文件中的100个正整数读人数组a中,同时显示在文本框Text1中。 ②单击“素数”按钮,则将数组a中所有素数(只能被1和自身整除的

admin2015-06-30  26

问题  在考生文件夹下有一个工程文件sjt5.vbp,其功能是:
  ①单击“读数据”命令按钮,则将考生文件夹下in5.dat文件中的100个正整数读人数组a中,同时显示在文本框Text1中。
    ②单击“素数”按钮,则将数组a中所有素数(只能被1和自身整除的数称为素数)存人数组b中,并将数组b中的元素显示在文本框Text2中。
    在给出的窗体文件中已经有了全部控件(如图所示),但程序不完整。

  要求:完善程序使其实现上述功能。
  注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须先执行“素数”操作,然后再用窗体右上角的关闭按钮结束程序,否则将没有成绩。最后,程序按原文件名进行存盘。

选项

答案【操作步骤】 步骤1:打开本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Option Base 1 Dim a(100) As Integer, num As Integer Private Sub Command1_Click() Dim k As Integer Open App.Path & "\in5.dat" For Input As #1 For k = 1 To 100     Input #1, a(k)     Text1 = Text1 + Str(a(k)) + Space(2) Next k Close #1 End Sub Private Sub Command2_Click() Dim b(100) As Integer num = 0 If Len(Text1.Text) = 0 Then    MsgBox "请先执行"读数据"功能!" Else ’考生编写(功能:生成存放素数的数组 b ) ’注意:请务必将数组 b 的元素个数存入变量num中。    ’以下程序段将 b 数组的内容显示在Text2中    For i = 1 To num      Text2.Text = Text2.Text + Str(b(i)) + Space(2)    Next i End If End Sub Private Sub Form_Unload(Cancel As Integer) Open App.Path & "\out5.dat" For Output As #1 Print #1, Text2.Text Close #1 End Sub 程序结束 参考答案 For k = 1 To 100 flag = True i = 2 Do While i <= Int(a(k) / 2) And flag If Int(a(k) / i) = a(k) / i Then flag = False Else i = i + 1 End If Loop If flag = True Then num = num + 1 b(num) = a(k) End If Next k 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析
转载请注明原文地址:https://jikaoti.com/ti/0L60FFFM
0

最新回复(0)