第一章算法初步1.2基本算法语句1.2.2条件语句学习目标核心素养1.理解条件语句结构及其功能.(重点)2.会用条件语句编写程序.(难点)3.条件语句的两种形式.(易混点)1.通过条件语句的学习,培养逻辑推理素养.2.借助条件语句的编写及应用,培养数学建模素养.自主预习探新知条件语句的格式、功能及与条件结构的对应关系格式一格式二条件语句IF条件THEN_______ENDIFIF条件THEN__________ELSE__________ENDIF语句体语句体2语句体1语句功能首先对IF后的进行判断,如果(IF)条件符合,那么(THEN)执行,否则执行ENDIF之后的语句首先对IF后的进行判断,如果(IF)条件符合,那么(THEN)执行,否则(ELSE)执行对应条件结构框图语句体2条件语句体条件语句体1思考:一般什么问题需要用条件语句?使用条件语句的关键是什么?[提示]一般在分类处理问题时用条件语句,使用条件语句的关键是明确分类的标准和方法.1.条件语句对应的基本逻辑结构是()A.顺序结构B.条件结构C.循环结构D.以上都不正确B[条件语句对应的基本逻辑结构是条件结构.]2.下列说法中正确的是()A.ELSE后面的语句不可以是条件语句B.两个条件语句可以共用一个ENDIFC.条件语句的叠加中,每个条件语句都是一个独立的整体D.条件语句的嵌套中,对所有条件都要进行判断C[ELSE后面是一个语句体,当然可以是条件语句,所以A错.一个IF和一个ENDIF对应,不能共用,因此B错.程序在执行条件语句嵌套的过程中可能不对所有的条件都进行判断,只是对一部分条件进行判断,沿着一个分支执行下去,直到结束,故D错.]3.下面的程序要解决的问题是________.[答案]输出x的绝对值4.当a=3时,下面的程序段输出的结果是________.6[当a=3时,满足a10的条件,故执行y=2×a,即y=6.]合作探究释疑难条件语句与条件结构【例1】(1)根据下面的程序,填写程序框图.①________,②________,③________.(2)根据下面的程序框图,写出程序.[解](1)根据条件语句可知该语句为求分段函数y=2x-5,x≥525-2x,x52的函数值,所以三个空中分别填的内容为:①x≥52?,②y=2x-5,③y=5-2x.故填x≥52?y=2x-5y=5-2x(2)程序如下:条件语句与条件结构的转化1根据条件结构写条件语句:①首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF—THEN—ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF—THEN”语句.②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中如果有的话的内容,是ELSE后的语句体2.③最后应注意所用程序符合书写格式.2如果是由条件语句画条件结构,可相应变化.[跟进训练]1.(1)根据下面的程序框图写出程序语句.(2)根据下面的程序语句画出程序框图.[解](1)程序框图所实现的算法功能是:求任意一个实数a的立方的绝对值.程序如下:(2)条件语句的设计[探究问题]观察如图所示的内容:1.以上两种格式的条件语句有什么异同?[提示]相同点:都由IF开始,ENDIF结束.都对某一条件进行判断后执行相应的语句体.不同点:(1)中当满足条件时执行语句体,不满足条件时执行ENDIF后的语句;(2)中满足条件时执行THEN后的语句,不满足条件时执行ELSE后的语句.2.如果题目中有两个或两个以上的条件,该怎样设计条件语句?[提示]使用叠加式或嵌套式条件语句.【例2】已知分段函数y=-2x+1,x0,0,x=0,2x+1,x0,编写程序,输入自变量x的值,输出相应的函数值,并画出程序框图.思路点拨:(1)只作一次判断能解决本题吗?(2)你认为解决本题有哪些不同的方法?[解]法一:嵌套式:程序及程序框图如下.法二:叠加式:1.(变条件)已知y=2x-1,x≥1x2-2,x1,编写一个程序,输入x的值,得到相应的函数值,并画出程序框图.[解]程序框图如图所示:程序如下:2.(设问)参照本例的解决方法设计一个程序,输入学生的成绩S,根据该成绩的不同值进行以下输出:若S60,则输出“不及格”;若60≤S≤90,则输出“及格”;若S90,则输出“优秀”.[解]程序如下:条件语句的嵌套与叠加(1)在一些复杂的算法中,有时需要按要求进行判断后继续按照另一个要求进行判断,这时可以再利用一个条件语句进行判断,这就形成了条件语句的嵌套和叠加.(2)条件语句的嵌套一般格式与相应的程序框图如下:(3)条件语句的叠加一般格式与相应的程序框图如下:条件语句的实际应用【例3】某市对出租车的计费统一规定:如果行驶不超过2km,则收费5元(即起步价),若超过2km,则超出部分每1km加收1.8元(不足1km的,按1km计算).写出计算路费的程序.思路点拨:设路程为xkm,费用为y元,则y=5,0x≤2,5+x-2×1.8,x2且x∈N*,5+[x-2]+1×1.8,x2且x∈/N*,这是一个分段函数,可用条件语句设计程序.[解]程序框图如下:程序如下:用条件语句解决实际问题的步骤1构思出解决问题的一个算法;可用自然语言2画出程序框图,形象直观地描述算法;3根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.[跟进训练]2.到某银行办理跨行汇款,银行收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取手续费;超过5000元,一律收取50元手续费,画出描述汇款额为x元,银行收取手续费y元的程序框图,并写出相应的程序.[解]由题意,知y=1,0<x≤100,0.01x,100<x≤5000,50,x>5000.程序框图如图所示:程序如下:课堂小结提素养1.两种条件语句的区别与联系(1)区别:IF—THEN—ELSE语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体;而IF—THEN条件语句,只有一个语句体,是满足条件时执行的语句体.(2)联系:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以IF开始,以ENDIF结束.2.使用条件语句时应注意的问题(1)条件语句是一个语句,IF,THEN,ELSE,ENDIF都是语句的一部分.(2)条件语句必须是以IF开始,以ENDIF结束,一个IF必须与一个ENDIF相对应.(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.(4)为了程序的可读性,一般IF、ELSE与ENDIF顶格书写,其他的语句体前面则空两格.1.判断下列结论的正误(正确的打“√”,错误的打“×”)(1)条件语句的执行是按照程序中的先后顺序执行的.()(2)条件语句实现了程序框图中的条件结构.()(3)条件语句一定要完整,即IF—THEN—ELSE—ENDIF中每一部分都不能少.()[答案](1)√(2)√(3)×2.已知条件语句如下:则下列说法正确的是()A.条件成立时,先执行语句体1,再执行语句体2,最后结束条件语句B.条件不成立时,先执行语句体2,再执行语句体1,最后结束条件语句C.条件成立时,先执行语句体1,再结束条件语句D.条件成立时,先执行语句体2,再结束条件语句C[由条件语句的功能知C正确.]3.若输入8,则下列程序执行后输出的结果是________.0.7[本题是求分段函数c=0.2,t≤30.2+0.1t-0.1×3,t3在t=8时的函数值.所以c=0.2+0.1×8-0.1×3=0.7.]4.编写程序输出两个不相等的实数a,b中的较大数,并画出程序框图.[解]程序如下:程序框图如图所示.Thankyouforwatching!