当前位置:编程学习 > VB >>

关于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值

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,