Программный код
Private Sub Command2_Click()
m = Val(Text2.Text)
ni = 0
Picture1.Scale (0, 20)-(20, 0)
For i = 0 To 20
Picture1.Line (1, i)-(20, i)
Next i
If m > 32000 Then
MsgBox "Повторите ввод", vbCritical, "Возможно переполнение"
End If
For i = 1 To m
X1 = Rnd * 20
X2 = Rnd * 20
Y1 = Rnd * 20
Y2 = Rnd * 20
al = 0.5 / Sqr((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)
j = Int(Y1)
k = Int(Y1 + al * (Y2 - Y1))
Picture1.Line (X1, Y1)-((X1 + al * (X2 - X1)), (Y1 + al * (Y2 - Y1)))
If j <> k Then
ni = ni + 1
End If
Next i
pi = m / ni
Text3.Text = pi
End Sub