第4课时5.2 流程图。
重点难点。重点:掌握循环结构的执行过程;用流程图表示顺序结构的算法。
难点:理解循环结构执行过程;熟悉当型循环与直到型循环。
学习导航】
知识网络 学习要求
1.理解循环结构的执行过程。
2.了解如何在流程图表示循环结构。
3.理解当型循环与直到型循环在流程图上的区别,通过分析理解两种循环方式在执行过程上的区别。
课堂互动】自学评价。
1.问题北京获得了2024年的奥运会的主办权,你知道在申办奥运会的最后阶段时,国际奥委会是如何通过投票来决定主办权归属的吗?
对五个申报的城市进行表决的程序是:首先进行的第一轮投票,如果有哪一个城市得票超过半数,那么该城市将获得举办权,表决结束;如果所有的申报城市的票数都没有半数,则将得票最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止。
你能用一个算法来表达上述过程吗?
算法:s1:投票。
s2:统计票数,如果有一个城市的票数超过半数,那么该城市当选,获得主办权,转s3;否则,淘汰得票数最少的城市,转s1;
s3:宣布主办城市。
上述算法用流程图如下所示:
小结】 在该算法中,在主办城市没有出来之前,“投票并淘汰得票最少的城市”这一操作将会重复执行,直到有一个城市获半数以上的票。像这种需要重复执行同一操作的结构称为循环结构(cycle structure)。
注意】 粗体字部分是循环结束的条件,即直到该条件成立(或为“真”)时循环才结束。
用流程图可表示为(注意圆卷部分是循环结束的条件)。
2. 写出求值的一个算法。
算法一:s1 先求,得到;
s2 将s1得到的结果再乘,得到;
s3 将s2得到的结果再乘,得到;
s4 将s3得到的结果再乘,得到最后的结果。;
思考】如果一直乘到100,上述算法有何弊端,有通用性吗?
算法二:s1 设一个变量t←1;
s2 设另一个变量为i←2;
s3 t←t×i ;
s4 i←i+1 ;
s5 如果i不大于5,转s3,否则输出t,算法结束。
比较】 算法二与算法一相比有何优越性?
这个方法可以在条件限制中加入任意的值来,比如也可以用同样的程序来执行,只要修改一下限制条件即可。
流程图:思考】将算法二作如下修改,注意与算法二的区别。
算法三:s1 设一个变量t=1
s2 设另一个变量为i=2
s3 如果i不大于5,t←t×i ,执行s4,否则转到s5
s4 i←i+1,重复s3
s5 输出t
分析:在算法三中,执行s3、s4是有条件的,当i小于等于5时才可以。
流程图:上述循环结构用示意图表示为:
总结】图a中,循环体一直执行,直到条件成立时退出循环,这种循环称为直到型循环。图b中,当条件成立时循环体才执行,这种循环称为当型循环。
经典范例】例1 设计一个计算10个数的平均数的算法。
分析】我们用一个循环依次输入10个数,再用一个变量存放数的累加和,在求出10个数的总和后,除以10,就得到这10个数的平均数。
解】算法如下:
s1 s←0
s2 i←1
s3 输入g
s4 s←s+g
s5 i←i+1
s6 如果i不大于10,转s3
s7 a←s/10
s8 输出a
流程图:追踪训练】
1. 算法的三种基本结构是 ( a )
a . 顺序结构、选择结构、循环结构
b. 顺序结构、流程结构、循环结构。
c. 顺序结构、分支结构、流程结构
d. 流程结构、循环结构、分支结构。
2.有如下程序框图(如下图所示),则该程序框图表示的算法的功能是。
(将“=”换成“←”
解:求使成立的最小正整数n的值加2。
3.用代表第i个学生的学号,代表第i个学生的成绩(i=1,2,…,50),下图表示了一个什么样的算法?
解】输出学号在1到50号之间成绩大于等于80的学生的学号和成绩。
第4课时流程图(3)
分层训练。1、根据以下叙述内容,选择相应序号归类填写。
当条件成立时不再执行循环。
当条件不成立时不再执行循环。
循环的特点是先判断,后执行,可能一次也不执行循环。
循环的特点是先执行后判断,循环至少执行一次。
上述属于当型循环的是。
属于直到型循环的是。
2.下图给出的是计算的值的一个程序框图,其中判断框内应填入的条件是。
a.i>10 b.i<10 c.i>20 d.i<20
3.写出求(共有6个2)的值的一个算法,并画出流程图。
4、画出计算10!的一个算法的流程图。
思考运用。5. 设计一个流程图,求满足10【解】
循环结构练习
1 百鸡问题 用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?include include int main int cocks,hens,chicken for cocks 1 cocks 20 cocks for hens 1 hens 34 hens fo...
循环结构练习
include void main int i 0行a while i 1行 b cout 请回答以下问题 while循环的条件是 i 1循环体是 cout 若a行语句改为 int i 2 则c行执行 0 次。d行语句的执行和b行的条件成立与否不相关 相关 不相关 d行共执行 1 次。本程序的输出结...
循环结构练习
1 百鸡问题 用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?include include int main int cocks,hens,chicken for cocks 1 cocks 20 cocks for hens 1 hens 34 hens fo...