1.1.3.2 算法的三种基本逻辑结构和框图表示(2) ??循环结构

时间:2019-9-9 19:05:03   作者:数学名师王老师
1.了解循环结构的概念,能运用程序框图表示循环结构.
2.会用循环结构设计算法解决有关重复性计算和判断等问题.
知识点
  • 循环结构的概念

    循环结构是根据指定条件决定是否重复执行一条或多条指令的控制结构.

    温馨提示1.循环结构中必须包含条件分支结构,以保证在适当时候终止循环.

    2.循环结构只有一个入口和一个出口.

    3.循环结构内不存在无终止的循环.

    4.循环结构中几个常用的变量:

    计数器:即计数变量,用来记录某个事件发生的次数,如$i=i+1, n=n+1$;

    累加器:即累加变量,用来计算数据之和,如$\mathrm{sum}=\mathrm{sum}+\dot{i}$;

    累乘器:即累乘变量,用来计算数据之积,如$p=p \times i$.

    对于这些变量,在程序开始,一般要先赋初值,可根据实际问题合理选择初始值,一般情况下,计数器可设初值为0或1,累加器初值为0,累乘器初值为1.

    【做一做1】 执行如图所示的程序框图,输出的S值为 (  )

    blob.png

    A. 1 $\mathrm{B} \cdot \frac{2}{3} \mathrm{C} \cdot \frac{13}{21} \mathrm{D} \cdot \frac{610}{987}$

    解析:当$i=0$时,向下运行,将$\frac{s^{2}+1}{2 S+1}=\frac{2}{3}$赋值给$S,i$增加1变成1,经判断执行否,然后将$\frac{S^{2}+1}{2 S+1}=\frac{13}{21}$赋值给$S,i$增加1变成2,经判断执行是,然后输出$S$的值为 13/21,故选$C$.

    答案:$C$

    【做一做2】 下图给出的是计算$\frac{1}{2}+\frac{1}{4}+\frac{1}{6}+\dots+\frac{1}{2016}$的值的一个程序框图,其中判断框内应填入的条件是    . 

     blob.png

    解析:由程序框图可知,当$i=2,4,6, \cdots, 2,016$时应执行循环体,当$i=2018$时,跳出循环,故条件应为$i \leqslant 2016$或$i < 2017$或$i < 2018$等.

    答案:$i \leqslant 2016$(答案不唯一)

重难点
  • 循环结构的特点

    剖析:(1)循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件分支结构来作出判断,因此循环结构中一定包含条件分支结构.

    (2)用循环结构描述算法,一般说需要事先确定三件事:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的条件.

    (3)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止;累加变量用于输出结果.计数变量和累加变量一般是同步执行的,累加一次,计数一次.另外,还有累乘变量,累乘变量和累加变量的设置目的是一样的,只不过分工不同,累加变量用来计算很多项的和,累乘变量用来处理很多项的积.无论哪一种变量都是为最终输出结果服务的.

例题解析
  • 循环结构程序框图的识图问题

    【例1】 已知程序框图如图所示,该程序运行后,为使输出的$b$的值为9,则判断框内的整数$M=$___________. 

    blob.png

    分析:分析输出结果与$a,b$值的关系,确定循环终止的条件,即得$M$值.

    反思

    已知含循环结构的程序框图,分析其算法功能,确定其输出结果,或完善其缺少的内容是一类重要问题,解决这类问题时,应注意以下几点:

    (1)明确循环变量、计数变量、循环体分别是什么,尤其要弄清楚循环的次数以及循环终止的条件分别是什么;

    (2)若循环执行的次数较少,可将算法执行过程一一列举、分析获得结果;若循环执行的次数较多,则应考查循环过程中相关变量取值的周期性.

    【变式训练1】 下面程序框图所对应的算法的功能是_______.

    blob.png

  • 利用循环结构求和

    【例2】 画出计$1+\frac{1}{3}+\frac{1}{5}+\dots+\frac{1}{2015}$的值的一个程序框图.

    分析:选好计数变量$i$与累加变量$S$,且$i=i+2, S=S+\frac{1}{i}$

    反思

    本题是累加问题,代表了一类相邻两个数的差为常数的求和问题的解法,在设计算法时要注意前后两个数的分母相差2,此时计数变量不是“$i=i+1$”,而是“$i=i+2$”,但如果计算$1+\frac{1}{4}+\frac{1}{7}+\frac{1}{10}+\dots$,此时计数变量应为“$i=i+3$”,要灵活地改变算法中的相应部分.

    【变式训练2】 设计一个求2+4+6+8+…+200的值的算法,并画出程序框图.

  • 利用循环结构求积

    【例3】 设计求1×2×3×…×1 000的值的算法,并画出程序框图.

    分析:本算法若是只采用顺序结构,要一个一个地累乘,需千余步,考虑到运算过程的重复性,引入循环结构,同时设计计数变量和累乘变量来控制循环,因为是乘法运算,所以累乘变量的值不能从0开始,要从1开始,计数变量的值从2开始增至1 000.

    反思

    在循环结构中,要注意根据条件设计合理的计数变量、累加变量、累乘变量等,特别要求条件的表述要恰当、准确,累加变量的初始值一般取0,累乘变量的初始值一般取1.

    【变式训练3】 画出求99×97×95×…×3×1的值的程序框图.

  • 利用循环结构求最值

    【例4】 看下面的问题:1+2+3+…+( )>10 000.这个问题的答案不唯一,如果我们确定出满足条件的最小正整数$n_{0}$,那么括号内填写的数字只需大于或等于$n_{0}$即可.试写出寻找满足条件的最小正整数$n_{0}$的算法,并画出相应的程序框图.

    分析:由于10 000是一个较大的数,用试或猜的办法是行不通的,因此需设计一个循环结构的程序框图来解决.

    【变式训练4】 写出求满足1×3×5×7×…×n < 50 000的最大正整数n的算法,并画出程序框图.

  • 易错辨析

    易错点:循环结构中循环体设置不当致错

    【例5】 设计一个程序框图求$S=1^{2}+3^{2}+5^{2}+\ldots+99^{2}$的值.

    【例6】 已知$S=1 \times 2^{2}+2 \times 2^{3}+3 \times 2^{4}+\ldots+10 \times 2^{11}$,画出计算$S$的程序框图.

  • 真题

    1.下列框图是循环结构的是(  )

    blob.png

    A.①②  B.②③  C.③④  D.②④

    2.阅读下面的程序框图,则输出的S等于(  )

    blob.png

    A.40  B.38  C.32  D.20

    3.阅读如下程序框图,如果输出i=4,那么空白的判断框中应填入的条件是(  )

    blob.png

    $\begin{array}{ll}{\mathrm{A} . S < 8} & {\mathrm{B.S} < 9} \\ {\mathrm{C} . S < 10} & {\mathrm{D} . S < 11}\end{array}$

    4.阅读下面的程序框图,若输入$m=4, n=6$,则输出$a=$________,$i=$________. 

    blob.png

    5.阅读如图所示的程序框图,运行相应的程序.若输入$m$的值为2,则输出的结果$i=$________.  

    blob.png

    6.已知有一列数$\frac{1}{2}, \frac{2}{3}, \frac{3}{4}, \ldots, \frac{n}{n+1}$,设计程序框图实现求该列数前    2 017项的和.

声明:本站部分内容搜集整理自互联网,如果涉及侵犯您的版权,请联系我们举报,并提供相关证据,工作人员会在5个工作日内回复您,一经查实,本站将立刻删除涉嫌侵权内容。