Function s4(year As Integer, m4, f4)
Dim s1 As Single
s1 = 0
For age = 19 To 60
s1 = s1 + m4(year, age) + f4(year, age)
Next
s4 = Int(s1)
End Function
Function t4(mkyo, fkyo)
Dim s1 As Single
s1 = 0
For n = 1 To 10
s1 = s1 + mkyo(n) + fkyo(n)
Next
t4 = Int(s1)
End Function
Function np(year As Integer, m, f) As Single
Dim n1 As Single
Dim age As Integer
n1 = 0
For age = 0 To 99
n1 = n1 + m(year, age) + f(year, age)
Next
np = n1
End Function
Function fk(year As Integer, age As Integer, fkyo, tr) As Single
Dim a1 As Single
Dim m1 As Single
a1 = Int(age / 5) - 2
m1 = fkyo(a1) * tr(year) / (5 * 530)
If age = 19 Then m1 = (fkyo(1) * tr(year)) / 530
fk = m1
End Function
Function mk(year As Integer, age As Integer, mkyo, tr) As Single
Dim a1 As Integer
Dim m1 As Single
a1 = Int(age / 5) - 2
m1 = mkyo(a1) * tr(year) / (5 * 530)
If age = 19 Then m1 = (mkyo(1) * tr(year)) / 530
mk = m1
End Function
Private Sub Command1_Click()
Dim mkyo(1 To 10) As Single
Dim fkyo(1 To 20) As Single
Dim m4(0 To 99, 16 To 65) As Single
Dim f4(0 To 99, 16 To 65) As Single
Dim tr(0 To 99) As Single
mkyo(1) = 2.2
mkyo(2) = 20.5
mkyo(3) = 37.8
mkyo(4) = 43.7
mkyo(5) = 50.4
mkyo(6) = 54.4
mkyo(7) = 62.6
mkyo(8) = 41.2
mkyo(9) = 35
mkyo(10) = 10.2
fkyo(1) = 0.6
fkyo(2) = 20.4
fkyo(3) = 28.6
fkyo(4) = 21.4
fkyo(5) = 23.3
fkyo(6) = 26.5
fkyo(7) = 26.1
fkyo(8) = 16.6
fkyo(9) = 12
fkyo(10) = 2.6
Dim year As Integer
Dim age As Integer
For year = 0 To 9
tr(year) = 530
Next
For year = 10 To 29
tr(year) = 520
Next
For year = 30 To 39
tr(year) = 500
Next
For year = 40 To 49
tr(year) = 450
Next
For year = 50 To 59
tr(year) = 400
Next
tr(60) = 380
Dim m(-5 To 99, 0 To 99) As Single
Dim f(-5 To 99, 0 To 99) 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
m(year, age) = a3
f(year, age) = a4
Loop
Close #1
For year = 60 To 99
tr(year) = 380 * np(year, m, f) / np(60, m, f)
Next
For year = 0 To 99
For age = 19 To 64
m4(year, age) = 0.85 * mk(year, age, mkyo, tr)
f4(year, age) = 0.85 * fk(year, age, fkyo, tr)
Next
Next
Open "c:/simple/gdata/共済年金被保険者.txt" For Output As #2
For year = 0 To 99
For age = 19 To 65
Write #2, year, age, m4(year, age), f4(year, age)
Next
Next
Close #2
For n = 1 To 5
year = 5 * n
Debug.Print year, s4(year, m4, f4)
Next
For n = 3 To 6
year = 10 * n
Debug.Print year, s4(year, m4, f4)
Next
End Sub
最終更新:2009年03月01日 23:04