アットウィキロゴ

36あvg

Private Sub Command1_Click()
Dim byear As Single
Dim age As Single
Dim car As Single
Dim mis(1985 To 2100, 15 To 64, 1 To 49) As Single
Dim mos(1985 To 2100, 15 To 64, 1 To 49) As Single
Dim wis(1985 To 2100, 15 To 64, 1 To 49) As Single
Dim wos(1985 To 2100, 15 To 64, 1 To 49) As Single
Dim m2by(1900 To 2100, 15 To 69) As Single
Dim f2by(1900 To 2100, 15 To 69) As Single
Dim alpha(15 To 69) As Single
Dim beta(15 To 69) As Single
Dim gamma(15 To 69) As Single
Dim theta(15 To 64) As Single
Dim mw(15 To 69) As Single
Dim fw(15 To 69) As Single
Dim zan(1985 To 2100, 15 To 64, 1 To 49) As Single
Dim zant(1985 To 2100, 15 To 64, 1 To 49) As Single
Dim mde(1985 To 2100, 0 To 99) As Single
Dim avgmw(1985 To 2100) As Single
Dim z1 As Single
Dim z2 As Single
Dim z3 As Single
Dim v As Single
Dim avg As Single
Dim g(5 To 99) As Single
Dim mwage(5 To 99, 15 To 69) As Single
Dim fwage(5 To 99, 15 To 69) As Single
Dim year As Single
Open "c:/eli/data/女子脱退力.txt " For Input As #2
Do Until EOF(2)
Input #2, a1, a2, a3, a4
age = a1
gamma(age) = a2
alpha(age) = a3
beta(age) = a4
Loop
Close #2
Open "c:/eli/data/再加入率.txt " For Input As #3
Do Until EOF(3)
Input #3, a1, a2, a3, a4
age = a1
theta(age) = a3
Loop
Close #3
Open "c:/eli/gdata/変形厚生年金被保険者.txt " For Input As #5
Do Until EOF(5)
Input #5, a1, a2, a3, a4
byear = a1
age = a2
m2by(byear, age) = a3
f2by(byear, age) = a4
Loop
Close #5
age = 15
Open "c:/eli/data/標準報酬.txt " For Input As #12
Do Until EOF(12)
Input #12, a1, a2
mw(age) = a1
fw(age) = a2
age = age + 1
Loop
Close #12
For byear = 1990 To 2034
age = 15
mis(byear, age, 1) = f2by(byear, age)
For car = 1 To 49
year = byear + age - 2000
wis(byear, age, car) = fw(age)
wos(byear, age, car) = fw(age)
Next
For age = 16 To 64
z1 = (1 - gamma(age - 1)) * f2by(byear, age - 1)
z2 = f2by(byear, age) - z1
If z2 < 0 Then z2 = 0
z3 = (1 - theta(age)) * z2
z4 = theta(age) * z2
mis(byear, age, 1) = z3
z5 = 0
For car = 1 To 49
z5 = z5 + mos(byear, age - 1, car)
Next
If z5 = 0 Then z5 = 1
v = z4 / z5
If v > 1 Then v = 1
For car = 2 To 49
mis(byear, age, car) = (1 - gamma(age - 1)) * mis(byear, age - 1, car - 1) + v * mos(byear, age - 1, car - 1)
Next
For car = 1 To 49
mos(byear, age, car) = (gamma(age - 1) - alpha(age - 1) - beta(age)) * mis(byear, age - 1, car) + (1 - alpha(age - 1) - v) * mos(byear, age - 1, car)
Next
year = byear + age - 2000
wis(byear, age, 1) = fw(age)
For car = 2 To 49
z6 = (1 - gamma(age - 1)) * mis(byear, age - 1, car - 1) + v * mos(byear, age - 1, car - 1)
z7 = wis(byear, age - 1, car - 1) * (1 - gamma(age - 1)) * mis(byear, age - 1, car - 1) + wos(byear, age - 1, car - 1) * v * mos(byear, age - 1, car - 1)
If z6 = 0 Then z7 = 0
If z6 = 0 Then z6 = 1
z8 = z7 / z6
year = byear + age - 2000
wis(byear, age, car) = (fw(age) + (car - 1) * z8) / car
Next
For car = 2 To 49
z9 = (gamma(age - 1) - alpha(age - 1) - beta(age)) * mis(byear, age - 1, car) + (1 - alpha(age - 1) - v) * mos(byear, age - 1, car)
z10 = wis(byear, age - 1, car) * (gamma(age - 1) - alpha(age - 1) - beta(age)) * mis(byear, age - 1, car) + wos(byear, age - 1, car) * (1 - alpha(age - 1) - v) * mos(byear, age - 1, car)
If z9 = 0 Then z10 = 0
If z9 = 0 Then z9 = 1
wos(byear, age, car) = z10 / z9
Next
Next
z1 = 0
z2 = 0
For car = 25 To 49
z1 = z1 + mis(byear, 64, car) + mos(byear, 64, car)
z2 = z2 + wis(byear, 64, car) * mis(byear, 64, car) + wos(byear, 64, car) * mos(byear, 64, car)
Next
avgmw(byear) = z2 / z1
Next
Open "c:/eli/gdata/女子賃金1.txt " For Output As #4
For byear = 1990 To 2100
Write #4, byear, avgmw(byear)
Next
Close #4
End Sub
最終更新:2010年04月07日 23:56