2.2循环结构.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.2循环结构

2.3 循环结构 1.进一步理解程序框图的概念; 2.掌握运用程序框图表达循环结构的算法; 3.培养学生逻辑思维能力与表达能力. 开始 输入a1,a2,a3,a4,a5 将a1,a2比较,大数记作b 将b,a3比较,大数记作b 将b,a4比较,大数记作b 将b,a5比较,大数记作b 输出b 结束 1、若要从五个不同的数找出最大数,我们可以用什么结构呢? 顺序结构 如右图所示 2、设计一个算法,求100个数中的最大数,画出算法框图. 我们是否还可以用上题的方法呢? 不能,如果用上述的方法过程太繁杂了. 下面介绍另一种结构来解决这类问题, 即循环结构. 例1 设计一个算法,输出1000以内能被3和5整除的所有正整数,画出算法框图. 分析:凡能被3和5整除的正整数都是15的倍数,由于1000=15×66+10,因此一共有66个这样的正整数. 解:引入变量a表示待输出的数,则 a=15n (n=1,2,3,…,66 ). n从1变到66,反复输出a,就能输出1000以内的所有能被的正整数. 循环变量初始值 结束 开始 n=1 a=15n 输出a n=n+1 n66 否 是 循环体 循环的终止条件 循环变量的后继 变量n控制循环的开始和结束,称为循环变量. 开 始 输出“y 不是闰年” 4 整除 y 100 整除 y 400 整除 y 输出“y 是闰年” 否 否 是 是 是 否 y=2000 y:=y+1 Y2500 否 结束 是 例2 阅读右图中所示的框图,回答下列问题: (1)变量y在这个算法中的作用是什么? (2)这个算法的循环体是哪一部分,功能是什么? 变量y是循环变量,控制着循环的开始和结束. 红虚线所框部分,其功能是判断年份y是否是闰年,并输出结果. (3)这个算法的处理功能是什么? 由前面的分析,我们知道,这个算法的处理功能是:判断2000~2500(包括2500)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果. 本节主要介绍如何用循环结构来描述算法,一般地,在画出算法框图之前,需要确定三要素: ①确定循环变量和初始条件; ②确定算法中反复执行的部分,即循环体; ③确定循环的终止条件. 循环结构的算法框图为: 循环变量=初始值 循环体 循环变量=循环变量的后继值 终止条件是否成立 否 是 开始 结束 例3 设计一个算法,求100个数中的最大数,画出框图. 引入变量 b与i,并用ai(i=1,2,3…,100)表示待比较的数(b为最大值,先令b=a1)算法中的循环部分为比较b与ai的大小,如果bai,则b=ai.框图如图所示: 变量i的初始值为2,终止值为100 循环的终止条件为i100 是 否 是 是 开始 输入a1,a2,…,a100 i=2 b=a1 bai b=ai 否 i=i+1 i100 输出b 结束 否 赋予变量初始值 循环体 循环的终止条件 循环变量的后继 例4 菲波拉契数列表示的是这样一列数: 0,1,1,2,3,5,…,从第三项起每一项等于前两项的和.设计一个算法框图,输出这个数列的前50项. 分析: 设置50个变量:A1,A2,A3,…, A50,表示斐波那契数列 的前50项. 由这个递推关系知道,只要知道这个数列的前两项,就能将后面的所有项都输出来,因为算法中,反复计算和输出的步骤都是一样的,因此,可以用循环结构来描述这个算法, 如果设Ai-2,Ai-1,Ai分别表示数列中连续的三项,则 Ai-1+Ai-2 Ai = (1)循环变量和初始条件:设下标i为循环变量,3为i的初始值. (2)循环体: 算法中反复执行部分为:Ai=Ai-1+Ai-2; 输出Ai (3)终止条件:当i50时,算法结束. 解: 算法框图如图所示: i50 开始 输出Ai i=i+1 否 结束 是 A1=0,A2=1 i=3 Ai=Ai-1+Ai-2 输出A1,A2 思考: (1)你还记得二分法吗?二分法的步骤是什么? (2)怎样设计本题的算法? (3)算法框图如何画? 例5 我们知道,对于给定的一元方程,要求精度为0.01的近似解的算法如下: (2)如果不为0,则分下列两种情形: 分析理解 (2)如果区间长度大于0.01,则在新的有解区间的基础上重复上述2-5步骤. 5、判断新的有解区间的长度是否不大于0.01: (1)如果区间长度不大于0.01,则此区间内任意值均可作为方程的近似解; 在上述算法中: (1)循环变量和初始条件 (2)循环体 (3)终止条件 算法框图如图 开始 结束 否 是 是 否 是 否 画虚线部分在算法中有什么作用? 思考题:请观察给出的框图,这是一个求和算法的框图,请运行几步看一看,指出该循环结构的循环体,循环变量和循环的终止条件. 开始 s=0 i=1 输出s s=s+i

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档