アットウィキロゴ

27 遺族年金受給額

Function fpen(year As Single, age As Single, jyo) As Single
Dim y1 As Single
Dim t1 As Single
Dim w2 As Single
Dim j1 As Single
Dim j2 As Single
Dim m1 As Single
Dim m2 As Single
Dim m3 As Single
Dim g As Single
Dim s1 As Single
g = 0.021
s1 = (1 + g) ^ (year - 5)
t1 = 300
w2 = 1.3 * 21
n1 = year - age + 100
If n1 < 0 Then n1 = 0
j1 = jyo(n1) / 1000
If n1 < 46 Then j1 = 1.05 * j1
m2 = w2 * j1 * t1 * s1
fpen = m2
End Function
Function mpen(year As Single, age As Single, jyo) As Single
Dim y1 As Single
Dim t1 As Single
Dim w2 As Single
Dim j1 As Single
Dim j2 As Single
Dim m1 As Single
Dim m2 As Single
Dim m3 As Single
Dim g As Single
Dim s1 As Single
g = 0.021
s1 = (1 + g) ^ (year - 5)
t1 = 300
w2 = 1.8 * 24
n1 = year - age + 100
If n1 < 0 Then n1 = 0
j1 = jyo(n1) / 1000
If n1 < 46 Then j1 = 1.05 * j1
m2 = w2 * j1 * t1 * s1
mpen = m2
End Function

Function jx(year As Single, jyo, mi, fi)
Dim age As Single
jx1 = 0
For age = 20 To 99
jx1 = jx1 + mpen(year, age, jyo) * mi(year, age)
jx1 = jx1 + fpen(year, age, jyo) * fi(year, age)
Next
jx = Int(jx1 / 10 ^ 2) / 10 ^ 2
End Function
Private Sub Command1_Click()
Dim year As Single
Dim age As Single
Dim mi(-5 To 99, 0 To 99) As Single
Dim fi(-5 To 99, 0 To 99) As Single
Dim jyo(0 To 199) As Single
Open "c:/simple/gdata/遺族年金受給者.txt" For Input As #1
Do Until EOF(1)
Input #1, a1, a2, a3, a4
year = a1
age = a2
mi(year, age) = a3
fi(year, age) = a4
Loop
Close #1
Open "c:/simple/data/乗数.txt" For Input As #5
Do Until EOF(5)
Input #5, a1, a2
age = a1
jyo(age) = a2
Loop
Close #5
For age = 0 To 27
jyo(age) = jyo(27)
Next
For age = 47 To 199
jyo(age) = jyo(47)
Next
Open "c:/simple/gdata/遺族年金受給額.txt" For Output As #4
For year = 0 To 99
Write #4, year, jx(year, jyo, mi, fi)
Next
Close #4
For n = 1 To 5
year = 5 * n
Debug.Print year, jx(year, jyo, mi, fi)
Next
For n = 3 To 6
year = 10 * n
Debug.Print year, jx(year, jyo, mi, fi)
Next

End Sub
最終更新:2009年03月02日 00:00