网站大量收购闲置独家精品文档,联系QQ:2885784924

vb循环结构精梳版.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Do While … Loop 流程图 Do … While Loop 流程图 条件 语句块 语句块 T F 语句块 语句块 条件 T F 有Exit Do F T 有Exit Do F T Do While|Until... Loop流程图 新版课件 * 例4.11:我国有13.2亿人口,按出生率为0.5%的增长率,多少年后超过20亿? Private Sub Form_Load() Dim m As Double Dim yearr As Integer Show m = 1320000000#: yearr = 0 Do While m = 2000000000# m = m + m * 0.005 yearr = yearr + 1 Loop Print yearr; 年后我国的人口为:; m End Sub 若将While改为Until,条件表达式怎么修改? Do Until m 200000000000# 新版课件 * 例:迭代法求a的立方根。X=a1/3 迭代公式:Xn+1= 1/3(2Xn+a/Xn2) 当‖ Xn+1- Xn‖e (一个很小的数)则Xn+1为 a1/3的近似值。 迭代思想:是一个反复用新值取代旧值的过程。 Private sub command1_click() Const eps=1e-5 A=val(inputbox(“entera:”)) V=a 以u代表Xn,v代表Xn+1, Do u=v V=(2*u+a/u^2)/3 Loop while abs(v-u)eps Print v End sub 若将While改为Until,条件表达式怎么修改? Do Until abs(v-u)=eps 新版课件 * 例4.12演示:求两自然数m,n的最大公约数和最小公倍数。 方法一:用辗转相除法求最大公约数 分析: (1)对于已知两数m,n,使得mn; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束; 否则执行(4); (4)m?n,n?r,再重复执行(2) ★常用算法:求最大公约数和最小公倍数 新版课件 * 求 m=14 ,n=6 的最大公约数和最小公倍数。 z=m*n If m n Then t = m: m = n: n = t r=m mod n Do While (r 0) m=n n=r r= m mod n Loop Print 最大公约数=, n Print “最小公倍数=, z/n m n r 14 6 2 6 2 0 若r=0,则n为最大公约数结束 新版课件 * 方法二:辗转相减法求最大公约数 z=m*n Do While m n If m n Then m = m - n Else n = n - m End If Loop Print m Print z/m m=m-n mn m n m-n 14 6 8 8 6 2 2 6 4 2 4 2 2 2 0 n=n-m nm m、n为公约数 m=n 若m=n,则m为最大公约数结束 若不相等,谁大替换谁。 新版课件 * 例4.14:求自然对数e的近似值,要求其误差小于0.00001,近似公式为: e=1+1/1!+1/2!+1/3!+…+1/n!+ … 该例题涉及两个问题: (1)用循环结构求级数和的问题。本例根据某项值的精度来控制循环的结束与否。 (2)累加:e=e+t ( 循环体外对累加和的变量清零 e=0) (3)连乘:n=n*i (循环体外对连乘积变量置1 n=1) 新版课件 * ( 三)循环的嵌套 一个循环体内又包含了一个完整的循环结构称为循环的嵌套,也叫多重循环。 新版课件 * 例4.13演示:打印九九乘法表。 For i = 1 To 9 For j = 1 To 9 se = i × j = i * j Picture1.Print Tab((j - 1) * 9 + 1); se;

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档