VB 程序设计的常用算法 算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。 一、计数、求和、求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。 例:用随机函数产生 100 个[0,99]范围内的随机整数,统计个位上的数字分别为 1,2,3,4,5,6,7,8,9,0 的数的个数并打印出来。 本题使用数组来处理,用数组 a(1 to 100)存放产生的确 100 个随机整数,数组 x (1 to 10)来存放个位上的数字分别为 1,2,3,4,5,6,7,8,9,0 的数的个数。即个位是1 的个数存放在 x (1)中,个位是2 的个数存放在 x (2)中,……个位是0 的个数存放在 x (10)。 将程序编写在一个GetTJpu t 过程中,代码如下: Pu blic Su b GetTJpu t() Dim a(1 To 100) As Integer Dim x (1 To 10) As Integer Dim i As Integer, p As Integer '产生 100 个[0,99]范围内的随机整数,每行10 个打印出来 For i = 1 To 100 a(i) = Int(Rnd * 100) If a(i) < 10 Then Form1.Print Space(2); a(i); Else Form1.Print Space(1); a(i); End If If i Mod 10 = 0 Then Form1.Print Nex t i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0 的数的个数,并将统计结果保存在数组x (1),x (2),...,x (10)中,将统计结果打印出来 For i = 1 To 100 p = a(i) Mod 10 ' 求个位上的数字 If p = 0 Then p = 10 x (p) = x (p) + 1 Nex t i Form1.Print "统计结果" For i = 1 To 10 p = i If i = 10 Then p = 0 Form1.Print "个位数为" + Str(p) + "共" + Str(x (i)) + "个" Nex t i End Su b 二、求两个整数的最大公约数、最小公倍数 分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数) (1) 对于已知两数m,n,使得 m>n; (2) m 除以 n 得余数r; (3) 若 r=0,则 n 为求得的最大公约数,算法结束;否则执行(4); (4) m←n,n←r,再重复执...