1、算法与程序框图算法与程序框图问题提出问题提出1.1.算法的含义是什么?算法的含义是什么?在数学中,按照一定规则解决某一在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法类问题的明确和有限的步骤称为算法.2.2.算法是由一系列明确和有限的计算步骤组算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的有必要探究使算法表达得更加直观、准确的方法,这个想法可以通过方法,这个想法可以通过程序框图程序框图来实现来实现.知识
2、探究(一):算法的程序框图知识探究(一):算法的程序框图思考思考1:1:“判断整数判断整数n n(n n2 2)是否为质数)是否为质数”的的算法步骤如何?算法步骤如何?第一步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0”r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i i(n-1)”(n-1)”是否成立,若
3、是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.思考思考2:2:我们将上述算法用下面的图形表示:我们将上述算法用下面的图形表示:开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否上述表示算法的图形称为算法的程序框上述表示算法的图形称为算法的程序框图又称流程图,其中的多边形叫做程序图又称流程图,其中的多边形叫做程序框,带方向箭头的线叫做流程线,你能框,带方向箭头的线叫做流程线,
4、你能指出程序框图的含义吗?指出程序框图的含义吗?用程序框、流程线及文字说明来表示用程序框、流程线及文字说明来表示算法的图形算法的图形.思考思考3:3:在上述程序框图中,有在上述程序框图中,有4 4种程序框,种程序框,2 2种流种流程线,它们分别有何特定的名称和功能?程线,它们分别有何特定的名称和功能?开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否输出输出“n是质数是质数”图形符号图形符号 名名 称称 功功 能能 终端框终端框 (起止框)(起止框)输入
5、、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入和输出的信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时在判断某一条件是否成立,成立时在出口处标明出口处标明“是是”或或“Y”Y”;不成立;不成立时标明时标明“否否”或或“N”N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序 思考思考4:4:在逻辑结构上,在逻辑结构上,“判断整数判断整数n n(n n2 2)是否)是否为质数为质数”的程序框图由几部分组成?的程序框图由几部分组成?开始开始r
6、=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否输出输出“n是质数是质数”知识探究(二):算法的顺序结构知识探究(二):算法的顺序结构思考思考1:1:任何一个算法各步骤之间都有明确的任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为次执行的步骤组成的逻辑结构,称为顺序结顺序结构构,用程序框图可以表示为:,用程序框图可以表示为:步骤步骤n步骤步骤n+1在顺序结构中可能在顺序结
7、构中可能会用到哪几种程序会用到哪几种程序框和流程线?框和流程线??()()()Spp a p b p c=-第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长 a a,b b,c.c.第四步,输出第四步,输出S.S.思考思考3 3:上述算法的程序框图如何表示?上述算法的程序框图如何表示?开始开始结束结束输出输出S输入输入a,b,c 例例1 1 一个笼子里装有鸡和兔共一个笼子里装有鸡和兔共m m只,且只,且鸡和兔共鸡和兔共n n只脚,设计一个计算鸡和兔各有多只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示少只的算法,并画出程序框图表示.理论迁移理论迁移算法分析:算法分析:第
8、一步,输入第一步,输入m m,n.n.第三步,计算兔的只数第三步,计算兔的只数y=y=m-x.m-x.第四步,输出第四步,输出x x,y.y.开始开始结束结束输出输出x,y输入输入m,ny y=m-xm-x程序框图:程序框图:例例2 2 已知下图是已知下图是“求一个正奇数的平方求一个正奇数的平方加加5 5的值的值”的程序框图,若输出的数是的程序框图,若输出的数是3030,求,求输入的数输入的数n n的值的值.开始开始结束结束输入正整数输入正整数n输出输出yy=x2+5x=2n-1顺序结构的程序框图的基本特征:顺序结构的程序框图的基本特征:小结作业小结作业(2 2)各程序框从上到下用流程线依次)各程序框从上到下用流程线依次连接连接.(1 1)必须有两个起止框,穿插输入、输)必须有两个起止框,穿插输入、输出框和处理框,没有判断框出框和处理框,没有判断框.(3 3)处理框按计算机执行顺序沿流程线)处理框按计算机执行顺序沿流程线依次排列依次排列.