算法的三种基本逻辑和框图表示(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个工作日内回复您,一经查实,本站将立刻删除涉嫌侵权内容。

相关推荐

变量的相关性

1.理解变量与变量之间的函数关系与相关关系. 2.会通过现实问题中两个相关变量的数据作出散点图,并利用散点图直观认识变量间的相关关系. 3.了解用最小二乘法求回归直线方程的思想,在所给数据较简单的情况下,能用最小二乘法求回归直线方程.