VERSION 5.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX" Begin VB.Form Form1 Caption = "Form1" ClientHeight = 1830 ClientLeft = 60 ClientTop = 345 ClientWidth = 4785 LinkTopic = "Form1" ScaleHeight = 1830 ScaleWidth = 4785 ShowInTaskbar = 0 'False StartUpPosition = 3 'Windows の既定値 Begin VB.TextBox Text2 Height = 270 Left = 360 TabIndex = 2 Text = "10.分割区法" Top = 480 Width = 2535 End Begin MSComDlg.CommonDialog CommonDialog1 Left = 3840 Top = 1200 _ExtentX = 847 _ExtentY = 847 _Version = 393216 End Begin VB.CommandButton Command1 Caption = "0入力;学生用ファイル(*.js),その他の値;先生用ファイル(*.txt)作成 " Height = 855 Left = 1320 TabIndex = 1 Top = 960 Width = 2055 End Begin VB.TextBox Text1 Height = 495 Left = 240 TabIndex = 0 Top = 1200 Width = 735 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Private Sub command1_click() '10.分割区法.0入力は学生,それ以外は教師用ファイル作成' Dim bango, HAN, REP, num As Integer bango = Val(Text1.Text) CommonDialog1.ShowSave Open CommonDialog1.FileName For Output As #1 QQ = 0 Form1.AutoRedraw = True YR = Val(Mid$(Date$, 3, 4)) Print YR Randomize (YR + 20) Dim X(15, 9), S3(9, 9), FJ3(12), M(10), DU$(6, 6), Q4(9) ' t-value T6 = 2.447 T16 = 2.12 ' KURIKAESHI ' If bango = 0 Then GoTo NOBANGO Else For num = 1 To 9 Print #1, ""; num; " "; Next num For num = 10 To 99 Print #1, ""; num; " "; Next num Print #1, "
"
End If
NOBANGO:
 For REP = 1 To 100  'Number of students
 For HAN = 1 To 2    'Number of mondai
START:
 If HAN = 1 Then GoTo L380 Else GoTo L510
L380:
 X(1, 1) = Int(Rnd * 2 + 1): X(1, 2) = Int(Rnd * 2 + 2): X(1, 3) = Int(Rnd * 2 + 1)
 X(2, 1) = Int(Rnd * 2 + 2): X(2, 2) = Int(Rnd * 2 + 2): X(2, 3) = Int(Rnd * 2 + 2)
 X(3, 1) = Int(Rnd * 3 + 3): X(3, 2) = Int(Rnd * 3 + 3): X(3, 3) = Int(Rnd * 3 + 1)
 X(4, 1) = Int(Rnd * 4 + 3): X(4, 2) = Int(Rnd * 4 + 4): X(4, 3) = Int(Rnd * 4 + 3)
 X(5, 1) = Int(Rnd * 4 + 4): X(5, 2) = Int(Rnd * 4 + 4): X(5, 3) = Int(Rnd * 4 + 4)
 X(6, 1) = Int(Rnd * 4 + 5): X(6, 2) = Int(Rnd * 4 + 5): X(6, 3) = Int(Rnd * 4 + 4)
 X(7, 1) = Int(Rnd * 4 + 5): X(7, 2) = Int(Rnd * 4 + 6): X(7, 3) = Int(Rnd * 4 + 5)
 X(8, 1) = Int(Rnd * 4 + 6): X(8, 2) = Int(Rnd * 4 + 6): X(8, 3) = Int(Rnd * 4 + 6)
 X(9, 1) = Int(Rnd * 4 + 7): X(9, 2) = Int(Rnd * 4 + 7): X(9, 3) = Int(Rnd * 4 + 5)
 X(10, 1) = Int(Rnd * 4 + 7): X(10, 2) = Int(Rnd * 4 + 7): X(10, 3) = Int(Rnd * 4 + 7)
 X(11, 1) = Int(Rnd * 4 + 8): X(11, 2) = Int(Rnd * 4 + 8): X(11, 3) = Int(Rnd * 4 + 8)
 X(12, 1) = Int(Rnd * 4 + 9): X(12, 2) = Int(Rnd * 4 + 9): X(12, 3) = Int(Rnd * 4 + 9)
 GoTo L630
L510:
510 X(1, 1) = Int(Rnd * 2 + 1): X(1, 2) = Int(Rnd * 2 + 2): X(1, 3) = Int(Rnd * 2 + 1)
520 X(2, 1) = Int(Rnd * 2 + 2): X(2, 2) = Int(Rnd * 2 + 3): X(2, 3) = Int(Rnd * 2 + 2)
530 X(3, 1) = Int(Rnd * 2 + 3): X(3, 2) = Int(Rnd * 2 + 3): X(3, 3) = Int(Rnd * 3 + 1)
540 X(4, 1) = Int(Rnd * 2 + 3): X(4, 2) = Int(Rnd * 2 + 4): X(4, 3) = Int(Rnd * 3 + 3)
550 X(5, 1) = Int(Rnd * 2 + 4): X(5, 2) = Int(Rnd * 2 + 4): X(5, 3) = Int(Rnd * 3 + 4)
560 X(6, 1) = Int(Rnd * 2 + 5): X(6, 2) = Int(Rnd * 2 + 5): X(6, 3) = Int(Rnd * 3 + 4)
570 X(7, 1) = Int(Rnd * 2 + 5): X(7, 2) = Int(Rnd * 2 + 6): X(7, 3) = Int(Rnd * 3 + 2)
580 X(8, 1) = Int(Rnd * 2 + 6): X(8, 2) = Int(Rnd * 2 + 6): X(8, 3) = Int(Rnd * 3 + 3)
590 X(9, 1) = Int(Rnd * 2 + 7): X(9, 2) = Int(Rnd * 2 + 7): X(9, 3) = Int(Rnd * 3 + 4)
600 X(10, 1) = Int(Rnd * 2 + 7): X(10, 2) = Int(Rnd * 2 + 7): X(10, 3) = Int(Rnd * 3 + 7)
610 X(11, 1) = Int(Rnd * 2 + 8): X(11, 2) = Int(Rnd * 2 + 7): X(11, 3) = Int(Rnd * 3 + 8)
620 X(12, 1) = Int(Rnd * 2 + 5): X(12, 2) = Int(Rnd * 2 + 6): X(12, 3) = Int(Rnd * 3 + 6)
L630:
 V = 0: V2 = 0: TR2 = 0: BL = 0: BL2 = 0: T = 0: T2 = 0: S = 0: S2 = 0: FJ = 0: FJ2 = 0
 For i = 1 To 12: For J = 1 To 3: T = T + X(i, J): T2 = T2 + X(i, J) ^ 2: Next J: Next i
 For i = 1 To 3: For J = 1 To 3: S = S + X(J, i): Next J: S3(1, i) = S: S = 0: Next i
 For i = 1 To 3: For J = 4 To 6: S = S + X(J, i): Next J: S3(2, i) = S: S = 0: Next i
 For i = 1 To 3: For J = 7 To 9: S = S + X(J, i): Next J: S3(3, i) = S: S = 0: Next i
 For i = 1 To 3: For J = 10 To 12: S = S + X(J, i): Next J: S3(4, i) = S: S = 0: Next i
 For i = 1 To 4: For J = 1 To 3: S2 = S2 + S3(i, J) ^ 2: Next J: Next i
 CF = T ^ 2 / 36
 T2_2 = T2
 T_2 = T
 CF_2 = CF
 T2 = T2 - CF
 S2 = S2 / 3 - CF
 For J = 1 To 3: For i = 1 To 3: V = V + X(i, J): Next i: Next J
 V_2 = V
 M(1) = V / 9: V2 = V ^ 2: V = 0
 For J = 1 To 3: For i = 4 To 6: V = V + X(i, J): Next i: Next J
 V_3 = V
 M(2) = V / 9: V2 = V2 + V ^ 2: V = 0
 For J = 1 To 3: For i = 7 To 9: V = V + X(i, J)
 Next i: Next J
 V_4 = V
 M(3) = V / 9: V2 = V2 + V ^ 2: V = 0
 For J = 1 To 3: For i = 10 To 12: V = V + X(i, J): Next i: Next J
 V_5 = V
 M(4) = V / 9: V2 = V2 + V ^ 2
 V2 = V2 / 9 - CF
 For i = 1 To 12: BL = BL + X(i, 1): Next i
 BL_2 = BL
 BL2 = BL ^ 2: BL = 0
 For i = 1 To 12: BL = BL + X(i, 2): Next i
 BL_3 = BL
 BL2 = BL2 + BL ^ 2: BL = 0
 For i = 1 To 12: BL = BL + X(i, 3): Next i
 BL_4 = BL
 BL2 = BL2 + BL ^ 2
 BL2 = BL2 / 12 - CF
 SE = S2 - V2 - BL2
 For i = 1 To 12: For J = 1 To 3: FJ = FJ + X(i, J): Next J: FJ3(i) = FJ: FJ = 0: Next i
 For i = 1 To 12: FJ2 = FJ2 + FJ3(i) ^ 2: Next i
 FJ2 = FJ2 / 3 - CF
 TRE1 = FJ3(1) + FJ3(4) + FJ3(7) + FJ3(10)
 TRE2 = FJ3(2) + FJ3(5) + FJ3(8) + FJ3(11)
 TRE3 = FJ3(3) + FJ3(6) + FJ3(9) + FJ3(12)
 TR2 = ((TRE1 ^ 2) + (TRE2 ^ 2) + (TRE3) ^ 2) / 12 - CF
 TV = FJ2 - TR2 - V2
 EF = T2 - S2 - TR2 - TV
 If HAN = 1 Then GoTo L1160 Else GoTo L1180
L1160:
 If ((TV / 6) / (EF / 16)) > 2.74 Then GoTo START
 GoTo L1190
L1180:
 If ((TV / 6) / (EF / 16)) < 2.74 Then GoTo START
L1190:
If bango = 0 Then GoTo FILEFORSTUDENTS
' ----------------------  '
  If REP < 10 And HAN = 1 Then Print #1, ""
  If REP > 9 And HAN = 1 Then Print #1, ""
 Print #1, REP; "-"; HAN; " Bunkatuku V1:A-BL 1, 2, 3  B-BL 1, 2, 3  C-BL 1, 2, 3"
 Print #1, "V1  ";
 For i = 1 To 12
 If i = 4 Then Print #1, "V2  ";
 If i = 7 Then Print #1, "V3  ";
 If i = 10 Then Print #1, "V4  ";
 For J = 1 To 3
 Print #1, X(i, J);
 Next J
 Next i
 Print #1,
 Print #1, "SHU WA ";
 For i = 1 To 4
 For J = 1 To 3
 Print #1, S3(i, J);
 Next J
 Next i
 Print #1,
 Print #1, "Total,cf,t^2=";
 Print #1, T_2;
 Print #1, Format(CF_2, "####.####");
 Print #1, T2_2
 Print #1, "gokei V1,2,3,4= ";
 Print #1, V_2, V_3, V_4, V_5;
 Print #1, "bl1,2,3= ";
 Print #1, BL_2, BL_3, BL_4;
 Print #1, "tr1,2,3= "; TRE1; TRE2; TRE3
 LSD = 2 * SE / 54: LSD = LSD ^ (1 / 2): LSD = T6 * LSD
 Print #1, "t6, LSD_cv  "; T6;
 Print #1, Format(LSD, "####.####");
 LSD2 = 2 * EF / 192: LSD2 = LSD2 ^ (1 / 2): LSD2 = T16 * LSD2
 Print #1, "  t16, LSD_tr  "; T16;
 Print #1, Format(LSD2, "####.####")
 'PRINT "ANOVA table"
 Print #1, "FACTOR     DF      SS       MS     F    (F05   F01)"
 Print #1, "main "
 Print #1, " Cultivar    3  ";
 Print #1, Format(V2, "000.000");
 Print #1, Spc(4);
 Print #1, Format(V2 / 3, "000.000");
 Print #1, Spc(4);
 Print #1, Format((V2 / 3) / (SE / 6), "000.000"), "    (4.76  9.78)"
 Print #1, " Block       2   ";
 Print #1, Format(BL2, "000.000");
 Print #1, Spc(4);
 Print #1, Format(BL2 / 2, "000.000");
 Print #1, Spc(4);
 Print #1, Format((BL2 / 2) / (SE / 6), "000.000"), "   (5.14 10.92)"
 Print #1, " Er of main  6  ";
 Print #1, Format(SE, "000.000");
 Print #1, Spc(3);
 Print #1, Format(SE / 6, "000.000"), "=";
 Print #1, Format(S2, "000.000"), "-";
 Print #1, Format(V2, "000.000"); "-";
 Print #1, Format(BL2, "000.000")
 Print #1, "Sub plot"
 Print #1, " Treatment   2  ";
 Print #1, Format(TR2, "000.000");
 Print #1, Spc(4);
 Print #1, Format(TR2 / 2, "000.000");
 Print #1, Spc(4);
 Print #1, Format((TR2 / 2) / (EF / 16), "000.000"); "    (3.63  6.23)"
 Print #1, " Tr x Cul    6  ";
 Print #1, Format(TV, "000.000");
 Print #1, Spc(4);
 Print #1, Format(TV / 6, "000.000");
 Print #1, Spc(4);
 Print #1, Format((TV / 6) / (EF / 16), "000.000"), "    (2.74  4.20)"
 Print #1, " Er of sub  16  ";
 Print #1, Format(EF, "000.000");
  Print #1, Spc(4);
  Print #1, Format(EF / 16, "000.000"), "=";
  Print #1, Format(T2, "000.000"), "-";
  Print #1, Format(S2, "000.000"), "-";
  Print #1, Format(TR2, "000.000"), "-";
  Print #1, Format(TV, "000.000")
 'mean values sorting
 For i = 1 To 4
 K = i + 1
 For J = K To 4
 If M(i) > M(J) Then GoTo L1460
 WORK = M(i): M(i) = M(J): M(J) = WORK
L1460:
 Next J
 Next i
 Print #1, "Sorted means  ";
 For i = 1 To 4
 Print #1, Format(M(i), "##.####");
 Print #1, Spc(3);
 Next i
 Print #1,
 ' ika subeteno sano kentei
 For i = 1 To 9
 Q4(i) = LSD
 Next i
 For J = 1 To 3
 For i = 1 To 4 - J
 Print #1, Format(J, "##"), "-";
 Print #1, Format((4 - i + 1), "##"), "; ";
 Q = Q4(4 - i - J + 1)
 Print #1, "q("; 4 - i - J + 2; ")= ",
 Print #1, Format(Q, "##.####");
 SA = M(J) - M(4 - i + 1)
 Print #1, "   SA= ",
 Print #1, Format(SA, "##.####");
 If SA > Q Then GoTo L1642 Else GoTo L1682
L1642:
 Print #1, " *"
 DU$(4 - i, J) = "* "
 CC = CC + 1
 GoTo L1710
L1682:
 Print #1, " N"
 DU$(4 - i, J) = "N"
L1710:
 Next i
 Next J
 ' duncan no kigou atoha tesagyou
 For i = 1 To 4 - 1
 For J = 1 To i
 Print #1, DU$(i, J); "  ";
 Next J:
 Print #1,
 Next i
GoTo TOBASU
' ====================== '
FILEFORSTUDENTS:
 If HAN > 1 Then GoTo TOBU
 Print #1, "jsDB[";
 Print #1, QQ;
 Print #1, "]='";
TOBU:
 Print #1, " No. "; HAN; "
"; Print #1, "V1:A-BL 1, 2, 3 B-BL 1, 2, 3 C-BL 1, 2, 3
"; Print #1, "V1; "; For i = 1 To 12 If i = 4 Then Print #1, "V2; "; If i = 7 Then Print #1, "V3; "; If i = 10 Then Print #1, "V4; "; For J = 1 To 3 Print #1, X(i, J); Next J Next i LSD = 2 * SE / 54: LSD = LSD ^ (1 / 2): LSD = T6 * LSD Print #1, "
LSD_cv "; Print #1, Format(LSD, "####.####"); LSD2 = 2 * EF / 192: LSD2 = LSD2 ^ (1 / 2): LSD2 = T16 * LSD2 Print #1, " LSD_tr "; Print #1, Format(LSD2, "####.####"); "
"; TOBASU: Next HAN Print #1, "'" QQ = QQ + 1 Next REP Close #1 Form1.Print Form1.Print "OK" End Sub