アットウィキロゴ

02 02 jhgf

Private Sub Command1_Click()
Dim a1 As Single
Dim a2 As Single
Dim a3 As Single
Dim m1 As Single
Dim m2 As Single
Dim m3 As Single
Dim a(1 To 3, 1 To 12) As Single
Dim b(1 To 3, 1 To 12) As Single
Dim startm(0 To 100) As Single
Dim startf(0 To 100) As Single
Dim mrate(0 To 99, 15 To 69) As Single
Dim frate(0 To 99, 15 To 69) As Single
Dim mrou(5 To 99, 15 To 69) As Single
Dim frou(5 To 99, 15 To 69) As Single
Dim m(0 To 99, 0 To 99) As Single
Dim f(0 To 99, 0 To 99) As Single
Dim year As Single
Dim age As Single
Open "c:/nagoya/data/労働力人口.txt" For Input As #1
Do Until EOF(1)
Input #1, a1, a2, a3, a4, a5, a6, a7
n = a1
a(1, n) = a2
a(2, n) = a3
a(3, n) = a4
b(1, n) = a5
b(2, n) = a6
b(3, n) = a7
Loop
Close #1
Open "c:/nagoya/gdata/将来推計人口.txt" For Input As #2
Do Until EOF(2)
Input #2, a1, a2, a3, a4
year = a1
age = a2
m(year, age) = a3
f(year, age) = a4
Loop
Close #2

year = 0
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
mrate(year, age) = a(1, n2) + (n1 - n2) * (a(1, n3) - a(1, n2))
Next
For year = 1 To 9
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = a(1, n2) + (n1 - n2) * (a(1, n3) - a(1, n2))
m2 = a(2, n2) + (n1 - n2) * (a(2, n3) - a(2, n2))
mrate(year, age) = m1 + year / 10 * (m2 - m1)
Next
Next
year = 10
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
mrate(year, age) = a(2, n2) + (n1 - n2) * (a(2, n3) - a(1, n2))
Next
For year = 11 To 24
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = a(2, n2) + (n1 - n2) * (a(2, n3) - a(2, n2))
m2 = a(3, n2) + (n1 - n2) * (a(3, n3) - a(3, n2))
mrate(year, age) = m1 + (year - 10) / 15 * (m2 - m1)
Next
Next
For year = 25 To 99
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
mrate(year, age) = a(3, n2) + (n1 - n2) * (a(3, n3) - a(3, n2))
Next
Next
year = 0
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
frate(year, age) = b(1, n2) + (n1 - n2) * (b(1, n3) - b(1, n2))
Next
For year = 1 To 9
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = b(2, n2) + (n1 - n2) * (b(2, n3) - b(2, n2))
m2 = b(3, n2) + (n1 - n2) * (b(3, n3) - b(3, n2))
frate(year, age) = m1 + year / 10 * (m2 - m1)
Next
Next
year = 10
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
frate(year, age) = b(2, n2) + (n1 - n2) * (b(2, n3) - b(1, n2))
Next
For year = 11 To 24
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
m1 = b(1, n2) + (n1 - n2) * (b(1, n3) - b(1, n2))
m2 = b(2, n2) + (n1 - n2) * (b(2, n3) - b(2, n2))
frate(year, age) = m1 + (year - 10) / 15 * (m2 - m1)
Next
Next
For year = 25 To 99
For age = 15 To 69
n1 = (age - 12) / 5
n2 = Int(n1)
n3 = n2 + 1
If n2 = 0 Then n2 = 1
frate(year, age) = b(3, n2) + (n1 - n2) * (b(3, n3) - b(3, n2))
Next
Next
For year = 5 To 99
For age = 15 To 69
mrou(year, age) = mrate(year, age) * m(year, age) / 100
frou(year, age) = frate(year, age) * f(year, age) / 100
Next
Next
Open "c:/nagoya/gdata/労働力人口.txt " For Output As #3
For year = 5 To 99
For age = 15 To 69
Write #3, year, age, mrou(year, age), frou(year, age)
Next
Next
Close #3
End Sub
最終更新:2010年03月01日 00:21