关于vb的问题
下面程序的功能是测试一个数是否为素数,请将程序中空白处补充完整。
private sub form_click()
dim x as integer
x=inputbox("Enter a number to check")
print x;" Is;";
valvar=prime (x)
end sub
function prime (inputvar as integer) As Integer
for i=2 to Inputvar-1
If inputvar Mod i=0 then
GoTo comfinish
end if
If inputvar Mod i=2 then
for j=1 to 10000
beep
dummy= (_____)
Next j
End If
next i
prime=(_____)
print "prime"
GoTo finish
comfinish:
prime=inputvar
print" not a prime"
finish
End Function
问题
1.)请解释这段程序的意思 解释的越详细越好?
2.)把程序中的空白处补充完整 并解释一下为什么添上这样的代码?
3.)请问什么是素数 在程序里怎么求出它 请举个例子(注意:新手上路!请说的简单易懂些)!?
答案:1.素数就是小学学的质数,就是任何一个大整数,它的因数只能是1或它自己。
2.下面的一部分表示,程序运行时,鼠标单击窗体(程序的窗口)后执行的代码。
private sub form_click() //子程序头部,private表示这一段程序是私有的,也就是说只能在这一段程序中//使用,sub表示这一段是子程序,Form_click表示该事件是单击窗体事件。
dim x as integer //定义x为整型变量
x=inputbox("Enter a number to check") //x取由inputBox提供的值,在运行时,inputbox会打开一个数据// 输入的窗口
print x;" Is;";//以紧凑方式进行输出,每个打印项中间用分号隔开,表示紧凑方式。输出的是:X的值,接着是"Is;",这里你可能有错,应当是“:”,而不是“;”。并且后面接着的输出不换行,紧挨着输出。
valvar=prime (x) //调用求素数函数,并将结果存储在valvar中
end sub //子程序结束,不能省略,必须有。
3. 下面解释函数
function prime (inputvar as integer) As Integer //定义一个整型函数prime,function表示定义的是函数,as // integer 表示函数的值是整数,prime函数名, (inputvar as integer)表示这个函数带有一个参数,并且还是
//一个整型的变量,也就是说,将来这个函数使用的时侯,必须是函数名后边的括号中有一个整数。
//下面开始循环,从2一直到给定的数少1,每次i取一个值,每次递增1
for i=2 to Inputvar-1
If inputvar Mod i=0 then //若i是inputvar的因数,也就是inputvar不是素数,inputvar Mod i表示
// inputvar 除 i所的的余数。
GoTo comfinish //既然inputvar不是素数当然任务完成,后面程序不再执行,跳转到comfinish标识
// 的行。
end if //判断语句结束
If inputvar Mod i=2 then //判断inputvar除i的余数是否为2,若为2接着执行下面的语句。
//内层循环,每次余数为2,都要使用PC喇叭发出10000次声响
for j=1 to 10000
beep //发出一声响
dummy= (DoEvents()) //取消发声指令
Next j
//内循环结束,这个部分的程序,对解决问题没有任何帮助,只是进行程序修饰。
End If
next i
//上面的第一层循环语句结束。
prime=( Inputvar) //就该程序来说,任何整数都可以赋给prime,当然,最正确的还是 Inputvar
print "prime" //程序若执行到此,则输出就为X is:prime
GoTo finish
comfinish:
prime=inputvar
print" not a prime"
finish
End Function //函数结束标志
上一个:请教VB高手,XIRR()
下一个:VB 修改注册表dword值