If n = 1 Then GoTo label End If
ReDim workList(1 To n) For i = 1 To n
workList(i).intNo = CInt(Val(InputBox(\第\位员工职工号输入\信息输入-troy\
workList(i).sngWage = Val(InputBox(\第\位员工工资输入\Chr(10) & Chr(13) & \信息输入-troy\
workList(i).strName = CStr(InputBox(\第\位员工名字输入\Chr(10) & Chr(13) & \信息输入-troy\ Next
For i = 1 To n - 1
For j = i + 1 To n
If workList(j).sngWage > workList(i).sngWage Then workTemp = workList(i) workList(i) = workList(j) workList(j) = workTemp End If Next Next
Print \名次\职工号\工资\名字\ For i = 1 To n Print i, workList(i).intNo, workList(i).sngWage, workList(i).strName Next
Exit Sub label:
workTemp.intNo = CInt(Val(InputBox(\第1位员工职工号输入\信息输入\
workTemp.sngWage = Val(InputBox(\第1位员工工资输入\\信息输入\ workTemp.strName = CStr(InputBox(\第1位员工名字输入\信息输入\
Print \名次\职工号\工资\名字\
Print 1, workTemp.intNo, workTemp.sngWage, workTemp.strName End Sub
4.利用迭代法求方程x2?a?0的近似根,要求精度为10?5,迭代公式为:
xi?1?12(xi?axi)。编制三个过程:迭代函数过程、迭代子过程和递归法函数过程。
答:(1)设计程序界面及控件属性:
添加3个标签,3个文本框,3个命令按钮, Lable1、2、3的Caption属性设为a=,x1=,x=,Txet1、2、3的text属性均设为空。Command1、2、3的Caption属性设为迭代子过程、迭代子函数、递归
(2)在代码窗口输入如下代码:
Option Explicit
Private Sub Command1_Click()
Dim a As Single, x1 As Single, x2 As Single a = Val(Text1) x1 = Val(Text2)
Call SubFunc(a, x1, x2) Text4 = x2 End Sub
Private Sub SubFunc(a As Single, x1 As Single, x2 As Single) Dim temp As Single temp = x1
Do While Abs(x2 - temp) > 0.00001 x2 = (x1 + a / x1) / 2 temp = x1 x1 = x2 Loop End Sub
Private Sub Command2_Click()
Dim a As Single, x1 As Single, x2 As Single a = Val(Text1) x1 = Val(Text2)
Text4 = Func(a, x1, x2) End Sub
Private Function Func(a As Single, x1 As Single, x2 As Single) As Single
Dim temp As Single temp = x1
Do While Abs(x2 - temp) > 0.00001 x2 = (x1 + a / x1) / 2 temp = x1 x1 = x2 Loop
Func = x2 End Function
Private Function Recursion(a As Single, x1 As Single, x2 As Single) As Single
If Abs(x2 - x1) <= 0.00001 Then Recursion = x2 Else
Recursion = Recursion(a, x2, (x1 + a / x1) / 2) End If
End Function
Private Sub Command3_Click()
Dim a As Single, x1 As Single, x2 As Single a = Val(Text1) x1 = Val(Text2)
Text4 = Recursion(a, x1, x2) End Sub
Private Sub Form_Load() Text1.TabIndex = 0 End Sub
5.在数据文件score.dat中存储有若干学生某门课的成绩(用写字板或记事本自己建立该文件,数据之间用空格分隔或每行一个数据)。设计程序从文件中读数据,显示在窗体上,并求标准差。 S?(X?X)?n?1ii?11n2 其中:n是数据的个数,X是n个数据的平均值。
设计步骤:
(1) 设计程序界面及控件属性。在窗体中添加一个Command1按钮,将Command1
的Caption属性设为读取文件(2)在代码窗口输入如下代码:
'******************* 'release time:28/5/2010
'purpose:文件读取,并求标准差 'programmer:troy '****************
Option Explicit
Dim maxLine As Integer
Private Sub Command1_Click() Dim myChar As String Dim myStr As String Dim myTemp() As String
Dim myArray() As Integer, i As Integer Dim result As Single, leng As Integer
Open App.Path & \ Do While Not EOF(1)
myChar = Input(1, #1) myStr = myStr & myChar Loop Close #1 Print myStr
myTemp = Split(myStr, vbLf) leng = UBound(myTemp)
ReDim myArray(UBound(myTemp)) For i = 0 To UBound(myTemp) - 1
myArray(i) = CInt(Val(myTemp(i))) Next
result = Func(myArray(), leng) Print \End Sub
Private Sub Form_Load() Dim myChar As String
Open App.Path & \ Do While Not EOF(1)
myChar = Input(1, #1) If myChar = vbLf Then
maxLine = maxLine + 1 End If Loop Close #1
maxLine = maxLine + 1
Label1.Caption = \共有\行\End Sub