1、1.1.2 程序框图与算法 的基本逻辑结构,第一课时,问题提出,1.算法的含义是什么?,在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.,2.算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通过程序框图来实现.,知识探究(一):算法的程序框图,“判断整数n(n2)是否为质数”的算法步骤,第一步,给定一个大于2的整数n;,第二步,令i=2;,第三步,用i除n,得到余数r;,第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍
2、用i表示;,第五步,判断“i(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.,我们可以将上述算法用下面的图形表示:,上述表示算法的图形称为算法的程序框图又称流程图,其中的多边形叫做程序框,带方向箭头的线叫做流程线,你能指出程序框图的含义吗?,用程序框、流程线及文字说明来表示算法的图形.,思考1:在上述程序框图中,有4种程序框,2种流程线,它们分别有何特定的名称和功能?,终端框 (起止框),输入、输出框,处理框 (执行框),判断框,流程线,表示一个算法的起始和结束,表示一个算法输入和输出的信息,赋值、计算,判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标
3、明“否”或“N”,连接程序框,表示算法步骤的执行顺序,思考2:在逻辑结构上,“判断整数n(n2)是否为质数”的程序框图由几部分组成?,知识探究(二):算法的顺序结构,任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:,例3:若一个三角形的三条边长分别为a,b,c,令 ,则三角形的面积.你能利用这个公式设计一个计算三角形面积的算法步骤吗?,第一步,输入三角形三条边的边长 a,b,c.,第二步,计算 .,第三步,计算 .,第四步,输出S.,上述算法的程序框图如何表示?,知识探究(三):算法的条件结构,在某些问题的算
4、法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:,你如何理解这两种程序框图的共性和个性?,例4:判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?,第二步,判断a+bc,b+ca,c+ab是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.,第一步,输入三个正实数a,b,c.,你能画出这个算法的程序框图吗?,设计一个求解一元二次方程ax2+bx+c =0的算法,并画出程序框图。,例5:,算法步骤如下:,算法步骤: 第一步,输入a,b,c 第二步,计算判别式=b24ac. 第三步,判断0是否成立.若是,则计算p,q的值. 否则,输出“方程没有实数根”,结束算法. 第四步,判断0是否成立. 若是,则输出 否则,计算两根并输出.,.,开 始,输入a,b,c,=b24ac,x1=p+q x2=p-q,0?,0?,输出x1,x2,输出p,方程无实数根,结 束,是,否,是,否,程序框图,例5程序框图为,