Private Sub Command1_Click()
Dim a1 As Single
Dim a2 As Single
Dim b1(0 To 120) As Single
Dim b2(0 To 120) As Single
Dim b3(0 To 120) As Single
Dim b4(0 To 120) As Single
Dim c1(0 To 120) As Single
Dim c2(0 To 120) As Single
Dim c3(0 To 120) As Single
Dim c4(0 To 120) 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 mtime(1900 To 2100) As Single
Dim ftime(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
Dim y1 As Single
Dim minx(14 To 75, 0 To 50) As Single
Dim mout(14 To 75, 0 To 50) As Single
Dim finx(14 To 75, 0 To 50) As Single
Dim fout(14 To 75, 0 To 50) As Single
n = 1
Open "c:/nagoya/data/男子受給者.txt " For Input As #1
Do Until EOF(1)
Input #1, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14
age = a1
b1(age) = a2
b2(age) = a3
b3(age) = a6
b4(age) = a7
Loop
Close #1
n = 1
Open "c:/nagoya/data/女子受給者.txt " For Input As #2
Do Until EOF(2)
Input #2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14
age = a1
c1(n) = a2
c2(n) = a3
c3(age) = a6
c4(age) = a7
Loop
Close #2
Open "c:/nagoya/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:/nagoya/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:/nagoya/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
Open "c:/nagoya/data/男子被保険者.txt " For Input As #6
Do Until EOF(6)
Input #6, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
minx(age, 0) = a2
minx(age, 1) = a3
minx(age, 2) = a4
minx(age, 3) = a5
minx(age, 4) = a6
minx(age, 5) = a7
minx(age, 6) = a8
minx(age, 7) = a9
minx(age, 8) = a10
minx(age, 9) = a11
minx(age, 10) = a12
minx(age, 11) = a13
minx(age, 12) = a14
minx(age, 13) = a15
minx(age, 14) = a16
minx(age, 15) = a17
minx(age, 16) = a18
minx(age, 17) = a19
minx(age, 18) = a20
minx(age, 19) = a21
minx(age, 20) = a22
minx(age, 21) = a23
minx(age, 22) = a24
minx(age, 23) = a25
minx(age, 24) = a26
minx(age, 25) = a27
minx(age, 26) = a28
minx(age, 27) = a29
minx(age, 28) = a30
minx(age, 29) = a31
minx(age, 30) = a32
minx(age, 31) = a33
minx(age, 32) = a34
minx(age, 33) = a35
minx(age, 34) = a36
minx(age, 35) = a37
minx(age, 36) = a38
minx(age, 37) = a39
minx(age, 38) = a40
minx(age, 39) = a41
minx(age, 40) = a42
minx(age, 41) = a43
minx(age, 42) = a44
minx(age, 43) = a45
minx(age, 44) = a46
minx(age, 45) = a47
minx(age, 46) = a48
minx(age, 47) = a49
minx(age, 48) = a50
minx(age, 49) = a51
minx(age, 50) = a52
Loop
Close #6
Open "c:/nagoya/data/男子待期者.txt " For Input As #7
Do Until EOF(7)
Input #7, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
mout(age, 0) = a2
mout(age, 1) = a3
mout(age, 2) = a4
mout(age, 3) = a5
mout(age, 4) = a6
mout(age, 5) = a7
mout(age, 6) = a8
mout(age, 7) = a9
mout(age, 8) = a10
mout(age, 9) = a11
mout(age, 10) = a12
mout(age, 11) = a13
mout(age, 12) = a14
mout(age, 13) = a15
mout(age, 14) = a16
mout(age, 15) = a17
mout(age, 16) = a18
mout(age, 17) = a19
mout(age, 18) = a20
mout(age, 19) = a21
mout(age, 20) = a22
mout(age, 21) = a23
mout(age, 22) = a24
mout(age, 23) = a25
mout(age, 24) = a26
mout(age, 25) = a27
mout(age, 26) = a28
mout(age, 27) = a29
mout(age, 28) = a30
mout(age, 29) = a31
mout(age, 30) = a32
mout(age, 31) = a33
mout(age, 32) = a34
mout(age, 33) = a35
mout(age, 34) = a36
mout(age, 35) = a37
mout(age, 36) = a38
mout(age, 37) = a39
mout(age, 38) = a40
mout(age, 39) = a41
mout(age, 40) = a42
mout(age, 41) = a43
mout(age, 42) = a44
mout(age, 43) = a45
mout(age, 44) = a46
mout(age, 45) = a47
mout(age, 46) = a48
mout(age, 47) = a49
mout(age, 48) = a50
mout(age, 49) = a51
mout(age, 50) = a52
Loop
Close #7
Open "c:/nagoya/data/女子被保険者.txt " For Input As #16
Do Until EOF(16)
Input #16, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
finx(age, 0) = a2
finx(age, 1) = a3
finx(age, 2) = a4
finx(age, 3) = a5
finx(age, 4) = a6
finx(age, 5) = a7
finx(age, 6) = a8
finx(age, 7) = a9
finx(age, 8) = a10
finx(age, 9) = a11
finx(age, 10) = a12
finx(age, 11) = a13
finx(age, 12) = a14
finx(age, 13) = a15
finx(age, 14) = a16
finx(age, 15) = a17
finx(age, 16) = a18
finx(age, 17) = a19
finx(age, 18) = a20
finx(age, 19) = a21
finx(age, 20) = a22
finx(age, 21) = a23
finx(age, 22) = a24
finx(age, 23) = a25
finx(age, 24) = a26
finx(age, 25) = a27
finx(age, 26) = a28
finx(age, 27) = a29
finx(age, 28) = a30
finx(age, 29) = a31
finx(age, 30) = a32
finx(age, 31) = a33
finx(age, 32) = a34
finx(age, 33) = a35
finx(age, 34) = a36
finx(age, 35) = a37
finx(age, 36) = a38
finx(age, 37) = a39
finx(age, 38) = a40
finx(age, 39) = a41
finx(age, 40) = a42
finx(age, 41) = a43
finx(age, 42) = a44
finx(age, 43) = a45
finx(age, 44) = a46
finx(age, 45) = a47
finx(age, 46) = a48
finx(age, 47) = a49
finx(age, 48) = a50
finx(age, 49) = a51
finx(age, 50) = a52
Loop
Close #16
Open "c:/nagoya/data/女子待期者.txt " For Input As #17
Do Until EOF(17)
Input #17, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52
age = a1
fout(age, 0) = a2
fout(age, 1) = a3
fout(age, 2) = a4
fout(age, 3) = a5
fout(age, 4) = a6
fout(age, 5) = a7
fout(age, 6) = a8
fout(age, 7) = a9
fout(age, 8) = a10
fout(age, 9) = a11
fout(age, 10) = a12
fout(age, 11) = a13
fout(age, 12) = a14
fout(age, 13) = a15
fout(age, 14) = a16
fout(age, 15) = a17
fout(age, 16) = a18
fout(age, 17) = a19
fout(age, 18) = a20
fout(age, 19) = a21
fout(age, 20) = a22
fout(age, 21) = a23
fout(age, 22) = a24
fout(age, 23) = a25
fout(age, 24) = a26
fout(age, 25) = a27
fout(age, 26) = a28
fout(age, 27) = a29
fout(age, 28) = a30
fout(age, 29) = a31
fout(age, 30) = a32
fout(age, 31) = a33
fout(age, 32) = a34
fout(age, 33) = a35
fout(age, 34) = a36
fout(age, 35) = a37
fout(age, 36) = a38
fout(age, 37) = a39
fout(age, 38) = a40
fout(age, 39) = a41
fout(age, 40) = a42
fout(age, 41) = a43
fout(age, 42) = a44
fout(age, 43) = a45
fout(age, 44) = a46
fout(age, 45) = a47
fout(age, 46) = a48
fout(age, 47) = a49
fout(age, 48) = a50
fout(age, 49) = a51
fout(age, 50) = a52
Loop
Close #17
Open "c:/nagoya/data/報酬裁定.txt " For Input As #15
Do Until EOF(15)
Input #15, a1, a2, a3
byear = a1
mtime(byear) = a2
ftime(byear) = a3
Loop
Close #15
For byear = 1940 To 1950
mtime(byear) = 60
ftime(byear) = 60
Next
For byear = 1970 To 2034
mtime(byear) = 65
ftime(byear) = 65
Next
For age = 1 To 99
mj(5, age) = (b1(age) + b2(age) + b3(age) + b4(age)) / 10 ^ 4
fj(5, age) = (c1(age) + c2(age) + c3(age) + c4(age)) / 10 ^ 4
Next
For age = 61 To 69
z1 = 0
z2 = 0
For car = 25 To 50
z1 = z1 + minx(age, car) + mout(age, car)
z2 = z2 + finx(age, car) + fout(age, car)
Next
mj(5, age) = mj(5, age) + z1 / 10 ^ 4
fj(5, age) = fj(5, age) + z2 / 10 ^ 4
Next
For year = 6 To 99
For age = 1 To 99
mj(year, age) = (1 - mde(age - 1)) * mj(year - 1, age - 1)
fj(year, age) = (1 - fde(age - 1)) * fj(year - 1, age - 1)
Next
For age = 60 To 65
byear = year + 2000 - age
If mtime(byear) = age Then mj(year, age) = mj(year, age) + mnew(byear)
Next
For age = 60 To 65
byear = year + 2000 - age
If ftime(byear) = age Then fj(year, age) = fj(year, age) + fnew(byear)
Next
Next
Open "c:/nagoya/gdata/老齢年金.txt " For Output As #6
For year = 5 To 99
For age = 0 To 99
Write #6, year, age, mj(year, age), fj(year, age)
Next
Next
Close #6
For year = 5 To 99
a1 = 0
For age = 0 To 99
a1 = a1 + mj(year, age) + fj(year, age)
Next
Debug.Print year, a1
Next
End Sub
最終更新:2010年03月26日 17:05