1、 第一章第一章 算法初步算法初步1.1 1.1 算法与程序框图算法与程序框图1.1.1 1.1.1 算法的概念算法的概念高中新课程数学必修高中新课程数学必修问题提出问题提出t57301p21.1.用计算机解二元一次方程组用计算机解二元一次方程组.exe2.2.在上述解二元一次方程组的过程中,在上述解二元一次方程组的过程中,计算机是按照一定的指令来工作的,其计算机是按照一定的指令来工作的,其中最基础的数学理论就是中最基础的数学理论就是算法算法,本节课,本节课我们就来学习我们就来学习:知识探究(一):算法的概念知识探究(一):算法的概念思考思考1:1:在初中,对于解二元一次方程组在初中,对于解二元
2、一次方程组你学过哪些方法?你学过哪些方法?思考2:用加减消元法解二元一次方程组 x-2y=-1 2x+y=1 的具体步骤是什么?加减消元法和代入消元法加减消元法和代入消元法思考思考2:2:用加减消元法解二元一次方程组用加减消元法解二元一次方程组 的具体步骤是什么?的具体步骤是什么?2121xyxy-=-+=+2 2,得,得 5x=1.5x=1.15x 15x 15x 解解,得,得 .15x -2 2,得,得 5y5y3 3.解解,得,得 .35y 第一步,第一步,第二步,第二步,第三步,第三步,第四步,第四步,第五步,第五步,得到方程组的解为得到方程组的解为 .1535xy=2121xyxy-
3、=-+=思考思考3:3:参照上述思路,一般地,解方程参照上述思路,一般地,解方程组组 的基的基本步骤是什么?本步骤是什么?111a xb yc222a xb yc1 22 10aba b()2b1b第一步第一步,-,得,得 .1 22 12 11 2()aba b xb cbc第二步第二步,解,解,得,得 .2 112122 1b cb cxa ba b 第三步第三步,-,得,得 .1a2a1 22 11 22 1()aba b ya ca c第四步第四步,解,解,得,得 .12211221a ca cya ba b第五步第五步,得到方程组的解为,得到方程组的解为 21121221122112
4、21b cb cxa ba ba ca cya ba b思考思考4:4:根据上述分析,用加减消元法解根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方行,这五个步骤就构成了解二元一次方程组的一个程组的一个“算法算法”.我们再根据这一算我们再根据这一算法编制计算机程序,就可以让计算机来法编制计算机程序,就可以让计算机来解二元一次方程组解二元一次方程组.那么解二元一次方程那么解二元一次方程组的组的算法算法包括哪些内容?包括哪些内容?思考思考5:5:一般地,算法是由一般地,算法是由按照一定规则按照一定规则解决某一类问题的
5、基本步骤组成的解决某一类问题的基本步骤组成的.你认为:你认为:(1)(1)这些步骤的个数是有限的还是无限这些步骤的个数是有限的还是无限 的?的?(2)(2)每个步骤是否有明确的计算任务?每个步骤是否有明确的计算任务?思考思考6:6:有人对哥德巴赫猜想有人对哥德巴赫猜想“任何大于任何大于4 4的的偶数都能写成两个质数之和偶数都能写成两个质数之和”设计了如下操设计了如下操作步骤:作步骤:第一步,检验第一步,检验6=3+36=3+3,第二步,检验第二步,检验8=3+58=3+5,第三步,检验第三步,检验10=5+510=5+5,利用计算机无穷地进行下去!利用计算机无穷地进行下去!请问:这是一个算法吗
6、?请问:这是一个算法吗?思考思考7:7:根据上述分析,你能归纳出根据上述分析,你能归纳出算法算法的概念吗?的概念吗?在数学中,按照一定规则解决某一在数学中,按照一定规则解决某一类问题的明确和有限的步骤类问题的明确和有限的步骤称为算法称为算法.知识探究(二)知识探究(二):算法的步骤设计算法的步骤设计思考思考1:1:如果让计算机判断如果让计算机判断7 7是否为质数,如是否为质数,如何设计算法步骤?何设计算法步骤?第一步第一步,用,用2 2除除7 7,得到余数,得到余数1,1,所以所以2 2不能整除不能整除7.7.第四步第四步,用,用5 5除除7 7,得到余数,得到余数2,2,所以所以5 5不能整
7、除不能整除7.7.第五步第五步,用,用6 6除除7 7,得到余数,得到余数1,1,所以所以6 6不能整除不能整除7.7.第二步第二步,用,用3 3除除7 7,得到余数,得到余数1,1,所以所以3 3不能整除不能整除7.7.第三步第三步,用,用4 4除除7 7,得到余数,得到余数3,3,所以所以4 4不能整除不能整除7.7.因此,因此,7 7是质数是质数.思考思考2:2:如果让计算机判断如果让计算机判断3535是否为质数,如是否为质数,如何设计算法步骤?何设计算法步骤?第一步第一步,用,用2 2除除3535,得到余数,得到余数1,1,所以所以2 2不能整除不能整除35.35.第二步第二步,用,用
8、3 3除除3535,得到余数,得到余数2,2,所以所以3 3不能整除不能整除35.35.第三步第三步,用,用4 4除除3535,得到余数,得到余数3,3,所以所以4 4不能整除不能整除35.35.第四步第四步,用,用5 5除除3535,得到余数,得到余数0,0,所以所以5 5能整除能整除35.35.因此,因此,3535不是质数不是质数.思考思考3:3:整数整数8989是否为质数?如果让计算是否为质数?如果让计算机判断机判断8989是否为质数,按照上述算法需是否为质数,按照上述算法需要设计多少个步骤?要设计多少个步骤?第一步第一步,用,用2 2除除8989,得到余数,得到余数1,1,所以所以2
9、2不能整除不能整除89.89.第二步第二步,用,用3 3除除8989,得到余数,得到余数2,2,所以所以3 3不能整除不能整除89.89.第三步第三步,用,用4 4除除8989,得到余数,得到余数1,1,所以所以4 4不能整除不能整除89.89.第八十七步第八十七步,用,用8888除除8989,得到余数,得到余数1,1,所以所以8888不能不能 整除整除89.89.因此,因此,8989是质数是质数.思考思考4:4:用用2 28888逐一去除逐一去除8989求余数,需要求余数,需要8787个个步骤,这些步骤基本是重复操作,我们可以步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减
10、少算法的步按下面的思路改进这个算法,减少算法的步骤骤.(1 1)用)用i i表示表示2 28888中的任意一个整数,并从中的任意一个整数,并从2 2开始取数;开始取数;(2 2)用)用i i除除8989,得到余数,得到余数r.r.若若r=0r=0,则,则8989不不是质数;若是质数;若r0r0,将,将i i用用i+1i+1替代,再执行同替代,再执行同样的操作;样的操作;(3 3)这个操作一直进行到)这个操作一直进行到i i取取8888为止为止.你能按照这个思路,设计一个你能按照这个思路,设计一个“判断判断8989是否是否为质数为质数”的算法步骤吗?的算法步骤吗?用用i i除除8989,得到余数
11、,得到余数r r;令令i=2i=2;若若r=0r=0,则,则8989不是质数,结束算不是质数,结束算法;若法;若r0r0,将,将i i用用i+1i+1替代;替代;判断判断“i i88”88”是否成立?若是,是否成立?若是,则则8989是质数,结束算法;否则,是质数,结束算法;否则,返回第二步返回第二步.第一步,第一步,第四步,第四步,第三步,第三步,第二步,第二步,算法设计算法设计:思考思考5:5:一般地,判断一个大于一般地,判断一个大于2 2的整数是否的整数是否为质数的算法步骤如何设计?为质数的算法步骤如何设计?第一步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,
12、令,令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)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.理论迁移理论迁移 例例 设函数设函数f(x)f(x)的图象是一条连续的图象是一条连续不断的曲线,写出用不断的曲线,写出用“二分法二分法”求方程求方
13、程 f(x)=0f(x)=0的一个近似解的算法的一个近似解的算法.第一步,第一步,取函数取函数f(x)f(x),给定精确度,给定精确度d.d.第二步,第二步,确定区间确定区间 a,bb,满足,满足f(f(a)f(b)f(b)0.0.第五步,第五步,判断判断 a,b,b的长度是否小于的长度是否小于d d或或f(m)f(m)是否等于是否等于0.0.若是,则若是,则m m是方程的近似解;是方程的近似解;否则,返回第三步否则,返回第三步.第三步,第三步,取区间中点取区间中点 .ma+b2第四步,第四步,若若f(f(a)f(m)f(m)2 2)是否为质数)是否为质数”的的算法步骤如何?算法步骤如何?第一
14、步第一步,给定一个大于,给定一个大于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)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.思考思考2:2:我们将上述算法用下面的图形表示:我们将上述算法用下面的
15、图形表示:开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否上述表示算法的图形称为算法的上述表示算法的图形称为算法的程序框程序框图图又称又称流程图流程图,其中的多边形叫做,其中的多边形叫做程序程序框框,带方向箭头的线叫做,带方向箭头的线叫做流程线流程线,你能,你能指出程序框图的含义吗?指出程序框图的含义吗?用程序框、流程线及文字说明来表示用程序框、流程线及文字说明来表示算法的图形算法的图形.思考思考3:3:在上述程序框图中,有在
16、上述程序框图中,有4 4种程序框,种程序框,2 2种流种流程线,它们分别有何特定的名称和功能?程线,它们分别有何特定的名称和功能?开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否输出输出“n是质数是质数”图形符号图形符号 名名 称称 功功 能能 终端框终端框 (起止框)(起止框)输入、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入
17、和输出的信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时在判断某一条件是否成立,成立时在出口处标明出口处标明“是是”或或“Y”Y”;不成立;不成立时标明时标明“否否”或或“N”N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序 思考思考4:4:在逻辑结构上,在逻辑结构上,“判断整数判断整数n n(n n2 2)是否)是否为质数为质数”的程序框图由几部分组成?的程序框图由几部分组成?开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结
18、束否否否否输出输出“n是质数是质数”知识探究(二):算法的顺序结构知识探究(二):算法的顺序结构思考思考1:1:任何一个算法各步骤之间都有明确的任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为次执行的步骤组成的逻辑结构,称为顺序结顺序结构构,用程序框图可以表示为:,用程序框图可以表示为:步骤步骤n步骤步骤n+1在顺序结构中可能在顺序结构中可能会用到哪几种程序会用到哪几种程序框和流程线?框和流程线??思考思考2:2:若一个三角形的三条边长分别为若一个三角形的三条边长分别为a a,b b,c c,令,令 ,
19、则三角形的面积,则三角形的面积 .你能利用这个公式你能利用这个公式设计一个计算三角形面积的算法步骤吗?设计一个计算三角形面积的算法步骤吗?2abcp+=()()()Sp papb pc=-()()()Sp papb pc=-第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长 a a,b b,c.c.第二步,计算第二步,计算 .2abcp+=第三步,计算第三步,计算 .()()()Sp pa pb pc=-第四步,输出第四步,输出S.S.思考思考3:3:上述算法的程序框图如何表示?上述算法的程序框图如何表示?开始开始结束结束输出输出S输入输入a,b,c2abcp+=()()()Sp p
20、a pb pc=-例例1 1 一个笼子里装有鸡和兔共一个笼子里装有鸡和兔共m m只,且只,且鸡和兔共鸡和兔共n n只脚,设计一个计算鸡和兔各有多只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示少只的算法,并画出程序框图表示.理论迁移理论迁移算法分析:算法分析:第一步,输入第一步,输入m m,n.n.第二步,计算鸡的只数第二步,计算鸡的只数 .42mnx-=第三步,计算兔的只数第三步,计算兔的只数y=m-x.y=m-x.第四步,输出第四步,输出x x,y.y.开始开始结束结束输出输出x,y输入输入m,n42mnx-=y y=m-xm-x程序框图:程序框图:例例2 2 已知下图是已知下
21、图是“求一个正奇数的平方求一个正奇数的平方加加5 5的值的值”的程序框图,若输出的数是的程序框图,若输出的数是3030,求,求输入的数输入的数n n的值的值.开始开始结束结束输入正整数输入正整数n输出输出yy=x2+5x=2n-1顺序结构的程序框图的基本特征:顺序结构的程序框图的基本特征:小结作业小结作业(2 2)各程序框从上到下用流程线依次)各程序框从上到下用流程线依次连接连接.(1 1)必须有两个起止框,穿插输入、输)必须有两个起止框,穿插输入、输出框和处理框,没有判断框出框和处理框,没有判断框.(3 3)处理框按计算机执行顺序沿流程线)处理框按计算机执行顺序沿流程线依次排列依次排列.作业
22、作业:P P2020习题习题1.1B1.1B组:组:1.1.1.1.2 1.1.2 程序框图与算法程序框图与算法 的基本逻辑结构的基本逻辑结构 第二课时第二课时问题提出问题提出 1.1.用程序框、流程线及文字说明来用程序框、流程线及文字说明来表示算法的图形称为表示算法的图形称为程序框图程序框图,它使算,它使算法步骤显得直观、清晰、简明法步骤显得直观、清晰、简明.其中程序其中程序框有哪几种基本图形?它们表示的功能框有哪几种基本图形?它们表示的功能分别如何?分别如何?终端框终端框 (起止框)(起止框)输入、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流程线流程线 2.2.顺序
23、结构顺序结构是任何一个算法都离不是任何一个算法都离不开的基本逻辑结构,在一些算法中,有开的基本逻辑结构,在一些算法中,有些步骤只有在一定条件下才会被执行,些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行,有些步骤在一定条件下会被重复执行,这需要我们对算法的逻辑结构作进一步这需要我们对算法的逻辑结构作进一步探究探究.知识探究(一):算法的条件结构知识探究(一):算法的条件结构思考思考1:1:在某些问题的算法中,有些步骤在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的只有在一定条件下才会被执行,算法的流程因条件是否成立而变化流程因条件是否成立而变化.在算法的程在算法
24、的程序框图中,由若干个在一定条件下才会序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为被执行的步骤组成的逻辑结构,称为条条件结构件结构,用程序框图可以表示为下面两,用程序框图可以表示为下面两种形式:种形式:满足条件?满足条件?步骤步骤A步骤步骤B是是否否满足条件?满足条件?步骤步骤A是是否否你如何理解这两种程序框图的共性你如何理解这两种程序框图的共性和个性?和个性?思考思考2:2:判断判断“以任意给定的以任意给定的3 3个正实数为个正实数为三条边边长的三角形是否存在三条边边长的三角形是否存在”的算法的算法步骤如何设计?步骤如何设计?第二步,判断第二步,判断a+bca+bc,b
25、+cab+ca,c+abc+ab是是否同时成立否同时成立.若是,则存在这样的三角若是,则存在这样的三角形;否则,不存在这样的三角形形;否则,不存在这样的三角形.第一步,输入三个正实数第一步,输入三个正实数a a,b b,c.c.思考思考3:3:你能画出这个算法的程序框图你能画出这个算法的程序框图吗?吗?开始开始输入输入a,b,ca+bc,b+ca,c+ab是否是否同时成立?同时成立?是是存在这样的三角形存在这样的三角形结束结束否否不存在这样的三角不存在这样的三角形形知识探究(二):算法的循环结构知识探究(二):算法的循环结构思考思考1:1:在算法的程序框图中,由按照一在算法的程序框图中,由按照
26、一定的条件反复执行的某些步骤组成的逻定的条件反复执行的某些步骤组成的逻辑结构,称为辑结构,称为循环结构循环结构,反复执行的步,反复执行的步骤称为骤称为循环体循环体,那么循环结构中一定包,那么循环结构中一定包含条件结构吗?含条件结构吗?思考思考2:2:某些循环结构用程序框图可以表某些循环结构用程序框图可以表示为:示为:循环体循环体满足条件?满足条件?是是否否 这种循环结构称为这种循环结构称为直到型循环结构直到型循环结构,你能指出直到型循环结构的特征吗?你能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.思考思考3:3:还
27、有一些循环结构用程序框图可还有一些循环结构用程序框图可以表示为:以表示为:循环体循环体满足条件?满足条件?是是否否这种循环结构称为这种循环结构称为当型循环结构当型循环结构,你能,你能指出当型循环结构的特征吗?指出当型循环结构的特征吗?在每次执行循在每次执行循环体前,对条环体前,对条件进行判断,件进行判断,如果条件满足,如果条件满足,就执行循环体,就执行循环体,否则终止循环否则终止循环.思考思考4:4:计算计算1+2+3+1001+2+3+100的值可按如下过程的值可按如下过程进行:进行:第第1 1步,步,0+1=1.0+1=1.第第2 2步,步,1+2=3.1+2=3.第第3 3步,步,3+3
28、=6.3+3=6.第第4 4步,步,6+4=10.6+4=10.第第100100步,步,4950+100=5050.4950+100=5050.我们用一个累加变量我们用一个累加变量S S表示每一步的计算表示每一步的计算结果,即把结果,即把S+iS+i的结果仍记为的结果仍记为S S,从而把第,从而把第i i步步表示为表示为S=S+iS=S+i,其中,其中S S的初始值为的初始值为0 0,i i依次取依次取1 1,2 2,100100,通过重复操作,上述问题的算,通过重复操作,上述问题的算法如何设计?法如何设计?第四步,判断第四步,判断i i100100是否成立是否成立.若是,若是,则输出则输出S
29、 S,结束算法;否则,返回第二,结束算法;否则,返回第二步步.第一步,令第一步,令i=1i=1,S=0.S=0.第二步,计算第二步,计算S+iS+i,仍用,仍用S S表示表示.第三步,计算第三步,计算i+1i+1,仍用,仍用i i表示表示.思考思考5:5:用直到型循环结构,上述算法的用直到型循环结构,上述算法的程序框图如何表示?程序框图如何表示?开始开始i=1i100?是是输出输出S结束结束S=0i=i+1S=S+i否否思考思考6:6:用当型循环结构,上述算法的程用当型循环结构,上述算法的程序框图如何表示?序框图如何表示?开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i
30、+1 例例 设计一个求解一元二次方程设计一个求解一元二次方程axax2 2+bx+c=0+bx+c=0的算法,并画出程序框图表示的算法,并画出程序框图表示.理论迁移理论迁移算法分析算法分析:第一步,输入三个系数第一步,输入三个系数a a,b b,c.c.第二步,计算第二步,计算=b=b2 2-4ac.-4ac.第三步,判断第三步,判断00是否成立是否成立.若是,则计若是,则计 算算 ;否则,输出;否则,输出“方方程没有程没有 实数根实数根”,结束算法,结束算法.,22bpqaa=-=V第四步,判断第四步,判断=0=0是否成立是否成立.若是,则输出若是,则输出 x x1 1=x=x2 2=p=p
31、,否则,计算,否则,计算x x1 1=p+q=p+q,x x2 2=p-q=p-q,并输出并输出x x1 1,x x2 2.程序框图程序框图:开始开始输入输入a,b,c=b2-4ac0?=0?否否x1=p+q输出输出x1,x2结束结束否否是是2bpa=-2qa=Vx2=p-q输出输出x1=x2=p是是输出输出“方程没有方程没有实数根实数根”(3 3)条件结构和循环结构的程序框图)条件结构和循环结构的程序框图各有两种形式,相互对立统一各有两种形式,相互对立统一.条件结构和循环结构的基本特征:条件结构和循环结构的基本特征:小结作业小结作业(1 1)程序框图中必须有两个起止框,)程序框图中必须有两个
32、起止框,穿插输入、输出框和处理框,一定有判穿插输入、输出框和处理框,一定有判断框断框.(2 2)循环结构中包含条件结构,条件结)循环结构中包含条件结构,条件结构中不含循环结构构中不含循环结构.作业:作业:P20P20习题习题1.1A1.1A组:组:2 2,3.3.1.1.2 1.1.2 程序框图与算法程序框图与算法 的基本逻辑结构的基本逻辑结构 第三课时第三课时问题提出问题提出 1.1.算法的基本逻辑结构有哪几种?算法的基本逻辑结构有哪几种?用程序框图分别如何表示?用程序框图分别如何表示?步骤步骤n步骤步骤n+1顺序结构顺序结构条件结构条件结构满足条件?满足条件?步骤步骤A步骤步骤B是是否否(
33、1)(1)满足条件?满足条件?步骤步骤A是是否否(2)(2)循环结构循环结构循环体循环体满足条件?满足条件?是是否否直到型直到型循环体循环体满足条件?满足条件?是是否否当型当型 2.2.在学习上,我们要求对实际问题在学习上,我们要求对实际问题能用自然语言设计一个算法,再根据算能用自然语言设计一个算法,再根据算法的逻辑结构画出程序框图,同时,还法的逻辑结构画出程序框图,同时,还要能够正确阅读、理解程序框图所描述要能够正确阅读、理解程序框图所描述的算法的含义,这需要我们对程序框图的算法的含义,这需要我们对程序框图的画法有进一步的理解和认识的画法有进一步的理解和认识.知识探究(一):多重条件结构的程
34、序框图知识探究(一):多重条件结构的程序框图思考思考1:1:解关于解关于x x的方程的方程ax+b=0ax+b=0的算法步骤的算法步骤如何设计?如何设计?第三步,判断第三步,判断b b是否为是否为0.0.若是,则输出若是,则输出“方程的解为任意实数方程的解为任意实数”;否则,输出;否则,输出“方程无实数解方程无实数解”.第一步,输入实数第一步,输入实数a a,b.b.第二步,判断第二步,判断a a是否为是否为0.0.若是,执行第三若是,执行第三步;否则,计算步;否则,计算 ,并输出,并输出x x,结束,结束算法算法.bxa=-思考思考2:2:该算法的程序框图如何表示?该算法的程序框图如何表示?
35、开始开始输入输入a,ba=0?是是b=0?输出输出x结束结束输出输出“方程的解为方程的解为任意实数任意实数”是是输出输出“方程无方程无实数根实数根”否否否否bxa=-思考3:你能画出求分段函数2,131,011,0 xxyxxx x+=-=-1?输出输出y结束结束x0?否否是是y=x+2是是y=3x-1否否y=1-x思考思考1 1:用用“二分法二分法”求方程求方程 的近似解的算法如何设计?的近似解的算法如何设计?220(0)xx 知识探究(二):混合逻辑结构的程序框图知识探究(二):混合逻辑结构的程序框图第一步,令第一步,令f(x)=xf(x)=x2 2-2-2,给定精确度,给定精确度d.d.
36、第二步,确定区间第二步,确定区间aa,bb,满足,满足f(a)f(b)f(a)f(b)0.0.第三步,取区间中点第三步,取区间中点 .2abm第四步,若第四步,若f(a)f(m)f(a)f(m)0 0,则含零点的区间为,则含零点的区间为aa,mm;否则,含零点的区间为;否则,含零点的区间为mm,b.b.将新得到的含将新得到的含零点的区间仍记为零点的区间仍记为aa,b.b.第五步,判断第五步,判断aa,bb的长度是否小于的长度是否小于d d或或f(m)f(m)是否是否等于等于0.0.若是,则若是,则m m是方程的近似解;否则,返回第是方程的近似解;否则,返回第三步三步.思考思考2:2:该算法中哪
37、几个步骤可以用顺序该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图结构来表示?这个顺序结构的程序框图如何?如何?f(x)=x2-2输入精确度输入精确度d和初始值和初始值a,b2abm思考思考3:3:该算法中第四步是什么逻辑结构?该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?这个步骤用程序框图如何表示?f(a)f(m)0?a=mb=m是是否否思考思考4:4:该算法中哪几个步骤构成循环结该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示?构?这个循环结构用程序框图如何表示?第三步第三步第四步第四步|a-b|d或或f(m)=0?输出输出m是是否否思考思考5:5:
38、根据上述分析,你能画出表示整个算根据上述分析,你能画出表示整个算法的程序框图吗?法的程序框图吗?开始开始结束结束f(a)f(m)0?a=mb=m是是否否|a-b|b?ac?是是x=a是是x=c否否bc?否否x=b是是x=c否否输出输出x结束结束小结作业小结作业设计一个算法的程序框图的基本思路:设计一个算法的程序框图的基本思路:第二步,确定每个算法步骤所包含的逻第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示辑结构,并用相应的程序框图表示.第一步,用自然语言表述算法步骤第一步,用自然语言表述算法步骤.第三步,将所有步骤的程序框图用流程第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框线连接起来,并加上两个终端框.作业:作业:P19P19练习练习(只要求画出算法的(只要求画出算法的 程序框图)程序框图).P20P20习题习题1.1B1.1B组:组:2.2.