
程序框图与顺序结构条件分支(上课用).ppt
28页程序框图与算法的基程序框图与算法的基本逻辑结构本逻辑结构一、复习回顾一、复习回顾1 1、算法的概念是什么?、算法的概念是什么?、算法的概念是什么?、算法的概念是什么? 在数学中,算法通常是按照一定规则解决某在数学中,算法通常是按照一定规则解决某在数学中,算法通常是按照一定规则解决某在数学中,算法通常是按照一定规则解决某一类问题的明确和有限的步骤现在,算法通常一类问题的明确和有限的步骤现在,算法通常一类问题的明确和有限的步骤现在,算法通常一类问题的明确和有限的步骤现在,算法通常可以编成计算机程序,让计算机执行并解决问题可以编成计算机程序,让计算机执行并解决问题可以编成计算机程序,让计算机执行并解决问题可以编成计算机程序,让计算机执行并解决问题2 2、自然语言表述一个算法有什么缺点?、自然语言表述一个算法有什么缺点?、自然语言表述一个算法有什么缺点?、自然语言表述一个算法有什么缺点? 我们可以用我们可以用自然语言自然语言表述一个算法,但表述一个算法,但往往往往过程复杂,缺乏简洁性过程复杂,缺乏简洁性 因此,我们有必要探究使算法表达因此,我们有必要探究使算法表达更加更加直观、准确直观、准确的方法。
的方法 这个方法是什么吗?这个方法是什么吗?二、讲授新课二、讲授新课1、程序框图、程序框图 程序框图又称流程图,是一种用程序程序框图又称流程图,是一种用程序框、流程线和文字说明来表示算法的图形框、流程线和文字说明来表示算法的图形 程序框程序框图是算法的一种表是算法的一种表现形式形式,,也就是也就是说,一个算法可以用,一个算法可以用算法的步算法的步骤表示,也可以用程序框表示,也可以用程序框图表示表示,所,所以,通常是先写出算法的步以,通常是先写出算法的步骤,然后,然后再再转化化为对应的程序框的程序框图构成程序框图的图形符号及其功能构成程序框图的图形符号及其功能图形符号图形符号名名 称称功能功能表示一个算法表示一个算法的起始与结束的起始与结束输入框入框输出框出框表示输入输出表示输入输出操作操作起止框起止框 一个完整的程序框一个完整的程序框图,,一定是一定是以起止框表示开始,以起止框表示开始,同同时又以又以起止框表示起止框表示结束处理框处理框(执行框执行框)赋值、计算赋值、计算判断框判断框 判断某一条件是判断某一条件是否成立,成立时在否成立,成立时在出口处标明出口处标明“是是”或或“Y”,不成立,不成立时标明时标明“否否”或或“N”。
流程线流程线流程进行的方流程进行的方向向连结点连结点连接另一页或另连接另一页或另一部分框图一部分框图““鸡兔兔同同笼””是是我我国国隋隋朝朝时期期的的数数学学著著作作《《孙子子算算经》》中中的的一一个个有有趣趣而而具具有有深深远影影响响的的题目目:“今今有有雉雉兔兔同同笼,上上有有三三十十五五头,下下有有九九十十四四足足,问雉雉兔兔各各几几何何.” 请你你设计一一个个这类问题的的通通用用算算法法.并画出算法的程序框并画出算法的程序框图.设有设有X 只鸡只鸡,Y 只兔只兔.则则解解: 鸡兔同笼鸡兔同笼,设鸡兔总头数为设鸡兔总头数为H ,总脚数为总脚数为F,求求鸡兔各有多少只鸡兔各有多少只.算法算法分析分析如下:如下: 解方程组解方程组,得得第一步第一步:输入总头数输入总头数H, 总脚数总脚数F;; 第二步第二步:计算鸡的个数计算鸡的个数 x=(4H-F)/2;;第三步第三步:计算兔的个数计算兔的个数 y=(F-2H)/2;; 第四步第四步:输出输出 x , y开始开始输出输出X,Y结束结束X=(4H-F)/2Y=(F-2H)/2输入输入H和和F解:用数学解:用数学语言言程序框程序框图第四步第四步:计算计算 ;试描述求点试描述求点(x0 , y0)到直线到直线Ax+By+C=0的距离的的距离的算法算法,并画出算法的程序框图并画出算法的程序框图.第一步第一步:输入输入x0,y0,A,B,C;第二步第二步:计算计算Z1=Ax0+By0+C;第三步第三步:计算计算Z2=A2+B2;第五步第五步:输出输出d.解:用数学解:用数学语言言开始开始输入输入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2 输出输出d结束结束程序框程序框图i=i+1i≥n或或r=0?否否是是求求n除以除以i的余数的余数输入输入ni=2n不是质数不是质数r=0?n是质数是质数是是否否 尽尽管管不不同同的的算算法法千千差差万万别,但但它它们都都是是由由三三种种基本的基本的逻辑结构构成的。
构构成的2、程序框图有以下三种不同的逻辑结构:、程序框图有以下三种不同的逻辑结构:顺序结构顺序结构条件分支结构条件分支结构循环结构循环结构 你能说出这三种基本逻辑结构你能说出这三种基本逻辑结构的特点吗?的特点吗?ØØ顺序结构是出现最多的基本结构,它可以顺序结构是出现最多的基本结构,它可以单独出现,也可以出现在条件结构和循环单独出现,也可以出现在条件结构和循环结构中没有判断框没有判断框ØØ条件结构的主要作用就是表示分类有判条件结构的主要作用就是表示分类有判断框ØØ循环结构中一定包含着条件结构,用以控循环结构中一定包含着条件结构,用以控制循环的进程,避免出现制循环的进程,避免出现“死循环死循环”有判断框顺序结构顺序结构1、含义:、含义:顺序结构顺序结构是由若干个依次执行的是由若干个依次执行的步骤组成,是最简单的算法结构,框与框之步骤组成,是最简单的算法结构,框与框之间从上到下进行任何算法都离不开顺序结间从上到下进行任何算法都离不开顺序结构2、框图表示、框图表示 步骤步骤n步骤步骤n+1例例1、已知一个三角形的三条边长分别为、已知一个三角形的三条边长分别为a,b,c,利用海伦公式,利用海伦公式——秦九韶公式设计一秦九韶公式设计一个计算三角形面积个计算三角形面积的算法,并画出程序的算法,并画出程序框图表示框图表示.算法分析:算法分析:第一步:输入三角形三条边长第一步:输入三角形三条边长a,b,c.第二步:计算第二步:计算第三步:计算第三步:计算第四步:输出第四步:输出S.程序框图:程序框图:结 束束开开 始始输入入a, b, c输出出s条件结构条件结构 在算法中,通在算法中,通过对某个条件的判断,根据某个条件的判断,根据条件是否成立条件是否成立选择不同流向的算法不同流向的算法结构称构称为条条件件结构。
构条件结构可以用程序框图表示为下面两种形式:条件结构可以用程序框图表示为下面两种形式:v满足条件足条件??v是是v否否v满足条件足条件??v是是v否否步骤步骤步骤步骤A A步骤步骤B步骤步骤A符合条件就符合条件就执行行A,否否则执行行B符合条件就符合条件就执行行A,否否则执行条件行条件结构后的步构后的步骤例例2、、任任意意给给定定3个个正正实实数数,设设计计一一个个算算法法,判判断断分分别别以以这这三三个个数数为为三三边边边边长长的的三三角角形形是是否否存存在在.画画出出这这个个算算法法的的程程序序框图框图.第一步:输入第一步:输入3个正实数个正实数a,b,c.第二步:判断第二步:判断a+b>c,b+c>a,a+c>b,是否同是否同时成立时成立.若是,则存在这样的三角形;否若是,则存在这样的三角形;否则不存在这样的三角形则不存在这样的三角形.程序框图:程序框图:结束结束开始开始输入输入 a,b,c存在存在这样的三角形的三角形a+ b>c, a+ c>b,b+ c>a是否同是否同时成立成立?不存在不存在这样的三角形的三角形是是否否例例3:设火车托运重量为:设火车托运重量为P(kg)行李时,每行李时,每千米的费用千米的费用(单位:元单位:元)标准为标准为画出行李托运费用的程序框图。
画出行李托运费用的程序框图解:先输入托运的重量解:先输入托运的重量P和里程和里程D,再分别,再分别用各自的条件下的计算公式来计算处理用各自的条件下的计算公式来计算处理 然后将结果与托运路程然后将结果与托运路程D相乘,最后输相乘,最后输出托运行李的费用出托运行李的费用M否否是是开始开始输入输入P、、DP>30Y=0.3×30+0.5(P--30)Y=0.3PM=D×Y输出输出M结束结束练习练习11.设计一个算法求任设计一个算法求任意实数的绝对值,并意实数的绝对值,并画出流程图.画出流程图. 输入x输入x输出y输出y是是否否开始开始结束结束 1、设计一个算法,根据输入的、设计一个算法,根据输入的x的值求函数的值求函数并画出流程图并画出流程图拓展提高拓展提高分析:分析:流程图为:流程图为:NY解:解: 算法:算法:2、已知函数,、已知函数,设计计算函数值设计计算函数值的一个算法的一个算法,并画并画出流程图出流程图. 开始开始结束结束拓展提高拓展提高1. 程序框图要输出给程序框图要输出给定两个实数定两个实数a,b中较中较小的数,则判断框应小的数,则判断框应填填__________. 输入输入a,b输出输出a否否开始开始结束结束输出输出b是是变式练习变式练习2、已知某个算法的流程图如下,该流程图的功、已知某个算法的流程图如下,该流程图的功能是:能是:变式练习变式练习NYNY输出a,b,c中的最小值3 3、写出下列程序框图的运行结果。
写出下列程序框图的运行结果已知函数已知函数 ,程序框图表示的是给出,程序框图表示的是给出x x值,值,求相应的函数值的算法将框图补充完整求相应的函数值的算法将框图补充完整其中其中①①处应填写处应填写 ;;②②处应填写处应填写 变式练习变式练习NY变式练习变式练习 4、已知下面的流程图能判断任意输入的数、已知下面的流程图能判断任意输入的数x的奇偶性,则判断框内的条件为:的奇偶性,则判断框内的条件为:小结:小结:1.画流程图的步骤:1.画流程图的步骤: 转化转化先用自然语言描述 流程图先用自然语言描述 流程图;;22..解解决决分分段段函函数数,,大大小小比比较较,,正正负负判判断断等问题时,需要用条件结构.等问题时,需要用条件结构.33..条条件件分分支支结结构构中中,,判判断断框框内内的的条条件件表表示示不不唯唯一一;;遇遇多多个个判判断断时时,,可可有有多多个个判判断断框.框.。












