《112程序框图与算法的基本逻辑结构(2).ppt》由会员分享,可在线阅读,更多相关《112程序框图与算法的基本逻辑结构(2).ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1.2 1.1.2 程序框图与算法程序框图与算法 的基本逻辑结构(的基本逻辑结构(2 2) 复习回顾复习回顾程序框图程序框图顺序结构顺序结构条件结构条件结构基本的程序框和它们各自表示的功能如下基本的程序框和它们各自表示的功能如下: :图形符号图形符号名称名称功能功能终端框终端框( (起止框起止框) )表示一个算法的起始表示一个算法的起始和结束和结束输入、输输入、输出框出框表示一个算法输入和表示一个算法输入和输出的信息输出的信息处理框处理框( (执行框执行框) )判断某一条件是否成立判断某一条件是否成立, ,成立成立时在出口处标明时在出口处标明“是是”或或“Y”Y”;不;不”成立时标明成立时
2、标明“否否”或或“N”.N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分步骤步骤n步骤步骤n+1顺序结构顺序结构条件结构条件结构满足条件?满足条件?步骤步骤A步骤步骤B是是否否(1)(1)满足条件?满足条件?步骤步骤A是是否否(2)(2) 在一些算法中,从某处开始,按照一定条在一些算法中,从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循件,反复执行某一处理步骤的情况,这就是循环结构。反复执行的处理步骤称为循环体环结构。反复执行的处理步骤称为循环体。 在循环结构中,通常都有一个起到循在循环结构中,通常都有一个
3、起到循环计数作用的变量,这个变量的取值一般环计数作用的变量,这个变量的取值一般都含在执行或中止循环体的条件中。都含在执行或中止循环体的条件中。(3)循环结构)循环结构循环结构循环结构循环体循环体满足条件?满足条件?是是否否直到型直到型循环体循环体满足条件?满足条件?是是否否 当型当型例例 设计一个计算设计一个计算1+2+3+1001+2+3+100的值的算法,的值的算法,并画出程序框图。并画出程序框图。算法分析:算法分析:需要一个累加需要一个累加变量和一个计变量和一个计数变量,将累数变量,将累加变量的初始加变量的初始值设为值设为0 0,计,计数变量的值可数变量的值可以从以从1 1到到100.1
4、00.in否否是是经典问题的程序框图的画法欣赏一、多重条件结构的程序框图一、多重条件结构的程序框图思考思考1:1:解关于解关于x x的方程的方程ax+bax+b=0=0的算法步骤如何的算法步骤如何设计?设计?第三步,判断第三步,判断b b是否为是否为0.0.若是,则输出若是,则输出“方程的解方程的解为任意实数为任意实数”;否则,输出;否则,输出“方程无实数解方程无实数解”. .第一步,输入实数第一步,输入实数a a,b.b.第二步,判断第二步,判断a a是否为是否为0.0.若是,执行第三步;否则,若是,执行第三步;否则,计算计算 ,并输出,并输出x x,结束算法,结束算法. .bxa= -思考
5、思考2:2:该算法的程序框图如何表示?该算法的程序框图如何表示? 开始开始输入输入a,ba=0?是是b=0?输出输出x结束结束输出输出“方程的解为方程的解为任意实数任意实数”是是输出输出“方程无方程无实数根实数根”否否否否bxa= -思考思考3 3:画出求分段函数画出求分段函数的函数值的程序框图吗?的函数值的程序框图吗?开始开始输入输入xx1?输出输出y结束结束x0?否否是是y=x+2是是y=3x- -1否否y=1- -xy=x+23x- -11- -x(x1)(1x0)(x0)y=x+2思考思考1 1:用用“二分法二分法”求方程求方程 的近似的近似解的算法如何设计?解的算法如何设计? 220
6、(0)xx 二、混合逻辑结构的程序框图第一步,令第一步,令f(xf(x)=x)=x2 2-2-2,给定精确度,给定精确度d.d. 第二步,确定区间第二步,确定区间aa,bb,满足,满足f(a)f(bf(a)f(b) )0.0. 第三步,取区间中点第三步,取区间中点 . . 2abm第四步,若第四步,若f(a)f(mf(a)f(m)0)0,则含零点的区间为,则含零点的区间为a a,mm;否则,;否则,含零点的区间为含零点的区间为mm,b.b.将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为a a,b. b. 第五步,判断第五步,判断aa,bb的长度是否小于的长度是否小于d d或或f(mf
7、(m) )是否等于是否等于0.0.若是,则若是,则m m是方程的近似解;否则,返回第三步是方程的近似解;否则,返回第三步. . 思考思考2: 2: 该算法中第一个步的程序框图如何?该算法中第一个步的程序框图如何?f(x)=x2- -2输入精确度输入精确度d和初始值和初始值a,b2abm顺序结构顺序结构思考思考3:3:该算法中第四步是什么逻辑结构?这个该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?步骤用程序框图如何表示?a=mb=m是是否否f(a)f(m)0?条件结构条件结构思考思考4: 4:该算法中哪几个步骤构成循环结构?这个该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如
8、何表示?循环结构用程序框图如何表示? 第三步第三步第四步第四步|a- -b|d或或f(m)=0?输出输出m是是否否循环结构循环结构思考思考5:5:根据根据上述分析,上述分析,你能画出表你能画出表示整个算法示整个算法的程序框图的程序框图吗?吗?开始开始结束结束f(a)f(m)0?a=mb=m是是否否|a- -b|b?ac?是是x=a是是x=c否否bc?否否x=b是是x=c否否输出输出x结束结束课堂小结课堂小结设计一个算法的程序框图的基本思路第二步,确定每个算法步骤所包含的逻第二步,确定每个算法步骤所包含的逻 辑辑结构,并用相应的程序框图表示结构,并用相应的程序框图表示. .第一步,用自然语言表述算法步骤第一步,用自然语言表述算法步骤. .第三步,将所有步骤的程序框图用流程第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框线连接起来,并加上两个终端框. .作业作业: :