您好,欢迎访问三七文档
1.2基本算法语句1.2.2条件语句第一章算法初步课前自主预习1.条件语句算法逻辑结构中的与算法语句中的条件语句相对应.2.条件语句的一般格式及功能类别单支双支条件结构框图□01条件结构1.判一判(正确的打“√”,错误的打“×”)(1)条件语句与程序框图中的循环结构相对应.()(2)条件语句中的单词“THEN”“ELSE”可以理解为“那么”“否则”的意思.()(3)条件语句是以IF开始,ENDIF结束,ENDIF不可缺少.()√×√2.做一做(1)下列关于IF语句的叙述正确的是()A.IF语句中必须有ELSE和ENDIFB.IF语句中可以没有ENDIFC.IF语句中可以没有ELSE,但必须以ENDIF结束D.IF语句中可以没有ENDIF,但必须有ELSE解析IF语句中的IF和ENDIF是成对出现的,但是ELSE可以没有,即满足条件执行,否则跳过IF语句.故选C.(2)条件语句的一般形式为:IFATHENBELSEC,其中B表示的是()A.满足条件时执行的内容B.条件语句C.条件D.不满足条件时,执行的内容解析IFATHENBELSEC表示如果条件A成立,则执行B步骤,否则执行C步骤.(3)给出以下四个问题:①输入一个数x,输出它的绝对值.②求表面积为6的正方体的体积.③求三个数a,b,c中的最小数.④求函数f(x)=x2+1,x≥0,2x-2,x<0的函数值.其中需要用条件语句来描述其算法的有________.解析②直接用顺序结构即可,不需用条件语句;而①需要判断这个数的正负;③需要判断这三个数的大小;④是分段函数求值问题,故需用到条件语句.①③④课堂互动探究探究1条件语句与条件结构例1(1)给出下面一个程序,请画出对应的程序框图,并说明该程序的作用.INPUTa,b,cIFabTHENa=bENDIFIFacTHENa=cENDIFPRINTaEND(2)根据下面的程序框图,写出程序.[解](1)该程序对应的程序框图如图.该程序的作用是求出a,b,c三个数中的最小值.(2)程序如下:INPUT“a,b=”;a,bIFa<bTHENx=aa=bb=xENDIFPRINTa,bEND拓展提升条件语句与条件结构的转化(1)根据条件结构写条件语句:①首先选择语句格式.当判断语句的两个出口都有语句执行时,采用“IF-THEN-ELSE”语句,当判断语句的两个出口语句只有一个语句执行时,采用“IF-THEN”语句.②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中(如果有的话)的内容,是ELSE后的语句体2.③最后应注意所用程序符合书写格式.(2)如果是由条件语句画条件结构,可相应变化.【跟踪训练1】求函数y=|x-4|+1的函数值,则①处应填________.INPUT“x=”;xIFx>=4THENy=x-3ELSEENDIFPRINTyENDy=5-x解析如果x<4,则y=4-x+1=5-x,故①处应填y=5-x.探究2条件语句的简单应用例2已知函数f(x)=x2-1,x≥0,2x2-5,x<0,编写一个程序,使输入的每一个x值都得到相应的函数值,并画出程序框图.[解]用变量x,y分别表示自变量和函数值.步骤如下:第一步,输入x值.第二步,若x≥0,则用解析式y=x2-1求函数值;否则,用y=2x2-5求函数值.第三步,输出y值.程序框图如图所示.程序如下:拓展提升解决根据条件语句写出运行结果的思路根据程序写运行结果,首先观察所给语句是IF-THEN-ENDIF型条件语句还是IF-THEN-ELSE-ENDIF型条件语句,再看输入的值是否符合条件,进而执行相应的步骤,也可转化为数学式子,再代入求值.【跟踪训练2】(1)给出下面程序:INPUTa,b,cM=aIFbMTHENM=bELSEIFcMTHENM=cENDIFENDIFPRINTMEND若输入a=4,b=2,c=-5,则输出的结果为()A.aB.2C.-5D.4(2)若输入8,则下列程序执行后输出的结果是_______.0.7解析(1)由程序可知,M=a=4,b=2,bM不成立,所以执行ELSE后的条件语句.又c=-5,cM不成立,所以直接输出M的值.(2)本题中的程序实际上解决的是求分段函数c=0.2,t≤3,0.2+0.1t-3,t>3在t=8时的函数值的问题.因为t=8>3,所以c=0.2+0.1×(8-3)=0.7.探究3条件语句的嵌套例3观察如图所示的程序框图.(1)说明该程序框图所表示的函数;(2)用程序描述该程序框图.[解](1)根据程序框图可知,该程序的作用是计算并输出分段函数y=1-2x,x-2,5,-2≤x≤2,2x+1,x2的值.故该程序框图所表示的函数为y=1-2x,x-2,5,-2≤x≤2,2x+1,x2.(2)程序语句如下:拓展提升条件语句嵌套的适用范围及解题步骤(1)适用范围已知分段函数的解析式求函数值的问题,须用条件语句书写程序,当条件的判断有两个以上的结果时,可以选择条件结构嵌套去解决.(2)解题步骤①构思出解决问题的一个算法(可用自然语言).②画出程序框图,形象直观地描述算法.③根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.【跟踪训练3】已知a,b,c三个实数中,有且只有一个负数,画出程序框图,设计一个程序,筛选出这个负数.解程序框图如图.程序如下:INPUT“a,b,c=”;a,b,cIFa<0THENPRINTaELSEIFb<0THENPRINTbELSEPRINTcENDIFENDIFEND探究4条件语句的实际应用例4到某银行办理个人异地汇款,银行收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费,写出汇款额为x元,银行收取手续费y元的程序.[解]由题意,知y=1,0<x≤100,0.01x,100<x≤5000,50,x>5000.程序如下:拓展提升解决实际应用问题,应先建立函数模型,由于对应函数为分段函数,可考虑用条件语句对算法进行描述.应用多个条件语句的嵌套时,要明确各种条件与相应语句之间的对应关系,一般先由程序框图直观地弄清这些关系之后再编写程序.【跟踪训练4】某商店对购货额为1000元以上(含1000元,下同)的实行八折优惠;500元以上1000元以下的实行九折优惠;200元以上500元以下的实行九五折优惠;200元以下的不优惠.请编写程序,要求输入购货额,计算优惠后货款,并输出该货款.解设x为购货额,y为应付款,则满足以下函数关系:y=0.8x,x≥1000,0.9x,500≤x1000,0.95x,200≤x500,x,x200.程序如下:1.使用条件语句时应注意的问题(1)条件语句是一个语句,IF,THEN,ELSE,ENDIF都是语句的一部分.(2)条件语句必须是以IF开始,以ENDIF结束,一个IF必须与一个ENDIF相对应.(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.(4)为了程序的可读性,一般IF、ELSE与ENDIF顶格书写,其他的语句体前面则空两格.2.条件语句的嵌套及一般形式在某些较为复杂的算法中,有时需要对按条件要求执行的某一语句(特别是ELSE后的语句体2)继续按照另一条件进行判断,这时可以再利用条件语句完成这一要求,这样就形成了条件语句的嵌套,其一般形式为:IF条件1THEN语句体1ELSEIF条件2THEN语句体2ELSE语句体3ENDIF内层条件语句ENDIF外层条件语句相应的程序框图为:注意:在应用条件结构的嵌套时,IF与ENDIF是由内层到外层相对应的,程序编写时要成对出现.3.条件语句中用到的表达式与数学表达式的对比运算符功能举例数学表达式小于abab=小于或等于a=ba≤b大于abab=大于或等于a=ba≥b=等于a=ba=b关系运算符不等于aba≠bAND且x5ANDx11x5OR或x0ORx3x0或x3逻辑运算符NOT非NOTxax≤a注意:逻辑运算符中,机器是按NOT、AND、OR的顺序执行的,必要时应加括号以确定其执行的顺序.随堂达标自测1.求下列函数的函数值的算法中需要用到条件语句的函数为()A.f(x)=log4(x2+1)B.y=x3-1C.f(x)=1,x≤2.5,-1,x2.5D.f(x)=2x解析分段函数求值时,需对输入的x值进行分情况讨论,要用到条件语句.2.阅读下面程序:INPUTxIFx<0THENx=-xENDIFPRINTxEND若输入x=5,则输出结果x为()A.-5B.5C.0D.不确定解析当x≥0时,不符合条件,执行ENDIF之后的语句,直接输出x的值,即为5.3.下面程序的算法功能是:判断任意输入的数x是不是正数,若是,则输出它的平方值;若不是,则输出它的相反数.INPUT“x=”;xIFTHENy=-xELSEy=x*xENDIFPRINT“y=”;yEND则横线处填入的条件应该是()A.x>0B.x<0C.x>=0D.x<=0解析条件成立时,执行y=-x;条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<=0,故选D.4.阅读下面的程序,若分别输入0,1,4,8,9,10,则输出的结果是()INPUT“x=”;xIFxMOD4=0THENPRINTxENDIFENDA.0,8B.4,8C.0,4,8D.0,1,4,8,9,10解析算法的功能是输入一个数,判断其能否被4整除,若能,则输出该数.在输入的数中,能被4整除的有0,4,8.5.读下面所给的程序,依据程序画出程序框图,并说明其功能:INPUTxIFx>1ORx<-1THENy=1ELSEy=0ENDIFPRINTyEND解程序框图如图:此程序表达的是一个分段函数,当-1≤x≤1时,输出y的值为0,否则(当x<-1或x>1时),输出y的值为1.
本文标题:2019-2020学年高中数学 第一章 算法初步 1.2 基本算法语句 1.2.2 条件语句课件 新
链接地址:https://www.777doc.com/doc-8285880 .html