1、1.1.2 程序框图与算法的基本逻辑结构第1课时 程序框图、顺序结构1.1.掌握程序框图的概念;掌握程序框图的概念;(重点)(重点)2.2.会用通用的图形符号表示算法,掌握算法的顺序结构;会用通用的图形符号表示算法,掌握算法的顺序结构;(重点)(重点)3.3.掌握画程序框图的基本规则,能正确画出程序框图掌握画程序框图的基本规则,能正确画出程序框图. .(难点)(难点)1.1.算法的概念是什么?算法的概念是什么? 在数学中,算法通常是指按照一定规则解决某一类在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤问题的明确和有限的步骤. . 2.2.算法是由一系列明确和有限的计算步骤组
2、成的,我们可算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性性. 因此,我们有必要探究能使算法表达得更加直观、准因此,我们有必要探究能使算法表达得更加直观、准确的方法,这个想法可以通过确的方法,这个想法可以通过程序框图程序框图来实现来实现. . 算法的程序框图算法的程序框图“判断整数判断整数n n(n2n2)是否为质数)是否为质数”的算法步骤的算法步骤第一步,第一步,给定一个大于给定一个大于2的整数的整数n; 第二步,第二步,令令i=2; 第三步,第三步,用用i 除除n,得到余数,得到余数r;
3、 第四步,第四步,判断判断“r=0”是否成立是否成立.若是,则若是,则n不是质数,结束算不是质数,结束算法;否则,将法;否则,将i的值增加的值增加1,仍用,仍用i表示;表示; 第五步,第五步,判断判断“i(n-1)”是否成立,若是是否成立,若是,则则n是质数,结束是质数,结束算法;否则,返回第三步算法;否则,返回第三步. 我们可以将上述算法用右边的图形表我们可以将上述算法用右边的图形表示示开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示是是是是结束结束否否否否in-1n-1或或r=0
4、r=0?上述表示算法的图形称为算法的上述表示算法的图形称为算法的程序框图,程序框图,又称又称流程流程图图,其中的多边形叫做,其中的多边形叫做程序框程序框,带方向箭头的线叫做,带方向箭头的线叫做流程流程线线,你能指出程序框图的含义吗?,你能指出程序框图的含义吗?用程序框、流程线及文字说明来表示算法的图形用程序框、流程线及文字说明来表示算法的图形. . 开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示in-1n-1或或r=0r=0?是是是是结束结束否否否否输出输出“n是质数是质数”思考思考1:1:在上述程序框图中
5、,有在上述程序框图中,有4 4种程序框,种程序框,2 2种流程线,它们分别有何种流程线,它们分别有何特定的名称和功能?特定的名称和功能? 开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示是是是是结束结束否否否否in-1n-1或或r=0r=0?终端框(起止框)终端框(起止框)终端框(起终端框(起止框)表示止框)表示一个算法的一个算法的起始和结束起始和结束.开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值
6、增加1,仍用,仍用i表示表示是是是是结束结束否否否否in-1n-1或或r=0r=0?输入、输出框输入、输出框输入、输出输入、输出框表示一个框表示一个算法输入和算法输入和输出的信息输出的信息开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示是是是是结束结束否否否否in-1n-1或或r=0r=0?处理框(执行框)处理框(执行框)处理框处理框(执行框)(执行框)赋值、计赋值、计算算开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入
7、输入ni的值增加的值增加1,仍用,仍用i表示表示是是是是结束结束否否否否in-1n-1或或r=0r=0?判断框判断框判断框判断框判断某一条件是否判断某一条件是否成立,成立时在出成立,成立时在出口处标明口处标明“是是”或或“Y”Y”;不成立时;不成立时标明标明“否否”或或“N”.N”.流程线流程线连接点连接点开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示是是是是结束结束否否否否in-1n-1或或r=0r=0?图形符号图形符号 名名 称称 功功 能能 终端框终端框 (起止框)(起止框)
8、 输入、输出框输入、输出框 处理框处理框 (执行框)(执行框) 判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的信息表示一个算法输入和输出的信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时判断某一条件是否成立,成立时在出口处标明在出口处标明“是是”或或“Y”Y”;不;不成立时标明成立时标明“否否”或或“N” N” 连接程序框连接程序框提升总结:基本的程序框、流程线及其功能提升总结:基本的程序框、流程线及其功能连接点连接点 连接程序框图的两部分连接程序框图的两部分思考思考2:2:在逻辑结构上,在逻辑结构上,“判断整数判断整数n n(n
9、2n2)是否为质数)是否为质数”的程序框图的程序框图由几种组成?由几种组成?循环结构循环结构顺序结构顺序结构条件结条件结构构开始开始输出输出“n不是质数不是质数”求求n除以除以i的余数的余数ri=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示是是是是结束结束否否否否输出输出“n是质数是质数”in-1n-1或或r=0r=0?r=0?步骤步骤n n步骤步骤n+1n+1算法的顺序结构算法的顺序结构任何一个算法各步骤之间都有明确的顺序性,在算法任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称
10、为称为顺序结构顺序结构. .顺序结构是任何一个算法都离不开的基本顺序结构是任何一个算法都离不开的基本结构,用程序框图可以表示为:结构,用程序框图可以表示为:例例1 1:已知一个三角形的三条边的:已知一个三角形的三条边的边边长分别为长分别为a a,b b,c c,令令 ,则三角形的面积,则三角形的面积你能利用这个公式设计一个计算三角形面积的算法步骤你能利用这个公式设计一个计算三角形面积的算法步骤吗?吗?第一步,第一步,输入三角形三条边的边长输入三角形三条边的边长a a,b b,c. c. 第二步,第二步,计算计算第三步,第三步,计算计算第四步,第四步,输出输出S. S. a+ b + cp =2
11、S=p(p-a)(p-b)(p-c).a+ b + cp =.2S= p(p- a)(p- b)(p- c) .上述算法的程序框图如何表示?上述算法的程序框图如何表示?开始开始结束结束输出输出S输入输入a,b,c2abcp+=()()()Sp pa pb pc=-程序框图程序框图f(x)=y=xf(x)=y=x2 2-2x-3.-2x-3.求求f(3)f(3)、f(-5)f(-5)、f(5),f(5),并计算并计算f(3)+f(3)+f(-5)+f(5)f(-5)+f(5)的值的值. .设计出解决该问题的一个算法,并画设计出解决该问题的一个算法,并画出程序框图出程序框图. .分析:分析:把把3
12、 3,-5-5,5 5依次代入求值,画程序框图用顺序结构依次代入求值,画程序框图用顺序结构即可即可. .算法如下:算法如下:第一步,令第一步,令x=3.x=3.第二步,把第二步,把x=3x=3代入代入y y1 1=x=x2 2-2x-3.-2x-3.第三步,令第三步,令x=-5.x=-5.第四步,把第四步,把x=-5x=-5代入代入y y2 2=x=x2 2-2x-3-2x-3第五步,令第五步,令x=5.x=5.第六步,把第六步,把x=5x=5代入代入y y3 3=x=x2 2-2x-3-2x-3第七步,把第七步,把y y1 1,y,y2 2,y,y3 3的值代入的值代入y=yy=y1 1+y
13、+y2 2+y+y3 3第八步,输出第八步,输出y y1 1,y,y2 2,y,y3 3,y,y的值的值. .该算法对应的程序框图如图所示:该算法对应的程序框图如图所示: 解:将解:将3 3,-5-5,5 5代入可求,代入可求,f(3)=3f(3)=32 2-2-23-3=03-3=0f(-5)=(-5)f(-5)=(-5)2 2-2-2(-5)-3=32,(-5)-3=32,f(5)=5f(5)=52 2-2-25-3=12,5-3=12,f(3)f(3)f(-5) f(-5) f(5)=0f(5)=0323212=44.12=44.1.1.给出一个问题,设计算法的步骤:给出一个问题,设计算
14、法的步骤:(1)(1)认真分析问题,联系解决此问题的一般数学方法认真分析问题,联系解决此问题的一般数学方法; ;(2)(2)综合考虑此类问题中可能涉及的各种情况综合考虑此类问题中可能涉及的各种情况; ;(3)(3)将解决问题的过程划分为若干个步骤将解决问题的过程划分为若干个步骤; ;(4)(4)用简练的语言将各个步骤表示出来用简练的语言将各个步骤表示出来. .提升总结提升总结2.2.画程序框图的规则:画程序框图的规则:(1)(1)使用标准的框图符号使用标准的框图符号; ;(2)(2)框图一般按从上到下、从左到右的方向画;框图一般按从上到下、从左到右的方向画;(3)(3)除判断框外,大多数程序框
15、图中的程序框只有一个除判断框外,大多数程序框图中的程序框只有一个进入点和一个退出点,判断框是具有超过一个退出点的进入点和一个退出点,判断框是具有超过一个退出点的惟一符号;惟一符号;(4)(4)在图形符号内描述的语言要非常简练清楚在图形符号内描述的语言要非常简练清楚. .1 1对顺序结构,下列说法:对顺序结构,下列说法:是最基本、最简单的算法结构;是最基本、最简单的算法结构;框与框之间是依次进行处理框与框之间是依次进行处理的的;除输入、输出框之外,中间过程都是处理框;除输入、输出框之外,中间过程都是处理框;可以从一个框图跳到另一个框图执行;可以从一个框图跳到另一个框图执行;其中正确的有其中正确的
16、有 ( )( )(A)4(A)4个个 (B)3(B)3个个 (C)2(C)2个个 (D)1(D)1个个B B2.2.在程序框图中,从一个步骤到另一个步骤的连接用在程序框图中,从一个步骤到另一个步骤的连接用( )( )(A)(A)连接点连接点 (B)(B)判断框判断框(C)(C)流程线流程线 (D)(D)处理框处理框【解析解析】带有方向箭头的流程线将程序框连接起来带有方向箭头的流程线将程序框连接起来. .C3 3算法共有三种逻辑结构,即顺序结构、条件结构、算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是循环结构,下列说法正确的是( )( )(A)(A)一个算法只能含有一种逻
17、辑结构一个算法只能含有一种逻辑结构 (B)(B)一个算法最多可以包含两种逻辑结构一个算法最多可以包含两种逻辑结构(C)(C)一个算法必须含有上述三种逻辑结构一个算法必须含有上述三种逻辑结构(D)(D)一个算法一定含有顺序结构一个算法一定含有顺序结构【解析解析】由算法的意义可知任何算法中一定含有顺序由算法的意义可知任何算法中一定含有顺序结构结构. .D4 4下面的程序框图虚线框表示的结构是下面的程序框图虚线框表示的结构是 . . 顺序结构顺序结构开开 始始a=2b输出输出 a结结 束束b = =输入输入 RR25 5一个笼子里装有鸡和兔共一个笼子里装有鸡和兔共m m只,且鸡和兔共只,且鸡和兔共n
18、 n只脚,设只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表计一个计算鸡和兔各有多少只的算法,并画出程序框图表示示. .算法分析:算法分析: 第一步,第一步,输入输入m m,n.n.第二步,第二步,计算鸡的只数计算鸡的只数第三步,第三步,计算兔的只数计算兔的只数y=m-x.y=m-x.第四步,第四步,输出输出x x,y.y.4m -nx=.2开始开始结束结束输出输出x,y输入输入m,n42mnx-=y= m-x程序框图:程序框图: 顺序结构的程序框图的基本特征:顺序结构的程序框图的基本特征:(2 2)各程序框从上到下用流程线依次连接)各程序框从上到下用流程线依次连接. .(1 1)必须有两个起止框,穿插输入、输出框和处)必须有两个起止框,穿插输入、输出框和处理框,没有判断框理框,没有判断框. .(3 3)处理框按计算机执行顺序沿流程线依次排列)处理框按计算机执行顺序沿流程线依次排列. .