1、第四章 框图4.1 流程图流程图 框图框图流程图流程图(动态)(动态)结构图结构图(静态)(静态)框图的分类框图的分类 流程图事实上是将自然语言转化为算法流程图事实上是将自然语言转化为算法的一种的一种过渡形式过渡形式,一般需要将每个算法的步,一般需要将每个算法的步骤分解为若干输入、输出、条件结构、循环骤分解为若干输入、输出、条件结构、循环结构等基本单元,再根据各个单元之间的结构等基本单元,再根据各个单元之间的逻逻辑关系辑关系,用流程线将它们连接起来,下面我,用流程线将它们连接起来,下面我们来用用实例说明这个问题。们来用用实例说明这个问题。图形符号图形符号 名名 称称 功功 能能 终端框终端框
2、(起止框)(起止框)输入、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入和输出的信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时在判断某一条件是否成立,成立时在出口处标明出口处标明“是是”或或“Y”Y”;不成立;不成立时标明时标明“否否”或或“N”N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序 程序框图的三种结构:程序框图的三种结构:(1)画出交换两种变量的值的程序框)画出交换两种变量的值的程序框图图.(2)写出判断某个整数是奇数还是
3、偶)写出判断某个整数是奇数还是偶数的程序框图。数的程序框图。(3)画出)画出1+2+3+49+50的程序框的程序框图图用用“二分法二分法”求方程求方程 的近似解的程序框图的近似解的程序框图开始开始结束结束f(a)f(m)0?a=mb=m是是否否|a-b|x B.xc C.cb D.bc是是否否开始开始输入输入a,b,cx=abx输出输出x结束结束x=bx=c否否是是例例.读下面的流程图,若输入的值读下面的流程图,若输入的值为为-5时,输出的结果为(时,输出的结果为().开始开始输入输入AA0A=A+2输出输出A结束结束A=2ANY开始开始输入输入AA0A=A-2输出输出A结束结束A=2AYN若
4、流程图改为下图,结果如何?若流程图改为下图,结果如何?例例.按如下的流程图操作,将得到怎样按如下的流程图操作,将得到怎样的数集?的数集?开始开始写下写下1写下结果写下结果你已写下了你已写下了5个数吗?个数吗?结束结束NY加加2对这个刚写下的数对这个刚写下的数加上一个比前面加加上一个比前面加过的那个数大过的那个数大1的数的数变变1:把例:把例2的流程图改为下图,将得的流程图改为下图,将得到怎样的数集?到怎样的数集?开始开始写下写下1写下结果写下结果你已写下了你已写下了5个数吗?个数吗?结束结束NY加加2变变2:把例:把例2的流程图改为下图,将得的流程图改为下图,将得到怎样的数集?到怎样的数集?开
5、始开始写下写下1写下结果写下结果你加你加2已加已加了了5次吗?次吗?结束结束NY加加2变变3:把例:把例2的流程图改为下图,将得的流程图改为下图,将得到怎样的数集?到怎样的数集?开始开始写下写下1写下结果写下结果你加你加2已加已加了了5次吗?次吗?结束结束NY加加2例例.阅读流程图:阅读流程图:某银行推出了某银行推出了95599电话银行代缴费业务,具体业务流程如下:电话银行代缴费业务,具体业务流程如下:拨通拨通95599电话电话注册客户服务请按注册客户服务请按1代缴费请按代缴费请按5代缴公代缴公用事业用事业费按费按 1手机充手机充值缴费值缴费按按 2水费水费按按1电费电费按按2煤气煤气按按3固
6、定固定电话电话按按4移动移动电话电话按按5手机手机充值充值按按1实时实时查询查询缴费缴费按按2实时实时帐单帐单缴费缴费按按3问题:交电费应怎样问题:交电费应怎样操作?手机充值呢?操作?手机充值呢?例例.1.1.右面流程图的功能右面流程图的功能是是 ,2.按照该流程图操作后输出按照该流程图操作后输出的结果是的结果是 ;3.若将流程图菱形框中条件若将流程图菱形框中条件改为改为 ,则操作后输出则操作后输出的结果为的结果为 ;4.若使最后输出的结果为若使最后输出的结果为720,则菱形框中的应改为则菱形框中的应改为 .流程图流程图(一个起点)(一个起点)程序框图程序框图(一个终点)(一个终点)其他流程图
7、其他流程图(一个或多个终点)(一个或多个终点)画程序框图画程序框图程序框图与算程序框图与算法步骤的比较法步骤的比较生活、工业生产生活、工业生产中的流程图中的流程图数学中的数学中的流程图流程图图书借阅流程图图书借阅流程图诊病流程图诊病流程图画流程图画流程图(单流程、双流程)(单流程、双流程)读流程图读流程图(工序流程图)工序流程图)证明方法证明方法解题思路解题思路例例1:写出求半径为:写出求半径为10的圆的面积的的圆的面积的一个算法,并画出流程图一个算法,并画出流程图S1 ;S2 ;S3 输出输出 ;开始开始结束结束数学运用数学运用开始i=1S=0i=i+1S=S+(-1)i-1*ii=100?
8、输出S结束否是课本课本72页页1:绘制流程图的一般过程:绘制流程图的一般过程:(1 1)用)用自然语言描述自然语言描述流程步骤;流程步骤;(2 2)分析每一步骤分析每一步骤是否可以是否可以直接表达直接表达,或或需需要要借助借助于于逻辑结构逻辑结构来表达来表达(“细化细化”流程流程骤骤)(3 3)分析各步骤之间的关系;)分析各步骤之间的关系;(4 4)画出流程图表示整个流程。)画出流程图表示整个流程。小结:小结:练习:1.过河问题:假设有条小船只能乘载一个大人或两个小孩,三个人都会划船,用什么办法可以使三个人都渡过河去,画出流程图。思考:1.如果有两个大人,两个小孩该怎么办2.如果有多个大人,两个小孩该怎么办3.如果有多个大人,多个小孩子,怎么办