第四节循环结构3.ppt

上传人:本田雅阁 文档编号:2585488 上传时间:2019-04-12 格式:PPT 页数:13 大小:229.51KB
返回 下载 相关 举报
第四节循环结构3.ppt_第1页
第1页 / 共13页
第四节循环结构3.ppt_第2页
第2页 / 共13页
第四节循环结构3.ppt_第3页
第3页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第四节循环结构3.ppt》由会员分享,可在线阅读,更多相关《第四节循环结构3.ppt(13页珍藏版)》请在三一文库上搜索。

1、第四节 循环结构(3),安阳一中 李永恒,教学目标,1、掌握doloop语句的使用方法。 2、完成活动四及体验活动,引言,前面学习的用fornext语句实现循环,循环的次数都是事先知道的,而在现实生活中有很多重复操作的次数大都不是事先就知道的,这种情况下就要用另外的语句来实现循环,这就是今天咱们要学习的doloop语句.,学习指引 DOLOOP语句,Do While 条件 语句块 Loop,形式1:Do While/Until Loop,i=1 s=1 Do while i=50 s=s*i i=i+1 Loop,格式 流程图 代码举例,Do Until 条件 语句块 Loop,i=1 s=1

2、 Do until i50 s=s*i i=i+1 Loop,学习指引 DOLOOP语句,Do 语句块 Loop While 条件,形式2:Do Loop While/Until,i=1 s=1 Do s=s*i i=i+1 Loop while i=50,格式 流程图 代码举例,Do 语句块 Loop Until 条件,i=1 s=1 Do s=s*i i=i+1 Loop until i50,学习指引 DOLOOP语句,通过对DoLoop语句以上几种形式的比较,我们总结如下: 在以上两种形式的比较中,我们发现while和until的区别仅仅是循环条件相反,通过修改循环条件,它们之间可以互相

3、转化,所以在实际应用中,我们习惯上经常使用Do whileLoop 和DoLoop Until两种形式,即“当结构”和“直到结构”。 使用“当结构”,即当满足循环条件才执行循环体; 使用“直到结构”,即直到满足条件才退出循环,循环体至少执行一次,而“当结构”中,若不满足条件,可能循环体一次也不执行; 使用DoLoop语句需要注意循环体中一定要有修改循环控制条件的语句,否则一旦进入循环体就无法结束循环,陷入死循环。,活动四 用DOLOOP语句实现循环结构,问题:小明的爸爸决定对某种电脑进行促销。促销方案为:买第一台电脑时需付全价6400元,买第二台时只需付全价的95%,依此类推,买后一台电脑的价

4、格是前一台的95%,但是最低价不得低于3800元,如果低于3800元就按3800元的价格购买。有一位顾客需要为单位购置电脑,他计划购买电脑的费用是50000元,求该顾客最多能买几台电脑,需付多少钱。,1.问题分析。,本问题的解决思路是:一、每买一台电脑,需要计算这台电脑的价格,然后累加到总金额上,当总金额超过50000元时就停止循环。因此,本循环过程中的重复操作是计算电脑的单价及总金额。二、在计算电脑的单价时,还需要做一个判断:如果打折后的价格大于3800元,那么在前一次价格的基础上打折,折扣率为95%,否则价格即为3800元,不再打折,此后的折扣率可看作为100%。 设电脑的价格为p,折扣率

5、为m,购买电脑的台数为n,购买电脑的总金额为s。 折扣率m的值需要根据前一台电脑的价格p来确定。如果p3800,那么m=_;否则_。 根据促销方案,购买某台电脑的价格是在前一台的价格上再打折,可采用累乘的方式计算某台电脑的价格。计算公式为p=p*_。 采用累加的方式,购买电脑总金额的计算公式为s=s+_。,2.算法设计,算法1 令p=6400; 令n=1; 令m=0.95; s=p; 如果s=50000,则执行第6步,否则执行第10步; p=p*m; 如果p3800,则p=3800,m=1; s=s+p; n=n+1,转第5步执行; 输出n和s; 结束。,算法2 令p=6400; 令n=1;

6、令m=0.95; s=p; 如果s=50000,则执行第6步,否则执行第10步; p=p*m; 如果p3800,则p=3800,m=1; s=s+p; n=n+1,转第5步执行; n=n-1; s=s-p; 输出n和s; 结束。,讨论:参照教材83页的问题,讨论这两种算法的正确性。,1)、两个算法求出的s是大于50000,还是小于等于50000?哪个算法的输出结果正确?为什么? 2)、如果将算法1第5步中控制循环的条件s=50000改为s+p*m=50000,该算法的运行结果正确吗?为什么? 3)、能否将算法1或算法2中的第6步和第7步互换位置?为什么?,完成流程图,开始,n=1,p=6400

7、,m=0.95,s=p,s+p*m=50000,输出最多能购买电脑的台数n及总金额s,结束,否,是,完成流程图,3、实现应用程序,Private Sub Form_Click() Dim s As Single, m As Single, p As Single Dim n As Integer n = 1 p = 6400 m = 0.95 s = p Do While s + p * m = 50000 p = p * m If p 3800 Then p = 3800 m = 1 End If s = s + p n = n + 1 Loop Print “最多可购买”; n; “台电脑,”; “需付“; Format(s, “#,#.00“); “元钱。“ End Sub 本程序中控制循环的表达式是什么?程序中通过哪些语句来改变该表达式的值? 循环结束后s的值是否会大于50000?,本程序中,每次执行Dowhile语句,首先判断条件s+p*m=50000,若条件成立,则执行后面的语句,遇到loop语句返到Dowhile再次进行条件判断;若条件不成立,则跳转到loop语句后结束循环.,体验活动,若按照算法2编写程序,需要怎样修改以上代码? 如果使用“直到结构”如何修改以上代码?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1