1、第11章,算法初步,11.2.2 条件结构,学习目标 1.进一步熟悉程序框图的画法. 2.掌握条件结构的程序框图的画法. 3.能用条件结构框图描述实际问题.,1,预习导学 挑战自我,点点落实,2,课堂讲义 重点难点,个个击破,3,当堂检测 当堂训练,体验成功,知识链接 以下说法中,正确的有_. (1)方程ax10(a为常数)的根为 ; (2)平面上过两点P1(x1,y1),P2(x2,y2)的直线的斜率k;,答案 (3)(4),预习导引 1.条件结构 在一个算法中,先根据条件 作出判断,再决定执行哪一种操作,从而使算法流程产生不同流向的结构.,是否成立,2.常见的条件结构用程序框图表示为下面两
2、种形式,条件,要点一 简单条件结构的设计 例1 求过两点P1(x1,y1),P2(x2,y2)的直线的斜率.设计该问题的算法并画出程序框图. 解 算法如下: S1:输入x1,y1,x2,y2. S2:如果x1x2,输出“斜率不存在”;,S3:输出k. 程序框图如下图所示.,规律方法 1.已知两点求直线斜率,若条件中已知x1x2,则只用顺序结构即可解决问题;若无限制条件,必须分类讨论,应用条件结构解决问题. 2.程序框图中的判断框内的内容x1x2,也可改为x1x2,此时相应地与是、否相连的图框必须对换. 3.解决这类问题时,首先对问题设置的条件作出判断,设置好判断框内的条件,然后根据条件是否成立
3、选择不同的流向.,跟踪演练1 设计求一个数的绝对值的算法并画出程序框图. 解 算法如下: S1:输入实数x. S2:若x0,则yx;若x0,则yx. S3:输出y.,程序框图如下.,要点二 条件结构的嵌套 例2 设计一个求解一元二次方程ax2bxc0(a0)的算法,并画出程序框图. 解 算法步骤如下: S1:输入3个系数a,b,c. S2:计算b24ac. S3:判断0是否成立.若成立,则计算p ,q ;否则,输出“方程没有实数根”,结束算法.,S4:判断0是否成立.若成立,则输出 x1x2p;否则,计算x1pq,x2 pq,并输出x1,x2. 程序框图如右:,规律方法 1.当给出一个一元二次
4、方程时,必须先确定判别式的值,然后再根据判别式的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构. 2.解决分段函数求值问题一般采用条件结构来设计算法.对于判断具有两个以上条件的问题,往往需要用到条件结构的嵌套,这时要注意嵌套的次序.,解 算法如下: S1:输入x. S2:若x0,则y1;若x0,则y0;若x0,则y1. S3:输出函数值y.,程序框图如图所示.,要点三 条件结构的实际应用 例3 某居民区的物业管理部门每月向居民收取卫生费,计算方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出一人加收1.2元.设计一个算法,根据住户
5、的人数,计算应收取的卫生费,并画出程序框图.,这是一个分段函数求值问题,可用条件结构实现算法. 算法如下: S1:输入x. S2:若x3,则y5;否则,y51.2(x3). S3:输出y.,程序框图如图所示.,规律方法 与现实生活有关的题目经常需用到条件结构.解答时,首先根据题意写出函数表达式,然后设计成程序框图,解答此题的关键是写出函数解析式.,解 算法如下: S1:输入物品质量w、路程s; S2:若w30.那么f0.4300.5(w30);否则,f0.4w; S3:计算Msf; S4:输出M.,程序框图如图所示.,1.条件结构不同于顺序结构的特征是含有( ) A.处理框 B.判断框 C.输
6、入、输出框 D.起止框 解析 由于顺序结构中不含判断框,而条件结构中必须含有判断框,故选B.,B,1,2,3,4,5,2.如图所示的程序框图中,输入x2,则输出的结果是( ),A.1 B.2 C.3 D.4,1,2,3,4,5,答案 B,1,2,3,4,5,3.如图所示的程序框图,其功能是( ),1,2,3,4,5,A.输入a,b的值,按从小到大的顺序输出它们的值 B.输入a,b的值,按从大到小的顺序输出它们的值 C.求a,b的最大值 D.求a,b的最小值 解析 根据执行过程可知该程序框图的功能是输入a,b的值,输出它们的最大值,即求a,b的最大值. 答案 C,1,2,3,4,5,4.如图所示的程序框图中,当输入的数为3时,输出的结果为_.,1,2,3,4,5,解析 35, y3218. 答案 8,1,2,3,4,5,5.设计一个程序框图,使之能判断任意输入的整数x是奇数还是偶数. 解 程序框图如下.,1,2,3,4,5,课堂小结 1.条件结构是程序框图的重要组成部分.其特点是:先判断后执行. 2.在利用条件结构画程序框图时要注意两点:一是需要判断条件是什么,二是条件判断后分别对应着什么样的结果. 3.设计程序框图时,首先设计算法步骤,再转化为程序框图,待熟练后可以省略算法步骤直接画出程序框图.对于算法中分类讨论的步骤,通常设计成条件结构来解决.,