270 likes | 431 Views
循环结构. 江门市杜阮华侨中学 杨清孟. 复习回顾. 前面我们学习了顺序结构和选择结构,并学习了利用变量和赋值来描述算法,变量和赋值能够使算法具有普遍性和代表性,利用它我们可以解决一类问题。. 金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有 50000 元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为 2.25 %,试求 5 年后这个人连 本带息可以取出多少钱?实际 算法解决问题,画出流程图。. 思考. 解. 设某年后可以支取 p 元,算法如下:. (1) 一年后: p=5000(1+2.25%);.
E N D
循环结构 江门市杜阮华侨中学 杨清孟
复习回顾 前面我们学习了顺序结构和选择结构,并学习了利用变量和赋值来描述算法,变量和赋值能够使算法具有普遍性和代表性,利用它我们可以解决一类问题。
金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有50000元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为2.25%,试求5年后这个人连金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有50000元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为2.25%,试求5年后这个人连 本带息可以取出多少钱?实际 算法解决问题,画出流程图。 思考
解 设某年后可以支取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
开始 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 结束
开始 输入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 结束 在一些算法中,经常会出现从某处开始,按照一定的条件,反复执行某一处理,如在复利利率的计算问题,这样的结构就是循环结构,反复执行的处理步骤称为循环体
问题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 思考:上边的式子有怎样的规律呢?
引进一个计数变量,通过循环结构实现程序简单化引进一个计数变量,通过循环结构实现程序简单化 • S1 sum=0 • S2 i=1 • S3 sum=sum+i • S4 i=i+1 • S5 如果i不大于5,则返回执行S3 ,S4 ,S5 如果大于5,则算法结束。 • S6 输出sum
否 i= i + 1 是 i = i + 1 Sum = Sum + i Sum = Sum + i i = i + 1 Sum=Sum + i 否 是 当型结构 i<5? 解决方法就是加上一个判断,判断是否已经加到了5,如果加到了则退出,否则继续加。 请填上判断的条件。 i≥5? 试分析两种流程的异同点 直到型结构
开始 开始 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 结束 结束 最后的结果
开始 i = 0,Sum = 0 否 i<5? 是 步骤A i = i + 1 步骤B Sum = Sum + i 输出Sum 结束 思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改? 答:达不到预期结果;当i = 5时,退出循环,i的值未能加入到Sum中;修改的方法是将判断条件改为i<6
选择结构与循环结构的区别 • 选择结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行.
例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的流程图.该算法为何结构?
算法2: S1 T←1 S2 I←2 S3 T←T×I S4 I←I+1 S5 如果I不大于5,返回S3,否则输出T.
算法2流程图: 开始 S←1 I←2 T←T×I I←I+1 N I>5 Y 输出T
北京取得2008奥运会主办权。国际奥委会对遴选出的五个城市进行投票表决的操作程序:首先进行第一轮投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰,然后重复上述过程,直到选出一个城市为止。你能利用算法语言叙述上述过程吗?北京取得2008奥运会主办权。国际奥委会对遴选出的五个城市进行投票表决的操作程序:首先进行第一轮投票,如果有一个城市得票超过一半,那么这个城市取得主办权;如果没有一个城市得票超过一半,那么将其中得票最少的城市淘汰,然后重复上述过程,直到选出一个城市为止。你能利用算法语言叙述上述过程吗?
奥运会主办权投票过程的算法结构: S1 投票; S2 计票。如果有一个城市得票超过一半,那么这个城市取得主办权,进入S3;否则淘汰得票数最少的城市,转入S1; S3 宣布主办城市。
奥运会主办权投票表决流程图 开始 投票 淘汰得票最少者 有一城市过半票? 否 是 选出该城市 结束
例1设计一种算法,输出1000以内的能被3和5整除的所有整数,画出流程图例1设计一种算法,输出1000以内的能被3和5整除的所有整数,画出流程图 分析: 1.这个问题很简单,凡是能被3和5整除的整数都是15的倍数由于1000=15×66+10,因此在1000内,这样的数共有66个。 2.这种前面的顺序结构和选择结构来完成,这样会非常复杂和费时,因此我们将它和变量与赋值联系起来,循环结构就是用来处理这种问题的
循环变量 循环体 终止条件 解 引入变量a表示待输出的数,则 a=15n (n=1,2,…,66) n表示从1到66,反复输出a赋值,就能输出1000内所有能被3和5整除的正整数。 算法流程如图: 说明:1循环体是算法的核心 2循环变量控制着循环的开始和结束 3循环体必须有终止条件 你还有其他的算法吗?
练习 请你结合闰年的计算方法,判断2000~2005年,中那些年份是闰年,哪些年份不是闰年。 结合这个流程图思考下列问题: 3.这个算法的终止条件是什么? 2.这个算法的循环提示哪里? 1.变量y的作用?
阶段小结 算法的循环结构流程图,它的一般形式为: (1)确定循环变量和初始条件,一般和我们的解题设法相似 (2)确定循环体, (3)确定循环的终止条件
例2 大自然的造化充满无尽的秘密,下面的这些花纹和我们的数学充满了联系,它的花纹刚好是斐波那挈数列的一个自然现象的体现,斐波那挈数列表示这样一列数:0,1,1,2,3,5,…后一项等于前两项的和,请你设计一个算法流程,输出这个数列的前50项。 分析: 设这50个变量为a1,a2,a3,…,a50 这相邻的三项为ai-2,ai-1,ai,则它们之间存在关系: ai-2+ai-1=ai 因此我们可以这样来设计算法:
1.循环条件:利用下标i做变量,利来i控制循环,初始条件为31.循环条件:利用下标i做变量,利来i控制循环,初始条件为3 2.循环体:反复利用ai-2+ai-1=ai 输出ai 3终止条件:i>50 解 算法流程如图所示: 还有其他的算法吗?
写出求 (共有6个2)的值的一个算法, 并画出流程图。 开始 S←1/2 i←1 S←1/(2+S) i ← i +1 N i>6 Y 输出S 结束 练习:
自我测试 最近,欧美等发达国家要求中国人民币增值,以保证世界通货的稳定,但是这将不利于我国经济的发展,有关专家研究,我国的通货膨胀率保持在3%左右将对我国经济的稳定有利无害,所谓通货膨胀率为3%,是指每年消费品的价格增长率为3%。在这种情况下,某种品牌的钢琴2004年的价格为10000元,请用流程图描述这种钢琴今后5年的价格变化情况,并输出这5年的价格。
小结 1利用循环结构设计算法及画流程图,要明确三要素: 循环变量的初始条件 循环体 终止条件 2循环体的设计要注意数与数之间的变化规律,也就是变量之间的关系, 3循环结构大大的简化了算法,循环变量在构造循环结构中发挥了重要作用,这就是“函数思想”