VB基本算法

  • 格式:doc
  • 大小:76.00 KB
  • 文档页数:27

VB基本算法加书签收藏下载跳至底部↓阅读:601次大小:32KB(共2页)VB基本算法主讲人:许洋算法分类数值算法和非数值算法。

数值算法和非数值算法。

常用算法:迭代、穷举、递推、VB基本算法加书签收藏下载跳至底部↓阅读:601次大小:32KB(共2页)VB基本算法主讲人:许洋算法分类数值算法和非数值算法。

数值算法和非数值算法。

常用算法:迭代、穷举、递推、递归、分解等典型算法例子(1)交换a,b的值 temp=a a=b b=temp 或者 temp=b b=a a=temp(2) 求1 ~n 个自然数的累加和s=0 for i=1 to n s=s+i ‘注意,此句是累加的关键。

next i求一维数组各元素的和s=0 for i=1 to n s=s+a(i) next i求二维数组各元素的和s=0 for i=1 to n for j=1 to m s=s+a(i,j) next j next i求二维数组周边元素的和s=0 For i=1 to N s=s+A(1,i)+A(M,i) Next i For i=2 to M-1 s=s+A(i,1)+A(i,N) Next i求二维数组A(N,N)主对角线元素的和s=0 For i=1 to N S=s+A(i,i) Next I求二维数组A(N,N)次对角线元素的和s=0 For i=1 to N S=s+A( i, N+1-i ) Next i(3) 求n! (求累乘积)fact=1 For i=1 to n fact=fact * i Next i(4) 求斐波那契数列Dim fib( ) As Integer ’数组声明N=InputBox (“请输入要求的项数:”) Redim fib(n)fib(1)=1:fib(2)=1 ’处理部分 For I=3 to n fib(I) = fib(I-1) + fib(I-2) Next I ’输出语句Print “斐波那契数列的前”; n ; “项是:” For I = 1 to n Print fib(I); Next I(5) 将一维数组的前N项颠倒m=Int(n/2) For I=1 to m T=A(I) A(I)=A(n+1-I) A(n+1-I)=T Next I(6) 删除数组A(N)中的第I 项元素For J=I to N-1 A(J)=A(J+1) Next J N=N-1 Redim Preserve A(N)(7)求两个数的最大公约数 (欧几里得算法)do ’输入数据的合法性检查m=InputBox( “请输入m:”) n=InputBox(“请输入n”) if m < > 0 and n < > 0 then exit do print “data error! Reinput!” loop(7)求两个数的最大公约数 (欧几里得算法)do r=m mod n m=n n =r loop until r = 0 print “the GCD = ”; m(8)求两个数的最小公倍数t=m do while t mod n < > 0 ’判断t是n的倍数? t = t +m ’保证t是m的倍数loop print m ;”和”; n ; “的最小公倍数是:”; t(9)求无穷级数的近似值关键是找出通项表达式,例如:利用级数公式1+1/3^2+1/5^2+…+1/(2*n+1)^2求π的值,结束计算的条件是 n > 2000 (n 是项数) 或 an <= 0.00000001程序代码如下:s=1 : n=1 do while n<=2000 a=1/(2*n+1)^2 ’单项值s=s+a ’累加n=n+1 ’计数 loop until a<=1e-7 p=sqr(s*8) print “pi=”;p(10)顺序检索在50个同学的成绩中,找出某同学的成绩。

Dim A(50,2) As String For I=1 to 50 A(I,1)=InputBox(“请输入姓名”) A(I,2)=InputBox(“请输入成绩”) Next I Name=Inputbox(“输入要查找的学生姓名”)在50个同学的数据中,找出某同学的成绩。

For I=1 to 50 If A(I,1)=Name then score=val(A(I,2)) ’记录分数 Exit for End If Next I输出结果if I>50 then print “没找到” else print Name;“的成绩是:”;score end if(11)二分检索被检索的数组元素已排好序才能使用二分检索。

low=1 high=n f=0 (处理部分)If f=0 then Print “Not found” Else Print x 第1/2页下页贡献者:moshuihen加书签收藏下载我的书签阅读设置回顶部↑相关文档1.VB相关算法大全(新) 2468人阅读 | 8KB2.VB常用算法总结 1417人阅读 | 83KB3.VB 常用算法总结 1039人阅读 | 8KB4.VB算法大全 1588人阅读 | 485KB5.VB常用算法 410人阅读 | 30KB网页新闻知道百科空间更多>>天空a绿的文库 | 退出百度>文库>阅读03-18 20:19递归、分解等典型算法例子(1)交换a,b的值 temp=a a=b b=temp或者 temp=b b=a a=temp(2) 求1 ~n 个自然数的累加和s=0 for i=1 to n s=s+i ‘注意,此句是累加的关键。

next i求一维数组各元素的和s=0 for i=1 to n s=s+a(i) next i求二维数组各元素的和s=0 for i=1 to n for j=1 to m s=s+a(i,j) next j next i求二维数组周边元素的和s=0 For i=1 to N s=s+A(1,i)+A(M,i) Next i For i=2 to M-1 s=s+A(i,1)+A(i,N) Next i求二维数组A(N,N)主对角线元素的和s=0 For i=1 to N S=s+A(i,i) Next I求二维数组A(N,N)次对角线元素的和s=0 For i=1 to N S=s+A( i, N+1-i ) Next i(3) 求n! (求累乘积)fact=1 For i=1 to n fact=fact * i Next i(4) 求斐波那契数列Dim fib( ) As Integer ’数组声明N=InputBox (“请输入要求的项数:”) Redim fib(n)fib(1)=1:fib(2)=1 ’处理部分 For I=3 to n fib(I) = fib(I-1) + fib(I-2) Next I ’输出语句Pr int “斐波那契数列的前”; n ; “项是:” For I = 1 to n Print fib(I); Next I(5) 将一维数组的前N项颠倒m=Int(n/2) For I=1 to m T=A(I) A(I)=A(n+1-I) A(n+1-I)=T Next I(6) 删除数组A(N)中的第I 项元素For J=I to N-1 A(J)=A(J+1) Next J N=N-1 Redim Preserve A(N)(7)求两个数的最大公约数 (欧几里得算法)do ’输入数据的合法性检查m=InputBox( “请输入m:”) n=InputBox(“请输入n”) if m < > 0 and n < > 0 then exit do print “data error! Reinput!” loop(7)求两个数的最大公约数 (欧几里得算法)do r=m mod n m=n n =r loop until r = 0 print “the GCD = ”; m(8)求两个数的最小公倍数t=m do while t mod n < > 0 ’判断t是n的倍数? t = t +m ’保证t是m的倍数loop print m ;”和”; n ; “的最小公倍数是:”; t(9)求无穷级数的近似值关键是找出通项表达式,例如:利用级数公式1+1/3^2+1/5^2+…+1/(2*n+1)^2求π的值,结束计算的条件是 n > 2000 (n 是项数) 或 an <= 0.00000001程序代码如下:s=1 : n=1 do while n<=2000 a=1/(2*n+1)^2 ’单项值s=s+a ’累加n=n+1 ’计数 loop until a<=1e-7 p=sqr(s*8) print “pi=”;p(10)顺序检索在50个同学的成绩中,找出某同学的成绩。

Dim A(50,2) As String ForI=1 to 50 A(I,1)=InputBox(“请输入姓名”) A(I,2)=InputBox(“请输入成绩”) Next I Name=Inputbox(“输入要查找的学生姓名”)在50个同学的数据中,找出某同学的成绩。

For I=1 to 50 If A(I,1)=Name then score=val(A(I,2)) ’记录分数Exit for End If Next I输出结果if I>50 then print “没找到” else print Name;“的成绩是:”;score end if(11)二分检索被检索的数组元素已排好序才能使用二分检索。

low=1 high=n f=0 (处理部分)If f=0 then Print “Not found” Else Print x第1/2页下页贡献者:moshuihen加书签收藏下载我的书签阅读设置回顶部↑相关文档1.VB相关算法大全(新) 2468人阅读 | 8KB2.VB常用算法总结 1417人阅读 | 83KB3.VB 常用算法总结 1039人阅读 | 8KB4.VB算法大全 1588人阅读 | 485KB5.VB常用算法 410人阅读 | 30KB网页新闻知道百科空间更多>>天空a绿的文库 | 退出百度>文库>阅读03-18 20:19。