《高中数学 1.1.2 程序框图与算法的基本逻辑结构课堂教学课件 新人教A版必修3》由会员分享,可在线阅读,更多相关《高中数学 1.1.2 程序框图与算法的基本逻辑结构课堂教学课件 新人教A版必修3(25页珍藏版)》请在金锄头文库上搜索。
1、第一章第一章 算法初步算法初步1.1.2 1.1.2 程序框图与算法的基本程序框图与算法的基本 逻辑结构逻辑结构判断“整数n(n2)是否是质数”的算法自然语言描述 第一步,给定大于2的整数n.第二步,令i=2.第三步,用第三步,用i i除除n n,得到余数,得到余数r.r. 第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示. 第五步,判断“i(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步. 从上节课我们知道:算法可以用自然语言来描述.如例开始开始输入输入ni=2求求n除以除以i的余数的余数ri的值增加的值增加1仍用仍用i表示表示in
2、-1或或r=0?n不是质数不是质数结束结束是是否否是是n是质数是质数否否r=0?设设n是一个大是一个大于于2的整数的整数.一般用一般用i=i+1表示表示. i=i+1说明说明:i表示从表示从2(n-1)的所有正整数的所有正整数,用以用以判断例判断例1步骤步骤2是否是否终止终止,i是一个计数变是一个计数变量量,有了这个变量有了这个变量,算算法才能依次执行法才能依次执行.逐逐步考察从步考察从2(n-1)的的所有正整数中是否有所有正整数中是否有n的因数存在的因数存在.思考?通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点?用程序框图表示的算法更加简练,直观,流向清楚.程序框
3、图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.通常,程序框图由程序框和流程线组成.一个或几个程序框的组合表示算法中的一个步骤;流程线是方向箭头,按照算法进行的顺序将程序框连接起来.基本的程序框和它们各自表示的功能如下:图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.判断框赋值、计算流程线连接程序框连接点连接程序框图的两部分开始输入ni=2求n除以i的余数ri=i+1 in-1或或r=0?n不是质数结束是否是n是质
4、数否r=0?顺序结构用程序框图来表示算法,有三种不同的基本逻辑结构:条件结构循环结构程序框图的三种基本的逻辑结构顺序结构条件结构循环结构(1)顺序结构-是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.例1:已知一个三角形的三边边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出算法的程序框图.算法分析:第一步:输入三角形的三边边长a,b,c,第二步:由海伦-秦九韶公式求出三角形的面积S.第三步:输出S的值.开始输出S结束输入a,b,c程序框图:(2)条件结构-在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结
5、构就是处理这种过程的结构.满足条件?是是否否步骤A步骤B满足条件?是是否否步骤A例2.任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法的程序框图.算法步骤如下第一步:输入 的值第二步:判断 , , 是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形. 开始输入是否同时成立?存在这样的三角形 结束不存在这样的三角形否是程序框图循环结构(3)循环结构-在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.反复执行的步骤称为循环体.满足条件?否循环体是循环结构分为两种-当型和直到型.当型循环在每次执行
6、循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体)直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足)是是循环体循环体满足条件?满足条件?否否Until(直到型)循环)循环循环结构分为两种-当型和直到型.循环体循环体满足条件?满足条件?是是否否While(当型)循环)循环注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.例3 某工厂2005年的年生产总值为200万,技术革新以后每年的年生产总值
7、比上一年增长5。设计一个程序框图,输出预计年生产总值超过300万元的最早年份。算法分析:第一步,输入2005年的年生产总值。第二步,计算下一年的年生产总值。第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步由于“第二步”是重复操作的步骤,所以可以用循环结构来实现。我们按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构。(2)初始化变量:若将2005年的年生产总值堪称计算的起始点,则n的初始值为2005,a的初始值为200.(3)设定循环控制条件:当“年生产总值超过300万元”时终止循环,所以可通过判断“a300”是否成立来控制循环。(1)确定循
8、环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为程序框图程序框图:开始开始n=2005a=200t=0.05an=n+1a300?是是输出输出n结束结束否否a=a+t 在学习上,我们要求对实际问题能用自然语言设计一个算法,再根据算法的逻辑结构画出程序框图,同时,还要能够正确阅读、理解程序框图所描述的算法的含义,这需要我们对程序框图的画法有进一步的理解和认识.下面,我们根据上节课讲到的用“二分法”求方程 的近似解的算法进行设计画出程序框图 该算法中“第一、二和三步”可以用顺序结构来表示,这个顺序结构的程序框图如图f(x)=x2- -2输入精确度输入精确度d和初始值和初
9、始值a,b 该算法中“第四步”用条件结构来表示?这个步 骤用程序框图表示如图f(a)f(m)0?b=m是是否否a=m 该算法中“第五步”包含一个条件结构,这个条件 结构与“第三步” “第四步”构成一个循环结构.这个循环结构用程序框图表示如图第三步第三步第四步第四步|a- -b|d或或f(m)=0?输出输出m是是否否将各个步骤的程序框图连接起来并画出开始与结束两个终端框,就得到了整个算法的程序框图f(x)=x2- -2输入精确度输入精确度d和初始值和初始值a,b开始开始f(a)f(m)0?b=m是是否否a=m|a- -b|d或或f(m)=0?输出输出m是是否否结束结束设计一个算法的程序框图的基本思路:第二步,确定每个算法步骤所包含的逻辑结构, 并用相应的程序框图表示.第一步,用自然语言表述算法步骤.第三步,将所有步骤的程序框图用流程线连接 起来,并加上两个终端框.掌握程序框图的画法.(记住要点)1.掌握程序框图的三种基本的逻辑结构 顺序结构、条件结构和循环结构 (注意各个结构的特点)小结