Function sh(year As Single, mjk, fjk) As Single
Dim sh1 As Single
sh1 = 0
For age = 60 To 99
sh1 = sh1 + mjk(year, age) + fjk(year, age)
Next
sh = sh1
End Function
Private Sub Command1_Click()
Dim a1 As Single
Dim a2 As Single
Dim a3 As Single
Dim a4 As Single
Dim a5 As Single
Dim a6 As Single
Dim a7 As Single
Dim a8 As Single
Dim a9 As Single
Dim de(1 To 2, 0 To 110) As Single
Dim m(0 To 99, 0 To 99) As Single
Dim f(0 To 99, 0 To 99) As Single
Dim mjk(-3 To 99, 0 To 99) As Single
Dim fjk(-3 To 99, 0 To 99) As Single
Dim newm(-3 To 99, 60 To 65) As Single
Dim newf(-3 To 99, 60 To 65) As Single
Dim age As Integer
Dim year As Single
Dim car As Integer
Dim n As Integer
Dim s As Integer
Open "c:/simple/data/失権率.txt" For Input As #1
Do Until EOF(1)
Input #1, a1, a2, a3, a4, a5, a6, a7
age = a1
de(1, age) = a2
de(2, age) = a5
Loop
Close #1
Open "c:/simple/gdata/97老齢年金.txt" For Input As #3
Do Until EOF(3)
Input #3, a1, a2, a3
age = a1
mjk(-3, age) = a2
fjk(-3, age) = a3
Loop
Close #3
Open "c:/simple/gdata/男子老齢年金新規裁定者.txt" For Input As #2
Do Until EOF(2)
Input #2, a1, a2, a3
year = a1
age = a2
newm(year, age) = a3
Loop
Close #2
Open "c:/simple/gdata/女子老齢年金新規裁定者.txt" For Input As #12
Do Until EOF(12)
Input #12, a1, a2, a3
year = a1
age = a2
newf(year, age) = a3
Loop
Close #12
mjk(-3, 60) = mjk(-3, 60) + newm(-3, 60)
fjk(-3, 60) = fjk(-3, 60) + newf(-3, 60)
For year = -2 To 99
For age = 60 To 99
mjk(year, age) = (1 - de(1, age - 1)) * mjk(year - 1, age - 1)
fjk(year, age) = (1 - de(2, age - 1)) * fjk(year - 1, age - 1)
Next
For age = 60 To 65
mjk(year, age) = mjk(year, age) + newm(year, age)
fjk(year, age) = fjk(year, age) + newf(year, age)
Next
Next
Open "c:/simple/gdata/老齢年金受給者.txt " For Output As #8
For year = 0 To 99
For age = 60 To 99
Write #8, year, age, mjk(year, age), fjk(year, age)
Next
Next
Close #8
For n = 1 To 5
year = 5 * n
Debug.Print year, Int(sh(year, mjk, fjk))
Next
For n = 3 To 6
year = 10 * n
Debug.Print year, Int(sh(year, mjk, fjk))
Next
End Sub
最終更新:2009年03月01日 16:09