算法有什么用?算法是一个广义概念,没有“VB 里的算法”这种概念。
所谓算法,即是一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数 。包含五要素:有穷性、确切性、输入项、输出项、可行性。
举个例子:
比如我要求得某个数的最大公约数,运算规则无非就三种:算术运算(加减乘除等)、逻辑运算(或、且、非等)、关系运算(大于、小于、等于、不等于等),单单用这三种哪一种也是求不出来最大公约数的,这个时候就需要算法了,最常用的就是欧几里得辗转相除法了:设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用b除a,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b÷r1=q......r2
(0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。
这就是算法,当然这是数学语言,转换成计算机语言(例如 VB)就需要一系列代码来实现了,但功能是一致的。
至于常量的问题,这个更好解释,计算机语言中的常量跟数学中的常量是一模一样的。
比如数学中规定π是一个常量,代表圆周率,值是 3.1415926......,那么在数学运算中(比如计算圆的周长),假如出现了π,我们就知道它代表 3.1415926......了。
VB 中同理,定义 a 是代表某个数据的常量,那么下次再出现 a 的时候,我们就知道它其实就代表这个数据。例子:
Const PI = 3.1415926 '定义 PI 是一个常量,赋值为3.1415926
Dim r = Val(InputBox("请输入圆的半径:"))
Msgbox("这个圆的周长为:" & 2 * PI * r)