代码设计: 1)编写判断素数的函数过程isprime: Function isprime(n As Integer)As Boolean 第八章 K=Int(Sqr(n)):I=2 Do While I<=K Ifn Mod I<>0Then I=I+1 ,不能整除,I值累加1 过 Else Exit Do '整除,退出循环 程 End If Loop IfI<=K Then isprime False Else_ isprime True End Function 26
第 八 章 过 程 26 1)编写判断素数的函数过程isprime: 代码设计: Function isprime(n As Integer) As Boolean K = Int(Sqr(n)): I = 2 Do While I <= K If n Mod I <> 0 Then I = I + 1 ' 不能整除,I值累加1 Else Exit Do ' 整除,退出循环 End If Loop If I <= K Then isprime = False Else _ isprime = True End Function
2)编写Command1的Click事件过程,从文 本框Text1输入数据N,将该数分解为两个 素数: 第八章 Private Sub Command1 ClickO Dim n As Integer,n1 As Integer, n2 As Integer,flag As Integer n Val(Text1.Text) 过 flag 0 Ifn <6 Or n Mod 2<>0Then 程 MsgBox"数据错,请重输" Text1.SetFocus Text1.SelStart=0 Text1.SelLength Len(Text1.Text) 1936 27
第 八 章 过 程 27 2)编写Command1的Click事件过程,从文 本框Text1输入数据N,将该数分解为两个 素数: Private Sub Command1_Click() Dim n As Integer, n1 As Integer, _ n2 As Integer, flag As Integer n = Val(Text1.Text) flag = 0 If n < 6 Or n Mod 2 <> 0 Then MsgBox "数据错,请重输" Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)
Else For n1 =3 To n\2 Step 2 第八章 n2=n-n1 If isprime(n1)And isprime(n2)Then 过 flag 1 Exit For 程 End If Next nl 28
第 八 章 过 程 28 Else For n1 = 3 To n \ 2 Step 2 n2 = n - n1 If isprime(n1) And isprime(n2) Then flag = 1 Exit For End If Next n1
If flag 1 Then Text2.Text nl 第八章 Text3.Text =n2 Else 过 MsgBox"不能分解为两个素数'” End If 程 End If End Sub 193 29
第 八 章 过 程 29 If flag = 1 Then Text2.Text = n1 Text3.Text = n2 Else MsgBox "不能分解为两个素数" End If End If End Sub
【例8-8】编写一个函数过程返回指定个数 的字符串,字符串以A开始,例如,当指 定个数为5时,函数过程返回字符串“AB 第八章 CDE”(字符之间有一个空格)。编写 窗体的Click事件过程,调用该函数过程, 实现在窗体上按指定的行数输出如下所示 过 的图形。 单击窗体按指定行数给出图形一口X 程 ABC DEFGH I A ABCDE F G ABC ABCDE ABCDE ABC ABC DEFG A ABCDE F G HI 30
第 八 章 过 程 30 【例8-8】编写一个函数过程返回指定个数 的字符串,字符串以A开始,例如,当指 定个数为5时,函数过程返回字符串“ A B C D E”(字符之间有一个空格)。编写 窗体的Click事件过程,调用该函数过程, 实现在窗体上按指定的行数输出如下所示 的图形