1、第2课时 循环结构,循环结构的概念 【问题思考】 1.填空: 循环结构是根据指定条件决定是否重复执行一条或多条指令的控制结构. 2.循环结构中判断框中的条件是唯一的吗? 提示不是.在具体的程序框图设计时,判断框中的条件可以不同,但不同的表示应该有相同的确定的结果,如当nN时,条件n10与n11是等价的.,3.做一做:如图所示,该算法程序框图中包含哪些基本逻辑结构( ) 循环结构 顺序结构 条件分支结构 A. B. C. D. 答案:D,思考辨析 判断下列说法是否正确,正确的在后面的括号内画“”,错误的画“”. (1)循环结构中一定含有判断框.( ) (2)顺序结构中必有循环结构.( ) (3)
2、条件分支结构中必有循环结构.( ) (4)循环结构中一定包含条件分支结构.( ) (5)循环结构中只有一个进入点和一个退出点.( ) 答案:(1) (2) (3) (4) (5),探究一,探究二,探究三,答题模版,【例1】 (2017全国2,文10) 执行右面的程序框图,如果输入的a=-1,则输出的S=( ) A.2 B.3 C.4 D.5,探究一,探究二,探究三,答题模版,解析:程序框图运行如下: a=-1,S=0,K=1,进入循环, S=0+(-1)1=-1,a=1,K=2; S=-1+12=1,a=-1,K=3; S=1+(-1)3=-2,a=1,K=4; S=-2+14=2,a=-1,
3、K=5; S=2+(-1)5=-3,a=1,K=6; S=-3+16=3,a=-1,K=7, 此时退出循环,输出S=3. 故选B. 答案:B,探究一,探究二,探究三,答题模版,反思感悟循环结构中的累加、累乘问题的注意事项 1.确定循环变量及初始值.循环变量用于控制循环的次数,也就是控制参与累加、累乘的项的项数,通常情况下,累加问题循环变量的初始值设为0,累乘问题循环变量的初始值设为1. 2.确定循环体.循环体是循环结构的核心,通常由两部分构成,一是进行累加、累乘,二是设置控制变量的增加值. 3.确定循环终止的条件.实质是一个条件分支结构,根据累加、累乘的项数确定终止循环的条件.,探究一,探究二
4、,探究三,答题模版,变式训练1执行如图所示的程序框图,如果输出s=3,那么判断框内应填入的条件是( ) A.k6 B.k7 C.k8 D.k9 解析:由程序框图可知,输出的结果为由s=3,即log2(k+1)=3,解得k=7. 又不满足判断框内的条件时才能输出s,故条件应为k7. 答案:B,探究一,探究二,探究三,答题模版,【例2】 设计一个程序框图:求满足1+2+3+n2 019的最小正整数n. 解:程序框图如图所示.,探究一,探究二,探究三,答题模版,反思感悟应用循环结构需要确定的三个关键问题. (1)确定循环变量及初始值.循环变量用于控制循环的次数,通常累加问题循环变量的初始值设为0,累
5、乘问题循环变量的初始值设为1. (2)确定循环体.循环体是算法中反复执行的部分,是循环结构的核心,通常由两部分构成,一是进行累加累乘,二是设置控制变量的增加值. (3)确定循环终止的条件.,探究一,探究二,探究三,答题模版,1.将本例中“”改为“”,求最大的正整数n的程序框图是什么? 解:程序框图如图所示.,探究一,探究二,探究三,答题模版,2.将本例改为设计一个求1234n2 019的最大整数n的程序框图. 解:程序框图如图所示.,探究一,探究二,探究三,答题模版,【例3】 (1)执行如图所示的程序框图,如果输入a=2,b=2,那么输出的a值为( ) A.4 B.16 C.256 D.log
6、316,探究一,探究二,探究三,答题模版,(2)(2017广东仲元中学高三模拟)已知某算法的程序框图如图所示,若输入x=7,y=6,则输出的有序数对为 ( )A.(13,12) B.(12,13) C.(14,13) D.(13,14),探究一,探究二,探究三,答题模版,解析:(1)log324不成立,执行第一次循环,a=22=4;log344不成立,执行第二次循环,a=42=16;log3164=log334=log381不成立,执行第三次循环,a=162=256;log32564=log381成立,跳出循环体,输出a的值为256,故选C. (2)根据程序框图流程可得, x=7,y=6,n=
7、1;x=7,y=8,n=2;x=9,y=10,n=3;x=11,y=12,n=4;x=13,y=14,n=5,不满足条件,终止循环,输出(13,14),故选D. 答案:(1)C (2)D 反思感悟1.如果循环次数较少,那么可以依次计算结果,将循环过程及其结果一一列出,从而得到程序框图的最终运行结果. 2.如果循环次数较多,那么可以根据循环的过程,先将输出变量的表达式写出来,再利用相关的数学方法求出该表达式的值从而得到运行结果;也可以计算前几次运行的结果,从中找出规律,从而获得最终的运行结果.,探究一,探究二,探究三,答题模版,变式训练2某程序框图如图所示,该程序运行后输出的S的值是 .,答案:
8、-3,探究一,探究二,探究三,答题模版,循环结构在实际问题中的应用 【典例】 某班共有学生50人,在一次数学测试中,要搜索出测试中及格(60分及其以上)的成绩,试设计一个算法,并画出程序框图. 思路点拨(1)用自然语言写出一个算法,注意设好计数变量n(初始值设为1)及成绩变量r. (2)根据写出的算法,利用循环结构实现题目中的要求.要注意做到中间过程要有输出,并且控制好循环次数和递增间隔及判断框内的限制条件.,探究一,探究二,探究三,答题模版,规范解答算法如下: S1 把计数变量n的初始值设为1. S2 输入一个成绩r,比较r与60的大小. 若r60,则输出r,然后执行下一步; 若r50,则结
9、束. 程序框图如图.,探究一,探究二,探究三,答题模版,方法提炼循环结构应用问题的解决方法,1,2,3,4,5,1.阅读下面的程序框图,则输出的S等于( ) A.40 B.38 C.32 D.20 答案:B,1,2,3,4,5,2.阅读如图所示的程序框图,运行相应的程序,则输出的i等于( ) A.2 B.3 C.4 D.5 解析:由框图可知i=1,s=0+121=2; i=2,s=2+222=10; i=3,s=2+222+323=34; i=3+1=4,s11.故选C. 答案:C,1,2,3,4,5,答案:i2 018,1,2,3,4,5,4.阅读下面的程序框图,若输入m=4,n=6,则输出a= ,i= .,1,2,3,4,5,解析:输入m=4,n=6,则i=1,a=mi=4,n不能整除4;i=2,a=mi=8,n不能整除8;i=3,a=mi=12,n能整除12.a=12,i=3. 答案:12 3,1,2,3,4,5,5.已知有一列数 设计程序框图实现求该列数前2 018项的和.,1,2,3,4,5,解:程序框图如图或图所示.,