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