第一章 算法初步1.1.2 程序框图与算法的基本 逻辑结构(三)问题提出 1. 算法的基本逻辑结构有哪几种?用程序框图分别如何表示? 步骤 n步骤 n+1顺序结构条件结构满足条件?步骤 A步骤 B是否(1)满足条件?步骤 A是否(2)循环结构循环体满足条件?是否直到型循环体满足条件?是否当型 2. 在学习上,我们要求对实际问题能用自然语言设计一个算法,再根据算法的逻辑结构画出程序框图,同时,还要能够正确阅读、理解程序框图所描述的算法的含义,这需要我们对程序框图的画法有进一步的理解和认识 .知识探究(一):多重条件结构的程序框图思考 1: 解关于 x 的方程 ax+b=0 的算法步骤如何设计?第三步,判断 b 是否为 0. 若是,则输出“方程的解为任意实数”;否则,输出“方程无实数解” .第一步,输入实数 a , b.第二步,判断 a 是否为 0. 若是,执行第三步;否则,计算 ,并输出 x ,结束算法 .bxa= -思考 2: 该算法的程序框图如何表示? 开始输入 a , ba=0 ?是b=0 ?输出 x结束输出“方程的解为任意实数”是输 出 “ 方 程 无实数根”否否bxa= -开始输入 xx>1 ?输出 y结束x≥0 ?否是y=x+2是y=3x-1否y=1-x思考 3 :你能画出求分段函数 的值的程序框图吗?0,110,131,2xxxxxxy思考 1 :用“二分法”求方程 的近似解的算法如何设计? 220(0)xx知识探究(二):混合逻辑结构的程序框图第一步,令 f(x)=x2-2 ,给定精确度 d. 第二步,确定区间 [a , b] ,满足f(a)·f(b)<0. 第三步,取区间中点 . 2abm第四步,若 f(a)·f(m)<0 ,则含零点的区间为 [a ,m] ;否则,含零点的区间为 [m , b]. 将新得到的含零点的区间仍记为 [a , b]. 第五步,判断 [a , b] 的长度是否小于 d 或 f(m)是否等于 0. 若是,则 m 是方程的近似解;否则,返回第三步 . 思考 2: 该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图如何?f(x)=x2-2输入精确度 d和 初 始 值a , b2abm思考 3: 该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?f(a)f(m)<0?a=mb=m是否思考 4: 该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示?第三步第四步|a-b|