条件语句第一课时课件-数学高一必修3第一章算法初步1.2.2人教A版
- 格式:ppt
- 大小:850.00 KB
- 文档页数:29


条件语句学习目标1.理解条件语句.2.能用条件语句编写条件结构的程序.3.能读懂条件语句编写的程序.重难点1.重点:理解条件语句与条件结构的关系.2.难点:用条件语句编写程序.要点1条件语句的一般格式及功能要点2两种语句的辨析(1)共同点:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以IF开始,以END IF结束.(2)区别:IF-THEN-END IF语句只有一个语句体,是满足条件时执行的语句体;IF-THEN-ELSE-END IF语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体.要点3关于条件语句的三点说明(1)“条件”是由一个关系表达式或逻辑表达式结构,其一般形式为“<表达式><关系运算符><表达式>”,常用的运算符有“>”(大于)“<”(小于)“>=”(大于或等于)“<=”(小于或等于)“<>”(不等于).关系表达式的结果可取两个值,以“真”或“假”来表示,“真”表示条件满足,“假”则表示条件不满足.要点4条件语句的嵌套其相应程序框图:要点5特别要注意(1)条件语句主要是IF-THEN-ELSE语句,在某些情况下,也可以只使用IF-THEN语句,无ELSE分支语句.(2)为了便于阅读和醒目,语句1和语句2一般缩进书写.(3)“条件”可以是复合条件,此时应用AND加以连接.(4)END IF是“出口”,是条件语句的结束符号,在书写程序时不要漏掉.特别注意有几个IF就对应有几个END IF.课时作业(九)1.下列关于条件语句的说法正确的是()A.条件语句中必须有ELSE和END IFB.条件语句中可以没有END IFC.条件语句中可以没有ELSE,但是必须有END IFD.条件语句中可以没有END IF,但是必须有ELSE答案 C解析条件语句主要有两种形式的格式,分别是IF-THEN-END IF格式或IF-THEN-ELSE-END IF格式.所以条件语句中可以没有ELSE,但是必须有END IF,选C.2.如图所示程序运行后,变量y的值是()INPUT“x=”;3IF x>2 THENy=x*x*xELSEy=2*xEND IFPRINT yENDA.3B.6C.9 D.27答案 D解析由程序可知,x=3时,y=33=27.3.给出下列程序:INPUT x1,x2IF x1=x2THENx1=x1+x2END IFy=x1+x2PRINT yEND如果输入x1=2,x2=3,那么执行此程序后,输出的结果是()A.7 B.10C.5 D.8答案 C解析∵x1=2,x2=3,∴x1≠x2,∴y=x1+x2=2+3=5.4.阅读下列程序:INPUT xIF x<0THENy=7*x/2+3ELSEIF x>0THENy=7*x/2-5ELSEy=0END IFEND IFPRINT yEND若输入x=-2,则输出结果为()A.2 B.-12C.10 D.-4答案 D解析输入x=-2时,则x<0,执行“y=7*x/2+3”这一语句,即y=-4. 5.下列程序:INPUT“请输入一个两位数的正数”;xIF x>9AND x<100THENa=x MOD10b=(x-a)/10x=10*a+bPRINT xELSEPRINT“输入有误”END IFEND若输入的数是83,则输出的结果为( ) A .83 B .38 C .3 D .8 答案 B解析 程序功能是输入一个两位数的正数,变换其个位与十位的位置,输入83,输出应为38.6.条件语句IF 条件THEN 语句1ELSE 语句2END IF的一般格式是( )答案 C7.给出一个如图所示的程序,若要使输入的x 值与输出的y 值相等,则这样的x 值的个数是( )A .1B .2C .3D .4答案 C解析 当x ≤1时,y =x 2=x ,解得x 1=0,x 2=1;当x>1时,y =2x -5=x ,解得x 3=5;故x 可取0,1,5.8.INPUT “x =,y =”;x ,y x =5 y =-20IF x<0 THEN x =y -3 ELSE y =y +3 END IFPRINT x -y ,2*x +y END上述程序运行的结果为________. 答案 22,-7解析 ∵x =5,∴y =-20+3=-17.∴x -y =5-(-17)=22,2x +y =2×5+(-17)=-7. 9.给出程序: INPUT xIF x<3 THEN y =-2*x ELSEIF x>3 THEN y =x*x -x ELSE y =4 END IF END IF PRINT y END该程序的功能是:已知函数y =________,输入自变量x 的值,输出其对应的函数值. 答案 y =⎩⎪⎨⎪⎧-2x ,x<3,4,x =3,x 2-x ,x>310.给出下列程序:INPUT a ,b ,c IF a>b THENa =b END IFIF a>c THENa =c END IF PRINT aEND如果输入-10,-26,8,那么输出的是________.答案-26解析该程序的功能是输入a,b,c的值,求它们中的最小值.11.完成下列程序,输入x的值,求函数y=|8-2x2|的值.INPUT“x=”;xIF①________THEN②________ELSE y=2*x^2-8END IFPRINT yEND①________,②________.答案8-2*x^2>=0y=8-2*x^2解析此程序是求含绝对值的函数的值,因此8-2x2≥0时输出8-2x2,再由ELSE后面的表达式输出y=2x2-8,因此①后应填8-2*x^2>=0,②应填y=8-2*x^2.12.根据下面的程序框图编写程序.解析程序如下:INPUT a,bIF a>=b THENPRINT a-bELSEPRINT b-aEND IFEND13.根据下列程序,画出相应的程序框图.INPUT xIF x<0THENy=-x+1ELSEIF x=0THENy=0ELSEy=x+1END IFEND IFPRINT yEND解析程序框图如图所示.1.下面程序在开始运行后,通过键盘输入三个值3、24、7,则输出结果是()程序:INPUT“a,b,c=”;a,b,cIF b>a THENt=aa=bb=tEND IFIF c>a THENt=aa=cc=tEND IFIF c>b THENt=bb=cc=tEND IFPRINT a,b,cENDA.3,24,7 B.3,7,24C.24,7,3 D.7,3,24答案 C解析当a=3,b=24,c=7时,此时b>a,首先是a、b交换数值即a=24,b=3,c=7,又此时c>b,执行的程序是b、c交换数值,即b=7,c=3,所以a=24,b=7,c=3. 2.以下给出的用条件语句编写的一个程序,根据该程序回答问题:程序:INPUT xIF x<3 THEN y =2*x ELSEy =x^2-1 END IF PRINT y END(1)若输入-4,则输出结果是________; (2)若输入3,则输出结果是________;(3)该程序的功能是求函数________的值.根据x 的取值,选择相应的语句执行.答案 (1)-8 (2)8 (3)y =⎩⎪⎨⎪⎧2x ,x<3,x 2-1,x ≥3解析 (1)因为-4<3,所以y =2×(-4)=-8.(2)因为x =3,所以y =32-1=8.(3)将程序转化可得,此程序表达的是求分段函数y =⎩⎪⎨⎪⎧2x ,x<3,x 2-1,x ≥3的函数值.y =-20后,输出的结果为________.答案 -85,-12解析 x*y =5×(-20+3)=-85. y +x =-17+5=-12. 4.如图所示,在边长为16的正方形ABCD 的边上有一动点P ,点P 沿边线由B →C →D →A(B 为起点,A 为终点)运动.若设P 运动的路程为x ,△APB 的面积为y ,试写出程序,根据输入的x 值,输出相应的y 值.思路 由题意可得函数关系式为:y =⎩⎪⎨⎪⎧8x ,0<x ≤16,128,16<x ≤32,8(48-x ),32<x<48,需利用条件语句的嵌套或叠加编写程序. 解析 程序如下: INPUT “x =”;xIF x>0 AND x<=16 THEN y =8*x ELSEIF x<=32 THEN y =128 ELSEy =8*(48-x) END IF END IF PRINT y END 5.某市对出租车的计费统一规定:若行驶不超过2 km ,则收费5元(即起步价),若超过2 km ,则超出部分,每1 km 加收1.8元(不足1 km 的,按1 km 计算).写出计算路费的程序. 解析 程序框图如下:程序如下:INPUT “路程”;xIF x>0 AND x<=2 THEN y =5 ELSEIF x -x\1=0 THEN y =5+1.8*(x -2) ELSEa =(x -2)\1y =5+1.8*(a +1) END IF END IF PRINT yEND6.农历9月9日是我国传统的重阳节,某饭店自助餐厅决定在这一天进行优惠酬宾活动.对于80岁以上(包括80岁)老人,享受免费自助餐;70岁以上(包括70岁)老人享受5折优惠,60岁以上(包括60岁)老人享受6折优惠,其余顾客享受9折优惠.请设计算法,完成这一天的计费工作,要求输入用餐者的年龄、消费额,输出应付金额,编写出程序.【解析】设用x,n分别表示用餐者的年龄,消费额,用t表示应付金额,则程序如下:INPUT x,nIF x>=80THENt=0ELSEIF x>=70THENt=0.5*nELSEIF x>=60THENt=0.6*nELSEt=0.9*nEND IFEND IFEND IFPRINT tEND。