资源描述
流程图
在上一节,我们已经能够用自然语言来描述算法.用自然语言描述的算法,优点是可直接理解,缺点是语句一般太长,使原本较为简单的算法显得冗长.另外一点就是,所有的语句都是自然串行或线性排列的,对有分支或循环的算法,用自然语言描述则将显得不方便并不易清晰地表述出来,为此我们有必要改进算法的描述问题.著名数学家华罗庚先生曾说:“数缺形时少直观”、“数形结合百般好”.对了,图形——流程图——它在描述算法时将显得直观、清晰、易懂,而且便于检查、修改与交流.那什么是流程图,它有那些具体的规定,又如何使用它,学习了本节你将会有一个清晰而全面的了解,进而进一步提高学习算法的兴趣,乃至最后自己能够独立钻研、设计创造出一些优秀的算法.
学法建议
在研究函数时,我们借用图象——函数图象,解决了需用数学公式而表示的一些抽象的问题.那同样地,在研究算法中,我们借用图象——流程图,也能解决用自然语言表述算法时而带来的一些语句太长等的问题.因此,学好算法流程图的意义也是非同一般.在本节中,应了解常用流程图符号;能用流程图表示顺序、选择、循环这三种基本结构;能识别简单流程图所描述的算法;并在学习流程图描述算法过程中,发展有条理的思考与表达能力,提高逻辑思维能力,体会构造性的思想和方法.
一、知识网络
流程图
流程图的相关概念
顺序结构
流程图的三种基本结构
循环结构
选择结构
当型循环结构*
直到型循环结构
A
真
假
p
图5-2-1
特别提示 循环结构中的当型循环的内容,见教材P13页的《探究·拓展》题10(阅读题).所谓当型循环是指:当给定的条件p成立(“真”)时,反复执行A框操作,直到条件p为“假”时才停止循环,图形如图5-2-1所示.
二、知识归纳
1.流程图
流程图是由一些图框和带箭头的流线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,带箭头的流线表示操作的先后次序.
流程图直观、清晰、易懂,便于检查及修改.
2.流程图的三种基本结构
(1)顺序结构
A
B
图5-2-2
A
B
N
图5-2-3
Y
p
依次进行多个处理的结构称为顺序结构.如图5-2-2所示,虚线框内是一个顺序结构,其中A和B两个框是依次执行的.
顺序结构是一种最简单、最基本的结构.
(2)选择结构
先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构.选择结构也叫做分支结构.如图5-2-3所示,虚线框内是一个选择结构,它包含一个判断框,当条件p成立(或称为“真”)时执行A,否则执行B.
Y
A
N
p
图5-2-4
需注意的是,无论p条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框、B框都不执行.无论走哪一条路径,在执行完A或B之后,脱离本选择结构.A或B两个框中,可以有一个是空的,即不执行任何操作.
(3)循环结构
需要重复执行同一操作的结构称为循环结构.如图5-2-4就是常见的一种循环结构:先执行A框,再判断给定的条件p是否为“假”:若p为“假”,则再执行A,如此反复,真到p为“真”,该循环过程结束.这种结构属于直到型循环.至于循环结构中的当型循环内容则见上面“知识网络”下的“特别提示”部分.
直到型的循环结构,其功能是:先执行A框,然后判断给定的条件p是否成立.如果p不成立,则执行A框,然后再对条件p作判断:如果p仍不成立,又执行A,……如此反复执行A,直到给定的条件p成立为止.
当型循环结构,其功能是:当给定的条件p成立时,执行A框操作,执行完A后,再判断条件p是否成立:如果p仍成立,又执行A框,……如此反复执行A框,直到某一次p不成立为止.
直到型循环的特点是至少执行一次操作.而当事先不能确定是否至少执行一次循环的情况下,用当型循环较好.
某项工作没做好,有时必须从头开始,还没做好,再从头开始,直到做好为止.循环结构体现的就是在某条件下反复从头处理某步骤的情况.
三、图解重点
图形符号
名称
符号表示的意义
起、止框
流程图的开始或结束
输入、输出框
数据的输入或结果的输出
处理框
处理和运算
判断框
根据给定条件判断
流程线
流程进行的方向
四、要点诠释
1.画流程图的规则
①使用标准的框图符号;
②框图一般按从上到下、从左到右的方向画;
③除判断框,大多数流程图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一的符号;
④一种判断是“是”与“否”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,可有几种不同的结果;
⑤在图形符号内描述的语言要非常简练清楚.
2.三种基本逻辑结构的共同特点
①只有一个入口;
②一个菱形判断框有两个出口,而一个选择结构只有一个出口,不要将菱形框的出口和选择结构的出口混为一谈;
A
p
图5-2-5
A
B
图5-2-6
③结构内的每一部分都有机会被执行到.也就是说对每一个框(除结束框)来说都应当有一条从入口到出口的路径通过它.像图5-2-5中的A,没有一条从入口到出口的路径通过它,就是不符合要求的流程图;
④结构内不存在死循环,即无终止的循环.像图5-2-6就是一个死循环.在流程图中是不允许有死循环出现的;
三种基本结构的这些共同特点,也是检查一个流程图或算法是否正确、合理的方法和试金石.
潜能开发
开 始
输入x1,y1,x2,y2
d←
x0=,
输出d ,(x0,y0)
结 束
图5-2-7
[例1]已知两点A(x1,y1),B(x2,y2),求线段AB的长度d及中点P的坐标.试设计算法并画出流程图.
思路分析
可直接利用两点间的距离公式及中点坐标公式求距离与中点坐标.
[解答]算法如下:
S1 输入x1,y1,x2,y2;
S2 计算d=;
S3 计算x0=,;
S4 输出d ,(x0,y0).
流程图见图5-2-7.
开 始
输入x1,y1,x2,y2
输出
“斜率不存在”
输出k
结 束
x1=x2
Y N
图5-2-8
[例2]接上例,试求AB的斜率.试设计算法并画出流程图.
思路分析
本题与上题有什么不同呢?除
知识点外,还有什么区别吗?原来
过两点的斜率可能不存在,故本题
必须在输入数据后,首先进行判断.
[解答]算法如下:
S1 输入x1,y1,x2,y2;
S2 判断x1=x2?
若是,则输出“斜率不存在”,并结束;
若不是,则计算k=;
S3 输出斜率k.
开 始
输入(x1,y1)
输出d
结 束
I>5
图5-2-9
I=1
d←
Y
N
输出“线段AB、BC、CD、DE的长分别为”
a←x1,b←y1
I←I+1
输入(xI ,yI)
m←xI,n←yI
[例3]上述例1、例2的再深化.
给出5个不同点A、B、C、D、E的坐标,试计算长度AB、BC、CD、DE.试设计一个算法,并画出流程图.
流程图见图5-2-8.
思路分析
我们当然可以象例1那样,一步
一步地做下去,但过程比较繁琐,那
能不能改变流程图的结构形式而使得
算法比较简单呢?于是用循环结构.
[解答]不妨设A、B、C、D、E
的坐标分别为(xi,yi).算法为:
S1 输入(x1,y1);
S2 I=1;
S3 a←x1,b←y1;
S4 输出“AB、BC、CD、DE
的长分别为”;
S5 I←I+1;
S6 如果I>5,转S13;
S7 输入(xI ,yI);
S8 m←xI,n←yI;
S9 d←;
S10 输出d;
S11 a←m,b←n;
S12 转S5;
S13 结束.
[例4]通常说一年有365天,它表示地球围绕太阳转一周所需要的时间,但事实上并不是这样简单.根据天文资料,地球围绕太阳转一周所需要的精确时间是365.2422天,称之为天文年.这个误差看似不大,却引起季节和日历之间难以预料的大变动.在历法上规定四年一闰年,百年少一闰,第四百年又加一闰.如何判断一年是不是闰年呢?请设计一个算法,解决这个问题,并用流程图描述这个算法.
流程图见5-2-9所示.
思路分析
开 始
输入y
结 束
图5-2-10
Y
N
输出
“y是闰年”
4整除y
100整除y
Y
400整除y
Y
N
N
输出
“y不是闰年”
设y为年份,按照历法规定,如果y为闰年,那么或者y能被4整除而不能被100整除,或者y能被400整除.
[解答]算法如下:
S1 输入整数y;
S2 判断y能否被4整除.
若不能,则输出“y不是闰年”;
若能,则转S3;
S3 判断y能否被100整除.
若不能,则输出“y是闰年”;
若能,则转S4;
S4 判断y能否被400整除.
若不能,则输出“y不是闰年”;
若能,则输出“y是闰年”.
流程图见图5-2-10.
解题规律
本题的流程图属于顺序结构,执行时是从上到下依次进行的.在画流程图时,必须遵循:①图形符号所表示的特定含义,而不能随意创造符号;②在图形符号内所描述的语言必须非常简练清晰;③画框图时,一般应遵循从上到下、从左到右的方向进行;④必须要有输入与输出口,否则这样的算法与流程无意义;⑤除判断框,图形符号的出口与退口均为一个.
解题规律
本题的流程图属于选择结构,它要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.
在图5-2-8中,只能执行“输出‘斜率不存在’”与“计算k值”中的一个,不可能两个都执行.
本题中的判断也可写为x1≠x2,只不过是判断结果中的“Y”与“N”应交换一下.
解题规律
本题的流程图属于循环结构,且为直到型循环.
本题中a、b、m、n都是随着I而变化的量.譬如,随着运算的进行,a、b与m、n是按如下规则变化的:a=x1,b=y1,m=x2,n=y2;a=x2,b=y2,m=x3,n=y3;a=x3,b=y3,m=x4,n=y4;a=x4,b=y4,m=x5,n=y5;a=x5,b=y5.
直到型循环,它的特点是至少执行一次操作.而当事先不能确定是否至少执行一次循环的情况下,则用当型循环较好.直到型循环与当型循环可以互相转化.
从以上一组例题可看出,随着问题条件的适当变化,可用的结构类型也会起相应的变化.希望读者能很好地体会这一点.
信息处理
本例题的材料取自天文历法书.这类问题既是实际问题,又是应用问题,能对解题有用的信息也只是一部分.因此,此类问题决不能因其文字叙述较多,而产生放弃的想法与念头.
解决些类问题,首先必须读懂材料所反映的实质,并将内容抽象成算法问题,然后利用数学知识进行求解.
描述论证
本题中涉及到如何判断一个数整除另一个数的问题,这需要用到取整函数“int(x)”.
int(x)表示不超过x的最大整数,如int(2.3)=2,int(π)=3.
若=int(),则y能被4整除;若≠int(),则y不能被4整除.
体验探究
一、 科海拾贝
流程图与生活
流程图不是数学的专利.流程图具有直观、形象的特点,“一图胜万言”便是对图形作用最好的写照.利用流程图来表述某些问题,可省却许多繁琐的细节与不必要的叙述,并给人以醒目的提示与帮助作用.是的,流程图已融入到生活生产的各个方面并越来越得到广泛的应用,它给我们带来的方便已越来越明显.图5-2-11,是某招生办公室用来宣传招生报名考试程序的流程图;图5-2-12,是办理投资招商主要程序流程图.通过这些图,我们可清楚地知道要做些什么,必须做些什么,先做什么后做什么,都是那么的一目了然.由此,我们也可联想到,常见某些单位为了方便顾客而采取了一些便民措施,如接待咨询处,门诊接待处,洽谈问询处,等等,并配上相应的工作咨询人员.那我们就问,是否在这些地方可贴上一些醒目的流程图,并进而代替这些人工服务呢?这样既节省了一些人力资源,又方便了顾客,我们何乐而不为呢?我们必须把流程图融进我们的生活,并以此来服务指导我们的生活!
咨询考试事宜
是否是新考生
填写考生注册表
得到考生编号
是
否
出示考生编号
确定考试时间、科目
缴纳考试费
按规定时间参加考试
成绩是否合格
是
领取证书
否
结业或毕业
图5-2-11
签订投资协议(招商引资局)
审批项目执行书及可行性报告(发展计划局)
办理建设用地规划许可证(规划局)
办理用地手续(国土局)
办理建设项目规划许可证(规划局)
环保评估(环保局)
专项审批(卫生局、文广局、公安局等)
办理工商注册登记(工商局)
办理企业代码(技监局)
税务登记(国税、地税局)
结束
图5-2-12
框内内容可交叉进行
[例5] 写出(共7个2005)的值的一个算法,并画出流程图.
二、合作探究
师 请同学们给出分析与解答.
生1 可以采用逐步计算的办法,利用顺序结构画流程图.
其算法为(算法1):
开始
输出a7
结束
图5-2-13
开始
I←1
I←I+1
I>6?
输出m
结束
图5-2-14
是
否
S1 ;
S2 ;
S3 ;
S4 ;
S5 ;
S6 ;
S7 .
流程图见5-2-13.
生2 由于前后运算重复了多次相同的运算,故可采用循环结构.
其算法为(算法2):
S1 ;
S2 I←1;
S3 ;
S4 I←I+1;
S5 如果I>6,则输出m的值,转S6;否则,转S3;
S6 结束.
流程图见5-2-14.
师 以上两学生的解答都是正确的.当计算步骤较少时,生1的办法是可以的,但当计算步骤较多时,譬如达50步,那宜采用生2的算法了.应用本题的方法,你也可以计算求解下列问题:
试设计求的值的算法的程序框图.
展开阅读全文