2-23-循环结构(北师大版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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=1a=15n输出an=n+1n66否是循环体循环的终止条件循环变量的后继变量n控制循环的开始和结束,称为循环变量.开始输出“y不是闰年”4整除y100整除y400整除y输出“y是闰年”否否是是是否y=2000y:=y+1Y2500否结束是例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,…,a100i=2b=a1baib=ai否i=i+1i100输出b结束否赋予变量初始值循环体循环的终止条件循环变量的后继例4菲波拉契数列表示的是这样一列数:0,1,1,2,3,5,…,从第三项起每一项等于前两项的和.设计一个算法框图,输出这个数列的前50项.分析:设置50个变量:A1,A2,A3,…,A50,表示斐波那契数列的前50项.由这个递推关系知道,只要知道这个数列的前两项,就能将后面的所有项都输出来,因为算法中,反复计算和输出的步骤都是一样的,因此,可以用循环结构来描述这个算法,如果设Ai-2,Ai-1,Ai分别表示数列中连续的三项,则Ai-1+Ai-2Ai=(1)循环变量和初始条件:设下标i为循环变量,3为i的初始值.(2)循环体:算法中反复执行部分为:Ai=Ai-1+Ai-2;输出Ai(3)终止条件:当i50时,算法结束.解:算法框图如图所示:i50开始A1=0,A2=1输出Aii=i+1结束否是i=3输出A1,A2Ai=Ai-1+Ai-2思考:(1)你还记得二分法吗?二分法的步骤是什么?(2)怎样设计本题的算法?(3)算法框图如何画?例5我们知道,对于给定的一元方程,要求精度为0.01的近似解的算法如下:(2)如果不为0,则分下列两种情形:分析理解(2)如果区间长度大于0.01,则在新的有解区间的基础上重复上述步骤.5、判断新的有解区间的长度是否不大于0.01:(1)如果区间长度不大于0.01,则此区间内任意值均可作为方程的近似解;在上述算法中:(1)循环变量和初始条件(2)循环体(3)终止条件算法框图如图开始结束是否是是否画虚线部分在算法中有什么作用?思考题:请观察给出的框图,这是一个求和算法的框图,请运行几步看一看,指出该循环结构的循环体,循环变量和循环的终止条件.开始s=0i=1输出ss=s+ii4结束否是i=i+1循环变量:i终止条件:i4处理功能:s=1+2+3+4=10输出结果:10循环体开始s=0i=1输出ss=s+ii4结束否是i=i+1变式:若改为右图,则输出的结果为________.91、___________________n=1a=15n输出an=n+1n66结束否是开始说出下列各框图输出的结果:15,30,45,……990(1题图)2、_____________n=1a=15n输出an=n+1n66结束否是开始15,15,15……(2题图)n=1a=15n输出an=n+1n66结束否是开始9903、_____________(3题图)1.理解循环结构的逻辑,主要用在反复做某项工作的问题中;2.画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.3.条件结构与循环结构的区别与联系:区别:条件结构通过判断分支只是执行一次;循环结构通过条件判断可以反复执行.联系:循环结构是通过条件结构来实现.“知人”,从知道自己到了解他人,都要摆对位置才行.

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功