⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 一个随机数生成的代码 ,vb, 可以检测生成的随机数是否符合t分布
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         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 + -