Private Sub Command1_Click()
Dim a1 As Single
Dim a2 As Single
Dim a3 As Single
Dim a(1 To 9, 1 To 4) As Single
Dim mh(0 To 99, 15 To 69) As Single
Dim fh(0 To 99, 15 To 69) As Single
Dim mx(15 To 69) As Single
Dim fx(15 To 69) As Single
Dim my(15 To 69) As Single
Dim fy(15 To 69) As Single
Dim year As Single
Dim age As Single
Open "c:/kirakira/data/被用者年金.txt " For Input As #1
Do Until EOF(1)
Input #1, a1, a2, a3, a4, a5
n = a1
a(n, 1) = a2
a(n, 2) = a3
a(n, 3) = a4
a(n, 4) = a5
Loop
Close #1
For age = 16 To 20
n1 = (age - 16) / 4
mx(age) = n1 * a(1, 1)
fx(age) = n1 * a(1, 3)
Next
For age = 21 To 59
n1 = age / 5 - 3
n2 = Int(n1)
n3 = n2 + 1
mx(age) = a(n2, 1) + (n1 - n2) * (a(n3, 1) - a(n2, 1))
fx(age) = a(n2, 3) + (n1 - n2) * (a(n3, 3) - a(n2, 3))
Next
For age = 60 To 69
n1 = (age - 60) / 10
mx(age) = a(9, 1) + n1 * (0 - a(9, 1))
fx(age) = a(9, 3) + n1 * (0 - a(9, 3))
Next
For age = 16 To 20
n1 = (age - 16) / 4
my(age) = n1 * a(1, 2)
fy(age) = n1 * a(1, 4)
Next
For age = 21 To 59
n1 = age / 5 - 3
n2 = Int(n1)
n3 = n2 + 1
my(age) = a(n2, 2) + (n1 - n2) * (a(n3, 2) - a(n2, 2))
fy(age) = a(n2, 4) + (n1 - n2) * (a(n3, 4) - a(n2, 4))
Next
For age = 60 To 69
n1 = (age - 60) / 10
my(age) = a(9, 2) + n1 * (0 - a(9, 2))
fy(age) = a(9, 4) + n1 * (0 - a(9, 4))
Next
For year = 0 To 99
For age = 16 To 69
a1 = mx(age)
If age - year < 31 Then a1 = my(age)
mh(year, age) = a1
a1 = fx(age)
If age - year < 31 Then a1 = fy(age)
fh(year, age) = a1
Next
Next
Open "c:/nagoya/gdata/被用者率.txt " For Output As #3
For year = 5 To 99
For age = 15 To 69
Write #3, year, age, mh(year, age), fh(year, age)
Next
Next
Close #3
End Sub
最終更新:2010年03月17日 13:06