Private Sub Command1_Click()
Dim a1 As Single
Dim a2 As Single
Dim b1(1 To 20) As Single
Dim b2(1 To 20) As Single
Dim c1(1 To 20) As Single
Dim c2(1 To 20) As Single
Dim mj(0 To 99, 0 To 99) As Single
Dim fj(0 To 99, 0 To 99) As Single
Dim mnew(1900 To 2100) As Single
Dim fnew(1900 To 2100) As Single
Dim mde(0 To 130) As Single
Dim fde(0 To 130) As Single
Dim age As Single
Dim year As Single
Dim byear As Single
Dim n As Single
n = 1
Open "c:/kirakira/data/男子受給者.txt " For Input As #1
Do Until EOF(1)
Input #1, a1, a2, a3, a4, a5, a6, a7
b1(n) = a2
b2(n) = a3
n = n + 1
Loop
Close #1
n = 1
Open "c:/kirakira/data/女子受給者.txt " For Input As #2
Do Until EOF(2)
Input #2, a1, a2, a3, a4, a5, a6, a7
c1(n) = a2
c2(n) = a3
n = n + 1
Loop
Close #2
Open "c:/kirakira/data/男子失権率.txt " For Input As #3
Do Until EOF(3)
Input #3, a1, a2, a3, a4
age = a1
mde(age) = a2
Loop
Close #3
Open "c:/kirakira/data/女子失権率.txt " For Input As #4
Do Until EOF(4)
Input #4, a1, a2, a3, a4
age = a1
fde(age) = a2
Loop
Close #4
Open "c:/kirakira/gdata/老齢年金新規裁定者.txt " For Input As #5
Do Until EOF(5)
Input #5, a1, a2, a3
byear = a1
mnew(byear) = a2
fnew(byear) = a3
Loop
Close #5
For age = 0 To 99
n = Int(age / 5) + 1
mj(0, age) = (b1(n) + b2(n)) / 50
Next
For age = 0 To 99
n = Int(age / 5) + 1
fj(0, age) = (c1(n) + c2(n)) / 50
Next
For year = 1 To 99
byear = year + 2000 - 65
For age = 1 To 99
mj(year, age) = mnew(byear) + (1 - mde(age - 1)) * mj(year - 1, age - 1)
fj(year, age) = fnew(byear) + (1 - fde(age - 1)) * fj(year - 1, age - 1)
Next
Next
Open "c:/kirakira/gdata/老齢年金.txt " For Output As #6
For year = 0 To 99
For age = 0 To 99
Write #6, year, age, mj(year, age), fj(year, age)
Next
Next
Close #6
End Sub
最終更新:2010年02月23日 13:09