> 唯美句子 > VB初级的问题!!求助

VB初级的问题!!求助

VB初级的问题!!求助

1、求质数的过程,就是看这个数字除以另一个整数时,能不能整除,能整除当然就不是质数(所以是if m Mod i=0 then isp=false)。

2、对于一个整数,最笨的方法是让它从2一直除到这个整数-1,比如97从2除到96都不能整除。但这个方法显然不是最佳的。最短步骤就是从2除到这个整数开根(即(Sqr(m),取整 ),剩下的就不用算了,因为它除以比sqr(m)大的数,得数必定小于sqr(m)。

比如97从2除到9(sqr(97)取整)都不能整除,再用97除以10以上的数,得数(取整)不可能大于9(即sqr(97))。所以根据乘法交换律,只需算一次就行了

怎样在vb中自动检测到可用串口号

j = 0

For i = 1 To 16 Step 1

If comISP.PortOpen = True Then '先关闭串口

comISP.PortOpen = False

End If

comISP.CommPort = i

On Error Resume Next '说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。

comISP.PortOpen = True

If Err.Number 8002 Then '无效的串口号。这样可以检测到虚拟串口,如果用Err.Number = 0的话检测不到虚拟串口

If j = 0 Then

j = i

End If

cboPort.AddItem "COM" & i '生成串口选择列表

End If

comISP.PortOpen = False

Next i

If j >= 1 Then

cboPort.Text = "COM" & j '自动打开可用的最小串口号

comISP.CommPort = j

comISP.PortOpen = True

cmdOpenCom.Caption = "关闭串口"

shpCOM.FillColor = vbGreen

If Err.Number = 8005 Then '串口已打开,vbExclamation '

comISP.PortOpen = False

cboPort.Text = ""

cmdOpenCom.Caption = "打开串口"

shpCOM.FillColor = vbRed

End If

End If

用vb function 函数编写了一个判断一个数是否为素数的代码,怎么无论输入什么数,结果都是0素数。求解

首先题主的自定义函数部分没有问题,判断过程很简洁

问题在于,对自定义函数的参数传递存在误解

在自定义函数中定义的形式参数x,只是一种形式而已,在实际调用这个函数的时候是不需要在重新定义一个相同的x的,只需要把实际参数z传递给函数既可以,做如下修改就好了

Private Function isprise(x As Integer) As Integer

Dim i As Integer

For i = 2 To x - 1

If x Mod i = 0 Then

Exit For

End If

Next i

If i >= x Then

isprise = 1

Else

isprise = 0

End If

End Function

Private Sub Command1_Click()

Dim z As Integer

z = InputBox("enter dater")

If isprise(z) = 1 Then

Print z; "是素数"

Else

Print z; "不是素数"

End If

End Sub

如有疑问,请继续追问,乐意解答,嘿嘿!

计算机vb上机题目 用function函数,找出8000~9999之间所有的素数。

Private Function isprise(x As Integer) As Integer

Dim i As Integer

For i = 2 To x - 1

If x Mod i = 0 Then

Exit For

End If

Next i

If i >= x Then

isprise = 1

Else

isprise = 0

End If

End Function

Private Sub Command1_Click()

Dim x As Integer

For x = 8000 To 9999

If isprise(x) = 1 Then

Print x;

End If

Next x

End Sub

用vb编写了一个用function函数求100到200之间素数的代码如下,可是运行时单击command1键怎么没反应,求解

因为i>=x的判断放在了循环里面,本应该在循环外,看看是不是没有找到可以整除的数

Private Function isprise(x As Integer) As Integer

Dim i As Integer

For i = 2 To x - 1

If x Mod i = 0 Then

Exit For

End If

Next i

If i >= x Then

isprise = 1

Else

isprise = 0

End If

End Function

vb 怎样突破MSCOMM的串口号限制

j = 0

For i = 1 To 16 Step 1

If comISP.PortOpen = True Then '先关闭串口

comISP.PortOpen = False

End If

comISP.CommPort = i

On Error Resume Next '说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。

comISP.PortOpen = True

If Err.Number 8002 Then '无效的串口号。这样可以检测到虚拟串口,如果用Err.Number = 0的话检测不到虚拟串口

If j = 0 Then

j = i

End If

cboPort.AddItem "COM" & i '生成串口选择列表

End If

comISP.PortOpen = False

Next i

If j >= 1 Then

cboPort.Text = "COM" & j '自动打开可用的最小串口号

comISP.CommPort = j

comISP.PortOpen = True

cmdOpenCom.Caption = "关闭串口"

shpCOM.FillColor = vbGreen

If Err.Number = 8005 Then '串口已打开,vbExclamation '

comISP.PortOpen = False

cboPort.Text = ""

cmdOpenCom.Caption = "打开串口"

shpCOM.FillColor = vbRed

End If

End If

VB初级的问题!!求助:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!