1.2.2条件语句
- 格式:ppt
- 大小:362.50 KB
- 文档页数:17
1.2.2 条件语句1.理解条件语句.(重点))2.能够用条件语句编写条件分支结构的程序.(难点[基础·初探]教材整理条件语句的概念、格式及功能阅读教材P20“最后一段”~P21,完成下列问题.1.条件语句的概念:处理条件分支逻辑结构的算法语句,叫做条件语句.2.Scilab语言中的条件语句的格式及功能:1.判断(正确的打“√”,错误的打“×”)(1)条件语句的执行是按照程序中的先后顺序执行的.()(2)条件语句实现了程序框图中的条件分支结构.()(3)条件语句一定要完整,即if—else—end中每一部分都不能少.()【答案】(1)×(2)√(3)×2.当输入x=-3.2时,程序输出的结果为()A.-3.2B.3.2C.3D.-3【解析】∵x=-3.2<0,∴把-(-3.2)=3.2赋给x,故输出3.2.【答案】 B[小组合作型]【精彩点拨】根据条件语句最简单格式可解决.【尝试解答】程序如下:计算机执行条件语句的最简单格式时,若表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1,执行下面的语句.[再练一题]1.编写程序,输入两个实数,由小到大输出这两个数. 【解】 程序如下:编写程序计算:y =⎩⎨⎧1, x ≥0,-1, x <0.【精彩点拨】 以x ≥0是否成立作为条件判断,利用条件语句的一般格式. 【尝试解答】 程序如下:if —else —end 格式的条件语句中,计算机执行这种格式的条件语句时,若表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,执行else 后面的语句序列2,然后结束这一条件语句.[再练一题]2.已知函数f (x )=⎩⎨⎧x 2-1(x ≥0),2x 2-5(x <0),编写一个程序,使输入的每一个x 值都得到相应的函数值.【解】 用变量x ,y 分别表示自变量和函数值.步骤如下: S1输入x 值.S2判断x 的范围.若x ≥0,则用解析式y =x 2-1求函数值;否则,用y =2x 2-5求函数值.S3输出y 值. 程序框图如图所示.程序如下:已知分段函数y =⎩⎨⎧-x +1,x <0,0,x =0,x +1,x >0,编写程序,要求输入自变量x的值,输出相应的函数值,并画出程序框图.【精彩点拨】 输入自变量x 的值需要作两次判断,因此需要利用条件语句的嵌套格式编写程序.【尝试解答】 程序框图如图所示:程序如下:1.适用范围:已知分段函数的解析式求函数值的问题,须用条件语句书写程序,当条件的判断有两个以上的结果时,可以选择条件分支结构嵌套去解决.2.解此类问题的步骤:(1)构思出解决问题的一个算法(可用自然语言); (2)画出程序框图,形象直观地描述算法;(3)根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.[再练一题]3.已知函数f (x )=⎩⎨⎧2x 2-1, x >0,2x +1, x =0,-2x 2+4, x <0,试编写程序,根据输入的x 值输出对应的y 值.【导学号:00732021】【解】 程序如下:[探究共研型]探究1 【提示】 两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以if 开始,以end 结束.探究2两种条件语句的区别是什么?【提示】if-else-end语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体;而if-end条件语句,只有一个语句体,是满足条件时执行的语句体.探究3在条件语句中,“条件”可以是复合条件吗?【提示】在“条件”处可以是复合条件,如根据下面的程序,画出程序框图,然后利用另外一种条件分支结构和条件语句画出程序框图,并写出程序.【精彩点拨】由所给的程序知其格式为if-else-end,由条件可画其程序框图,并可写出用if-end语句表达的程序.【尝试解答】所给的程序所对应的程序框图如下:利用另一种条件分支结构画程序框图如下.对应的程序如下:条件语句有两种形式,应用时要根据实际问题适当选取.[再练一题]4.已知y =⎩⎨⎧x 2+1,x ≥0,x 2-1,x <0,编写程序,输入自变量x 的值,输出相应的函数值.【解】 程序1.给出以下程序:如果输入x1=2,x2=3,那么执行此程序的结果是()A.7B.10C.5D.8【解析】由于输入的两个数x1=2,x2=3,不满足条件x1=x2,因此,不执行语句体y=x1·x2,而直接执行y=x1+x2,所以y=5,最后输出5.【答案】 C2.输入两个数,输出其中较大的数,则能将程序补充完整的是()【导学号:00732022】A.print(%io(2),b)B.print(%io(2),a)C.a=bD.b=a【解析】因为要求输出a,b中较大的数,若a>b,输出a,否则输出b,故应填“print(%io(2),b).”【答案】 A3.根据下列算法语句,当输入x 为60时,输出y 的值为( )A .25B .30C .31D .61【解析】 由题意,得y =⎩⎪⎨⎪⎧0.5x ,x ≤50,25+0.6(x -50),x >50.当x =60时,y =25+0.6×(60-50)=31,∴输出y 的值为31. 【答案】 C4.下面的程序运行后输出的结果为________.【解析】 因x =5>0,根据题意,执行y =y +3,y =-20+3=-17,因此x -y =5-(-17)=22,y -x =-17-5=-22.输出的结果y -x 在前,x -y 在后,所以答案为-22,22.【答案】 -22 225.儿童乘坐火车时,若身高不超过1.1 m ,则无需购票;若身高超过1.1 m 不超过1.4 m ,只需买半票.若身高超过1.4 m ,购买全票.试写出一个购票算法程序.【解】程序为11。
第一章 1.2 1.2.2一、选择题 1.对于程序: a =input (“a =”)if a >0 a =a ;else a =-a ;end a试问,若输入a =-4,则输出的数为( ) A .4 B .-4 C .4或-4 D .0[答案] A[解析] ∵a =-4<0,∴a =-(-4)=4.2.当a =1,b =3时,执行完下面一段程序后x 的值是( ) if a<b x =a +b elsex =a -b end x A .1 B .3 C .4 D .-2[答案] C[解析] ∵1<3满足a <b ,∴x =1+3=4,故选C.3.给出以下四个问题:①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数a 、b 、c 中的最大数;④求函数f (x )=⎩⎪⎨⎪⎧x -1, x ≥0x +2, x <0的函数值.其中不需要用条件语句来描述其算法的有( ) A .1个 B .2个 C .3个 D .4个[答案] B[解析] ①②直接用顺序结构即可,不需用条件语句;而③需要判断三个数的大小,④是分段函数求值问题,故需用到条件语句.4.已知程序如下:该程序运行后,y 的值是( ) A .3 B .6 C .9 D .27[答案] B[解析] ∵x =3,∴y =2] 5.读程序x =input (“x =”);if x>0y =sqrt (x ); else y =(0.5)∧x -1;endprint (%io (2),y );当输出的y 值的范围大于1时,则输入的x 的取值范围是( ) A .(-∞,-1)B .(1,+∞)C .(-∞,-1)∪(1,+∞)D .(-∞,0)∪(0,+∞)[答案] C[解析] 该程序的功能是求分段函数y =⎩⎪⎨⎪⎧x (x >0)0.5x -1(x ≤0)的函数值大于1时,对应的x 值的取值范围. 当x >0时,由x >1,得x >1,∴x >1; 当x ≤0时,由0.5x -1>1,得x <-1,∴x <-1. 综上可知,x >1或x <-1,故选C.6.当a =3时,下列程序的输出结果是( )A .9B .3C .10D .6[答案] D[解析] ∵a =3<10,∴y =2a =2×3=6,故选D. 二、填空题7.下边的程序运行后输出的结果为________.[答案] 3[解析] ∵x =5不满足x <0, ∴x =y +3=-12+3=-9,∴输出的结果为x -y =-9-(-12)=3.8.如图给出的是用条件语句编写的程序,该程序的功能是求函数________的函数值.[答案] y =⎩⎪⎨⎪⎧2x (x <3)2 (x =3)x 2+1 (x >3)[解析] 由程序可知, 当x <3时,y =2x ; 当x >3时,y =x 2+1;当x =3时,y =2, 故y =⎩⎪⎨⎪⎧2x (x <3)2(x =3)x 2+1(x >3).三、解答题9.儿童乘坐火车时,若身高不超过1.2 m ,则无需购票;若身高超过1.2 m 但不超过1.5 m ,可买半票,若超过1.5 m ,应买全票.试写出一个购票的算法程序.[解析] 程序如下: x =input (”全票:”);s =input (”身高:”);if s<=1.2print (%io (2),0);elseif s<=1.5print (%io (2),x/2); elseprint (%io (2),x ); end end一、选择题1.若如图程序运行后的结果是3,那么输入的x 的值是( )A .30B .2C .0.3D .4[答案] C[解析] 当x ≥0时,由10x =3解得x =0.3,符合题意;当x <0时,由x -1=3解得x =4,不合题意,舍去,故输入的x 的值是0.3. 2.阅读以下程序,若输入的是-2.3,则输出的结果是( )endprint(%io(2),y);A.-18.4 B.11 C.12 D.11.7 [答案] D[解析]∵-2.3<0,∴y=14+(-2.3)=11.7,故选D. 3.若输入4,则下面程序执行后输出的结果是()A.4B.0.2 C.0.1D.0.3 [答案] B[解析]∵输入4,满足t≤4,∴c=0.2,故选B. 4.阅读下列程序:如果输入x=-2,则输出结果y为()A .0B .1C .2D .3[答案] B[解析] 本程序是求分段函数y =⎩⎪⎨⎪⎧x +3 (x <0)0 (x =0)x +5 (x >0)的函数值,∵x =-2,∴y =-2+3=1,故选B.二、填空题5.运行下面的程序时,若输入的值为100、99,则输出的结果为________;若输入的值为1、2,则输出的结果为________.A =input (”A =”);B =input (”B =”);if A<B T =A ; A =B ;B =T ;elseA =A -B ;endprint (%io (2),A );[答案] 1 2[解析] 该程序中if 执行的是:若A <B ,则将A 、B 值交换,否则将A -B 的值赋给A . 6.读下面的程序,如果输出y 的值是20,则通过键盘输入的变量x 的值是________.[答案] 2[解析] 该程序的功能是求分段函数y =⎩⎪⎨⎪⎧10x (x ≤5)5x +5 (x >5)的函数值. 若x ≤5时,10x =20,∴x =2,满足x ≤5,∴x =2.若x >5时,5x +5=20,∴x =3,不满足x >5,∴输入的变量x 的值为2. 三、解答题7.设计一个程序,输入一个学生的成绩S ,根据该成绩的不同值作以下输出:若S <60,则输出“不及格”;若60≤S ≤90,则输出“及格”;若S >90,则输出“优秀”.[解析] 程序如下:8.铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50kg 时,按0.25元/kg ;超过50kg 而不超过100kg 时,其超过部分按0.35元/kg ;超过100kg 时,其超过部分按0.45元/kg.编写程序,输入行李重量,计算并输出托运费用.[解析] 设行李质量为ωkg ,应付运费为x 元,则运费公式为 x =⎩⎪⎨⎪⎧0.25×ω, ω≤500.25×50+0.35(ω-50), 50<ω≤1000.25×50+0.35×50+0.45×(ω-100),ω>100.程序框图如下图所示:程序如下:。