第4课时5.2 流程图
重点难点
重点:掌握循环结构的执行过程;用流程图表示顺序结构的算法。
难点:理解循环结构执行过程;熟悉当型循环与直到型循环。
【学习导航】
知识网络
学习要求
1.理解循环结构的执行过程
2.了解如何在流程图表示循环结构
3.理解当型循环与直到型循环在流程图上的区别,通过分析理解两种循环方式在执行过程上的区别。
【课堂互动】
自学评价
1.问题 北京获得了2008年的奥运会的主办权,你知道在申办奥运会的最后阶段时,国际奥委会是如何通过投票来决定主办权归属的吗?
对五个申报的城市进行表决的程序是:首先进行的第一轮投票,如果有哪一个城市得票超过半数,那么该城市将获得举办权,表决结束;如果所有的申报城市的票数都没有半数,则将得票最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止。
你能用一个算法来表达上述过程吗?
算法:
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 { 将T×i的结果仍放在变量T中 }
S4 i←i+1 {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个数的平均数。
【解】
【追踪训练】
1. 算法的三种基本结构是 ( )
A . 顺序结构、选择结构、循环结构
B. 顺序结构、流程结构、循环结构
C. 顺序结构、分支结构、流程结构
D. 流程结构、循环结构、分支结构
2.有如下程序框图(如下图所示),
则该程序框图表示的算法的功能是
(将“=”换成“←”)
3.用代表第i个学生的学号,代表第i个学生的成绩(i=1,2,…,50),下图表示了一个什么样的算法?
开始
投票
淘汰得票最少的城市
有一个城市的票数超过半数
结束
输出该城市
Y
N
当型循环
循环结构
直到型循环
Y
P
A
N
图A
开始
T←1
I←2
T←T×i
i←i+1
I>5
Y
N
输出T
结束
Y
开始
T←1
I←2
i←i+1
I≤5
N
输出T
结束
T←T×i
N
P
Y
图B
A
开始
I←1
G≥80
打印
Y
N
I←I+1
I>50
Y
N
结束