谁能将这段程序翻译成vb程序

来源:百度知道 编辑:UC知道 时间:2024/05/09 06:58:30
#include

//连续m+1+anticipate次不出现A事件的概率,在一次试验中A出现的概率为P
//m:连续m次没有出现A, p:一次独立试验中A出现的概率,anticipate:设定的接下来的局数
double probability(int m, double p, int anticipate)
{
double value = 1 - p;
for(int i = 0; i < m + anticipate - 1; i++)
{
value = value * (1 - p);
}
return value;
}

void main()
{
double PA[18]; //每个点数随机出现的概率

PA[2] = 1;
PA[3] = 3;
PA[4] = 6;
PA[5] = 10;
PA[6] = 15;
PA[7] = 21;
PA[8] = 25;
PA[9] = 27;
PA[10] = 27;
PA[11] = 25;
PA[12] = 21;
PA[13] = 15;
PA[14] = 10;
PA[15] = 6;
PA[16] = 3;
PA[17] = 1;
for(int k = 2; k < 18; k++)
{
PA[k] = PA[k]/216.0;
}

int M[18]; //每个点数,连续没有出现的次数

double PNA[18]; //下一次出现各点数点概率

//初始化PA
for(int i = 2; i < 18; i++)
{
M[i] = 0;
}
int A = 0;
while (1) {

'//连续m+1+anticipate次不出现A事件的概率,在一次试验中A出现的概率为P
'//m:连续m次没有出现A, p:一次独立试验中A出现的概率,anticipate:设定的接下来的局数
Public Function probability(ByVal M As Integer, ByVal p As Double, ByVal anticipate As Integer)
value = 1 - p
For i = 0 To M + anticipate
value = value * (1 - p)
Next
probability = value
End Function

Private Sub Form_Click()
Dim PA(17) ' //每个点数随机出现的概率
PA(2) = 1
PA(3) = 3
PA(4) = 6
PA(5) = 10
PA(6) = 15
PA(7) = 21
PA(8) = 25
PA(9) = 27
PA(10) = 27
PA(11) = 25
PA(12) = 21
PA(13) = 15
PA(14) = 10
PA(15) = 6
PA(16) = 3
PA(17) = 1
For k = 2 To 17
PA(k) = PA(k) / 216#
Next
Dim M(18) As Integer '//每个点数,连续没有出现的次数
Dim PNA(18) As Double '; //下一次出现各点数点概率
'//初始化PA
For i = 2 To 17
M(i) = 0
Next
Dim A As Integer
A = 0

'While 1
A = InputBox("输入本次点数", "输