a(imin) = t Next i
Open \ For i = 1 To 10 Write #2, a(i) Next i (6) End Sub
3.本程序的功能是找出1000到9999之间所有的超素数,并统计超素数个数。要求将超素数在多行文本框Text1中显示,超素数个数在文本框Text2中显示。所谓超素数是指一个素数从低位到高位依次去掉一位数仍然是素数,则此素数是超素数。
例如:数2333本身为素数,且从低位到高位依次去掉一位数所得到的233、23、2都是素数,所以2333是超素数。
Private Sub Command1_Click()
Dim i As Integer, flg As Boolean, n As Integer For i = 1001 To 9999 Step 2 SuperPrime i, flg If flg Then
Text1 = Text1 & i & vbCrLf (7) End If Next i Text2 = n End Sub
Public Sub SuperPrime( (8) , f As Boolean) f = True Do While n > 0 If Prime(n) Then n = n \\ 10 Else (9) Exit Do End If Loop End Sub
Public Function Prime(p As Integer) As Boolean Dim k As Integer If p = 1 Then Exit Function Else
For k = 2 To Int(Sqr(p))
If p Mod k = 0 Then Exit Function
16
图2
Next k End If
(10) End Function
4.在窗体上有1个时钟控件Timer1,1个文本框Text1(支持多行显示,并带有垂直滚动条),1个复选框Check1和1个命令按钮CmdClose,设计时的窗体界面如图1所示,程序运行时,若复选框被选中,则时钟开始工作,并每隔2秒钟在文本框中添加显示一次系统的当前时间;若单击“退出”按钮,结束程序运行。运行时的窗体界面如图2所示。请将属性设置表和程序中的空白处补充完整。
图1 图2 对象 窗体 文本框 时钟 复选框 命令按钮 Name Form1 Text1 Timer1 Check1 Caption Form1 无定义 无定义
Enabled Multiline Interval ScrollBars True True False True 无定义 无定义 无定义 无定义 无定义 无定义 2 无定义 无定义 (1) 无定义 无定义 无定义 (2) 无定义 时钟开/关 True CmdClose 退出
Private Sub Check1_Click()
If Check1.Value = (3) Then Timer1.Enabled = True End Sub
Private Sub Timer1_Timer() Dim strTime As String strTime = Time$ Text1 = (4) End Sub
Private Sub CmdClose_Click() (5) Me End Sub
?5.已知2?(1?1111)?(1?)?(1?)???(1?)??1?33?55?7(2n?1)?(2n?1)
17
,下述程序的功能是用这个公式求出π的近似值,规定当n取某一值时,若
1(2n?1)?(2n?1)<10-6,则停止运算。
Private Sub Command1_Click() Dim n&, sum!, t! (6)
n = 1
t = 1 / (1 * 3)
Do While t > 0.000001
sum = sum * (1 + t) n = n + 1 t = (7) Loop
Text1.Text = sum * 2 End Sub
图3
6.本程序功能用于求1!+2!+3!+??+9!+10!的值。
Private Sub Form_Click()
Dim Sum As Long, I As Integer For I = 1 To 10
Sum = Sum + Fact(I) Next I
Print \End Sub
Private Function Fact( (8) ) As Long Fact = 1
Do While x <> 0 Fact = Fact * x (9) Loop
End Function
7.下述程序的功能是:从文件D:\\file1.txt中读出所有数据(均为整型),保存在动态数组a中,然后用选择排序法,使得数组a的元素按从小到大排好序。 Private Sub Form_Click()
Dim i%, n%, min%, imin%, j%, temp% , a() As Integer n = 0
(10)
Do While Not EOF(1)
18
n = n + 1 (11) Input #1, a(n) Loop
For i = 1 To UBound(a) Print a(i); Next i
For i = 1 To UBound(a) - 1 min = a(i) imin = i
For j = (12) If min > a(j) Then min = a(j): imin = j Next j
If imin <> i Then temp = a(i): a(i) = min: a(imin) = temp Next i
For i = 1 To UBound(a) Print a(i); Next i
End Sub
8.下述程序的功能是找出所有的四位正整数,它的9倍恰好是其反序数,并将该数与其反序数写入一个顺序文件中(D:\\file2.txt)。文件file2.txt结果如图4所示。
Private Sub Command1_Click() Dim k As Long, newk As Long
Open \ For k = 1000 To 9999 If (13) Then newk = 9 * k Print #1, k, newk End If Next k Close #1
图4
End Sub
Private Function Fun1(ByVal n As Long) As Long Dim m As Long, new1 As Long, k As Integer (14) new1 = 0
For k = 1 To 4
new1 = new1 * 10 + m Mod 10 m = (15) Next k
If n * 9 = new1 Then Fun1 = new1
19
Else
Fun1 = 0 End If
End Function
9.下列程序的功能是:计算出租汽车收费。出租车计费方式为:3公里以内收费7元,超过3公里的部分每公里1.4元。程序运行参考界面如图3。 Private Sub Form_Click() Dim x As Single, y As Single x = Val(Text1.Text) If (1) Then y = 7 Else
(2) End If
Text2.Text = Str(y)
图3
End Sub
10.使用下面的公式,根据输入的精度计算arcsh(x)的近似值,要求保留四位小数。程序运行结果参考界面如图4。
1x31?3x51?3???(2n?1)x2n?1narcsh(x)?x???????(?1)??232?452?4???2n2n?1Private Sub Form_Click()
Dim x As Single, eps As Single, result As Double, n As Integer Dim t As Double, i As Long, p As Single x = Val(Text1.Text) eps = Val(Text2.Text) n = 1
result = x (3) Do While (4) result = result + t n = n + 1 p = 1
图4
For i = 1 To n
p = p * (2 * i - 1) / (2 * i) Next i
t = (5) Loop
Text3.Text = Format$(result, \End Sub
11.下列程序的功能是:输出100以内的能被3整除且个位数为6的所有整数。程序运行结果参考界面如图5所示。 Private Sub Form_Click()
20