内容正文:
§2.3.3 DO—While循环结构
教学目标:
知识与技能:掌握Do-while循环语法规则
过程与方法:理解Do-while运行机制
教学重点难点:Do-while循环语法规则和运行机制
教学方法:讲授法、任务驱动法
课时:1课时
引入:求∏的近似值
· 用∏/4=1-1/3+1/5-1/7+‥‥‥级数,求∏的近似值。当最后一项的绝对值小于是10-5时,停止计算
· 1、用程序基本结构中的哪种?
· 2、怎么实现?
新课新问题:
希望工程储蓄问题新问:计算多少个月“希望工程”储蓄才能多于500元?
分析N s 条件验证 是否继续存款
月份 (初始值1) S(和初始值0)
N=1 s= 0 + 1 =1 s>500 ? 是
N=2 s= 1 + 2 =3 s>500 ? 是
N=3 s= 3 + 3 =6 s>500 ? 是
N=4 s= 6 + 4 =10 s>500 ? 是
… … … …
N s=s+n s>500成立 否
[来源:学+科+网]
结论:重复性操作仍用循环,但次数不明确不能用FOR-next,该问题是有条件限制的循环,所以用DO-while
Do-while语法结构:
· Do-while 条件[来源:学。科。网]
· 循环体
· Loop
功能:当条件成立时,执行循环体,遇到Loop无条件返回到DO-While;当条件不成立时,退出循环。
程序实现
· S=0
· N=1
· Do while s<=500
· s=s+n
· n=n+1
· Loop
· Print s,n
说明:For-next循环中步长就决定了循环变量的变化,DO循环中我们需要自己设置变量的变化情况即:n=n+1
DO-while循环适应于解决次数不明确条件限制的重复性问题,应用时一定要注意程序实现的初始和结束条件限制,否则很容易出错
例:编程解决100以内整数和问题
1、s=0
N=0
do while n<100
n=n+1
s=s+n
loop
print s
注:要注意N的初始值与条件临界值的设定
2、s=0
for n=1 to 100
s=s+n
next n
Print s
区别:For-next 循环主要是用在知道循环次数的情况下,若事先不知道循环次数,可以使用Do-while,Do-while运用一定要在循环初始和结束时注意条件设定,既不可多也不可少循环。
· 求∏的近似值代码实现:
· Show
· Dim pi as single,n as long, s as integer
· Pi=0:n=1:s=1
· Do while n<=100000
· pi=pi+s/n
· s=-s
· n=n+n
· Loop
· Print pi*4
实例分析:
· 1、输入两个正整数,求它们的最大公约数
· “辗转相除法”算法:求出m/n余数P=0,N即为最大公约数;若P非0,则把原来的公母N作为新的分子M,把余数P作为新的分母N继续求解
设计步骤如下:
(1)创建应用程序的用户界面和设置对象属性
编写的“计算”按钮Click事件过程代码如下:
· Private sub command1_click()
· Dim m as integer,n as integer,p as integer
· M=val(text1.text):n= val(text2.text)
· If m<=0 or n<=0 then
· Msgbox(“数据错误”)
· End
· End if
· Do while p<>0
· P=m mod n
· M=n
· N=p
· Loop
· Text3.text=m[来源:Z#xx#k.Com]
· End sub
设计一个“加法器”程序
· 把每次输入的数累加起来,直到输入-1时结束运行
· (1)创建应用程序的用户界面和设置对象属性
· (2)编写程序代码
· Private sub form_load()
· Show
· S=0
· Do while