1 / 27

循环结构

循环结构. 江门市杜阮华侨中学 杨清孟. 复习回顾. 前面我们学习了顺序结构和选择结构,并学习了利用变量和赋值来描述算法,变量和赋值能够使算法具有普遍性和代表性,利用它我们可以解决一类问题。. 金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有 50000 元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为 2.25 %,试求 5 年后这个人连 本带息可以取出多少钱?实际 算法解决问题,画出流程图。. 思考. 解. 设某年后可以支取 p 元,算法如下:. (1) 一年后: p=5000(1+2.25%);.

gaye
Download Presentation

循环结构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 循环结构 江门市杜阮华侨中学 杨清孟

  2. 复习回顾 前面我们学习了顺序结构和选择结构,并学习了利用变量和赋值来描述算法,变量和赋值能够使算法具有普遍性和代表性,利用它我们可以解决一类问题。

  3. 金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有50000元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为2.25%,试求5年后这个人连金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有50000元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为2.25%,试求5年后这个人连 本带息可以取出多少钱?实际 算法解决问题,画出流程图。 思考

  4. 设某年后可以支取p元,算法如下: (1)一年后:p=5000(1+2.25%); (2)二年后:p=5000(1+2.25%)(1+2.25%) (3)三年后:p=5000(1+2.25%)(1+2.25%)(1+2.25%) (4)四年后:p=5000(1+2.25%)(1+2.25%)(1+2.25%)(1+2.25%) (5)五年后:p=5000(1+2.25%)(1+2.25%)(1+2.25%)(1+2.25%)(1+2.25%) (6)输出p

  5. 开始 p=50000 p=p(1+2.25%) p=p(1+2.25%) p=p(1+2.25%) p=p(1+2.25%) p=p(1+2.25%) 输出p 结束

  6. 开始 输入p=5000 p=p(1+2.25%) p=p(1+2.25%) 循环体 p=p(1+2.25%) p=p(1+2.25%) p=p(1+2.25%) 输出a 结束 在一些算法中,经常会出现从某处开始,按照一定的条件,反复执行某一处理,如在复利利率的计算问题,这样的结构就是循环结构,反复执行的处理步骤称为循环体

  7. 问题1:写出1+2+3+4+5的一个算法 • 第一步:sum=0; • 第二步:sum=sum+1; • 第三步:sum=sum+2; • 第四步:sum=sum+3; • 第五步:sum=sum+4; • 第六步:sum=sum+5 • 第七步:输出sum. 1+2+3+4+5 在1的基础上加2 = 3 +3+4+5 先计算1+2,得计 算结果3 = 6 +4+5 在计算结果3的基础 上再加3,得计算结 果6 = 10 +5再在上述计算结果6 上加4,得计算结果 10 =15 思考:上边的式子有怎样的规律呢?

  8. 引进一个计数变量,通过循环结构实现程序简单化引进一个计数变量,通过循环结构实现程序简单化 • S1 sum=0 • S2 i=1 • S3 sum=sum+i • S4 i=i+1 • S5 如果i不大于5,则返回执行S3 ,S4 ,S5 如果大于5,则算法结束。 • S6 输出sum

  9. i= i + 1 是 i = i + 1 Sum = Sum + i Sum = Sum + i i = i + 1 Sum=Sum + i 否 是 当型结构 i<5? 解决方法就是加上一个判断,判断是否已经加到了5,如果加到了则退出,否则继续加。 请填上判断的条件。 i≥5? 试分析两种流程的异同点 直到型结构

  10. 开始 开始 i=0,Sum = 0 i = 0,Sum = 0 否 i<5? i = i + 1 是 Sum = Sum + i i = i + 1 否 i≥5? Sum = Sum + i 是 输出Sum 输出Sum 结束 结束 最后的结果

  11. 开始 i = 0,Sum = 0 否 i<5? 是 步骤A i = i + 1 步骤B Sum = Sum + i 输出Sum 结束 思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改? 答:达不到预期结果;当i = 5时,退出循环,i的值未能加入到Sum中;修改的方法是将判断条件改为i<6

  12. 选择结构与循环结构的区别 • 选择结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行.

  13. 例1.写出求1×2×3×4×5的一个算法. 算法1: S1 先算T←1×2 S2 T←T×3 S3 T←T×4 S4 T←T×5 S5 输出T 试画出算法1的流程图.该算法为何结构?

  14. 算法2: S1 T←1 S2 I←2 S3 T←T×I S4 I←I+1 S5 如果I不大于5,返回S3,否则输出T.

  15. 算法2流程图: 开始 S←1 I←2 T←T×I I←I+1 N I>5 Y 输出T

  16. 北京取得2008奥运会主办权。国际奥委会对遴选出的五个城市进行投票表决的操作程序:首先进行第一轮投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰,然后重复上述过程,直到选出一个城市为止。你能利用算法语言叙述上述过程吗?北京取得2008奥运会主办权。国际奥委会对遴选出的五个城市进行投票表决的操作程序:首先进行第一轮投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰,然后重复上述过程,直到选出一个城市为止。你能利用算法语言叙述上述过程吗?

  17. 奥运会主办权投票过程的算法结构: S1 投票; S2 计票。如果有一个城市得票超过一半,那么这个城市取得主办权,进入S3;否则淘汰得票数最少的城市,转入S1; S3 宣布主办城市。

  18. 奥运会主办权投票表决流程图 开始 投票 淘汰得票最少者 有一城市过半票? 否 是 选出该城市 结束

  19. 例1设计一种算法,输出1000以内的能被3和5整除的所有整数,画出流程图例1设计一种算法,输出1000以内的能被3和5整除的所有整数,画出流程图 分析: 1.这个问题很简单,凡是能被3和5整除的整数都是15的倍数由于1000=15×66+10,因此在1000内,这样的数共有66个。 2.这种前面的顺序结构和选择结构来完成,这样会非常复杂和费时,因此我们将它和变量与赋值联系起来,循环结构就是用来处理这种问题的

  20. 循环变量 循环体 终止条件 解 引入变量a表示待输出的数,则 a=15n (n=1,2,…,66) n表示从1到66,反复输出a赋值,就能输出1000内所有能被3和5整除的正整数。 算法流程如图: 说明:1循环体是算法的核心 2循环变量控制着循环的开始和结束 3循环体必须有终止条件 你还有其他的算法吗?

  21. 练习 请你结合闰年的计算方法,判断2000~2005年,中那些年份是闰年,哪些年份不是闰年。 结合这个流程图思考下列问题: 3.这个算法的终止条件是什么? 2.这个算法的循环提示哪里? 1.变量y的作用?

  22. 阶段小结 算法的循环结构流程图,它的一般形式为: (1)确定循环变量和初始条件,一般和我们的解题设法相似 (2)确定循环体, (3)确定循环的终止条件

  23. 例2 大自然的造化充满无尽的秘密,下面的这些花纹和我们的数学充满了联系,它的花纹刚好是斐波那挈数列的一个自然现象的体现,斐波那挈数列表示这样一列数:0,1,1,2,3,5,…后一项等于前两项的和,请你设计一个算法流程,输出这个数列的前50项。 分析: 设这50个变量为a1,a2,a3,…,a50 这相邻的三项为ai-2,ai-1,ai,则它们之间存在关系: ai-2+ai-1=ai 因此我们可以这样来设计算法:

  24. 1.循环条件:利用下标i做变量,利来i控制循环,初始条件为31.循环条件:利用下标i做变量,利来i控制循环,初始条件为3 2.循环体:反复利用ai-2+ai-1=ai 输出ai 3终止条件:i>50 解 算法流程如图所示: 还有其他的算法吗?

  25. 写出求 (共有6个2)的值的一个算法, 并画出流程图。 开始 S←1/2 i←1 S←1/(2+S) i ← i +1 N i>6 Y 输出S 结束 练习:

  26. 自我测试 最近,欧美等发达国家要求中国人民币增值,以保证世界通货的稳定,但是这将不利于我国经济的发展,有关专家研究,我国的通货膨胀率保持在3%左右将对我国经济的稳定有利无害,所谓通货膨胀率为3%,是指每年消费品的价格增长率为3%。在这种情况下,某种品牌的钢琴2004年的价格为10000元,请用流程图描述这种钢琴今后5年的价格变化情况,并输出这5年的价格。

  27. 小结 1利用循环结构设计算法及画流程图,要明确三要素: 循环变量的初始条件 循环体 终止条件 2循环体的设计要注意数与数之间的变化规律,也就是变量之间的关系, 3循环结构大大的简化了算法,循环变量在构造循环结构中发挥了重要作用,这就是“函数思想”

More Related