📄 form1.frm
字号:
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 8640
TabIndex = 23
Top = 4080
Width = 975
End
Begin VB.Label Label10
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 855
Left = 3960
TabIndex = 20
Top = 5040
Width = 5895
End
Begin VB.Label Label9
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 4200
TabIndex = 16
Top = 7800
Width = 3975
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "a:"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = 2520
TabIndex = 15
Top = 840
Width = 300
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "c:"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = 4320
TabIndex = 14
Top = 840
Width = 300
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "m:"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = 6000
TabIndex = 13
Top = 840
Width = 300
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "x:"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = 7800
TabIndex = 12
Top = 840
Width = 300
End
Begin VB.Label Label5
AutoSize = -1 'True
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = 6000
TabIndex = 11
Top = 1680
Width = 150
End
Begin VB.Label Label7
Caption = "检验水平="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 1080
TabIndex = 10
Top = 4080
Width = 1695
End
Begin VB.Label Label8
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 8640
TabIndex = 9
Top = 6480
Width = 855
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim s As Single
Dim z As Single
Dim B() As Single
Dim p() As Single
Dim f As Single
Private Sub Command1_Click()
Text5.Text = ""
a = Val(Text1.Text)
c = Val(Text2.Text)
m = Val(Text3.Text)
x = Val(Text4.Text)
For I = 2 To m
If c Mod I = 0 And m Mod I = 0 Then MsgBox "非满周期,请重新输入c或m,使二者互素!", , "提示": Text2.SetFocus: Exit Sub
Next I
q = m
z: For I = 2 To q - 1
If q Mod I = 0 Then q = q / I: GoTo z
Next I
If (a - 1) Mod q <> 0 Then MsgBox "非满周期,请重新输入a或m,使对任意素数q,若能整除m,则q也能整除a-1!", , "提示": Text1.SetFocus: Exit Sub
If m Mod 4 = 0 And (a - 1) Mod 4 <> 0 Then MsgBox "非满周期,请重新输入a或m,使若4能整除m,则4也能整除a-1!", , "提示": Text1.SetFocus: Exit Sub
ReDim B(m)
s = 0
For I = 1 To m
x = (a * x + c) Mod m
y = x / m
s = s + y
B(I) = Format(Str(y), "0.0000")
Text5.Text = Text5.Text & Format(Str(y), "0.0000") & ","
Next I
End Sub
Private Sub Command2_Click()
If Val(Text9.Text) < Val(Label8.Caption) Then Label9.Caption = "恭喜您通过检验!!!!" Else: Label9.Caption = "很遗憾,您没有通过检验!"
End Sub
Private Sub Command3_Click()
If Text6.Text = "" Or Text8.Text = "" Then MsgBox "请输入a和统计量", , "提示": Text9.SetFocus: Exit Sub
k = Abs(z)
If k < Val(Label11.Caption) Then Label10.Caption = "该随机数序列采用连贯性检验,具有独立性"
If k > Val(Label11.Caption) Then Label10.Caption = "该随机数序列采用连贯性检验,不具有独立性"
End Sub
Private Sub Command4_Click()
If Text7.Text = "" Then MsgBox "请输入检验水平!"
Dim h As Single
h = 0.01
Dim g As Single
g = 0.05
If Val(Text7.Text) = h Then Label8.Caption = 20.09024
If Val(Text7.Text) = g Then Label8.Caption = "15.50731"
End Sub
Private Sub Command5_Click()
a = Val(Text1.Text)
c = Val(Text2.Text)
m = Val(Text3.Text)
x = Val(Text4.Text)
ReDim D(m)
For I = 2 To m
If B(I - 1) < B(I) Then y = 1 Else: y = 0
D(I) = Format(Str(y), "0")
Next I
For I = 1 To m - 1
If D(I) <> D(I + 1) Then Sum = Sum + 1 Else: D(I) = D(I + 1)
Next I
z = (Sum - (2 * m - 1) / 3) / Sqr((16 * m - 29) / 90)
Text6.Text = Format(Str(z), "0.0000")
End Sub
Private Sub Command6_Click()
If Text8.Text = "" Then MsgBox "请输入检验水平!"
o = Val(Text8.Text)
If o = 0.05 Then Label11.Caption = 1.96
If o = 0.01 Then Label11.Caption = 2.43
End Sub
Private Sub Command7_Click()
m = Val(Text3.Text)
ReDim p(m)
For J = 1 To m
f = 0
For I = 1 To m
If Val(B(I)) >= ((J - 1) / m) And Val(B(I)) < (J / m) Then f = f + 1
Next I
p(J) = Format(Str(f / m), "0.0000")
Next J
sum1 = 0
For J = 1 To m
If p(J) <> 0 Then
sum1 = sum1 + ((1 - p(J)) ^ 2)
End If
Next J
Text9.Text = Format(Str(sum1), "0.0000")
End Sub
Private Sub Command8_Click()
Form2.Show
Me.Hide
End Sub
Private Sub Text1_Change()
Text5.Text = ""
End Sub
Private Sub Text2_Change()
Text5.Text = ""
End Sub
Private Sub Text3_Change()
Text5.Text = ""
End Sub
Private Sub Text4_Change()
Text5.Text = ""
End Sub
Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub
Private Sub Text2_GotFocus()
Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text)
End Sub
Private Sub Text3_GotFocus()
Text3.SelStart = 0
Text3.SelLength = Len(Text3.Text)
End Sub
Private Sub Text4_GotFocus()
Text4.SelStart = 0
Text4.SelLength = Len(Text4.Text)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -