1.2.2条件语句1.若输入-3,则下列程序输出的结果为()INPUT“a=”;aIFa>=0THENm=aa-1PRINTmELSEPRINT“anegativenumber”ENDIFENDA.8B.-8C.anegativenumberD.以上均不对答案:C2.输入两个数,输出其中较大的数,则为将程序补充完整,横线处应填()INPUT“a,b=”;a,bIFa>bTHENPRINTaELSEENDIFENDA.PRINTbB.PRINTaC.a=bD.b=a答案:A3.当a=3时,下面的程序输出的结果是.INPUTaIFa<10THENy=2aELSEy=aaENDIFPRINTyEND解析:∵a=3满足a<10,故执行语句“y=2a”.将a=3代入,得y=6.答案:64.下面是求一个函数的函数值的程序:INPUTxIFx<=0THENy=-xELSEIFx>0ANDx<=1THENy=0ELSEy=x-1ENDIFENDIFPRINTy1END若执行此程序的结果为3,求输入的x的值.解:此程序是求函数y=的值.若输出的结果为3,则解得x=-3或x=4.即输入的x的值是-3或4.5.儿童乘坐火车时,若身高不超过1.2m,则不需要买票;若身高超过1.2m但不超过1.5m,则需买半票;若身高超过1.5m,则需买全票.试设计一个买票的算法的程序.解:INPUTxIFx<=1.2THENy=0ELSEIFx<=1.5THENy=0.5ELSEy=1ENDIFENDIFPRINTyEND6.某市对出租车的计费统一规定:如果路程不超过3km,则收费6元(即起步价);若超过3km,则超出部分每1km加收1.5元(不足1km的,按1km计算).写出计算路费的程序.解:程序如下:INPUT“路程”;xIFx>0ANDx<=3THENy=6ELSEIFx-x\1=0THENy=6+1.5(x-3)ELSEa=(x-3)\1y=6+1.5(a+1)ENDIFENDIFPRINTyEND7.给出下列四个问题:①输入一个数x,输出它的绝对值;②求函数f(x)=的函数值;③求面积为6的正方形的周长;④求三个数a,b,c中的最大数.其中可以用条件语句来描述其算法的个数是()A.1B.2C.3D.4解析:在算法中需要逻辑判断的都要用到条件语句,其中①②④都需要进行逻辑判断,故都要用到条件语句,③只需用顺序结构就能描述其算法,故答案选C.答案:C8.以下给出的是用条件语句编写的一个程序,根据该程序回答:(1)若输入4,则输出的结果是;(2)该程序的功能是求函数的函数值.INPUTxIFx<3THENy=2xELSEIFx>3THENy=xx-1ELSEy=22ENDIFENDIFPRINTyEND解析:这是用条件语句的嵌套编写的程序,功能是求一个分段函数的函数值.答案:(1)15(2)y=9.给出如下程序(其中x满足:00ANDx<=4THENy=2xELSEIFx<=8THENy=8ELSEy=24-2xENDIFENDIFPRINTyEND(1)该程序的功能是求什么函数的函数值,写出这个函数;(2)画出这个程序的程序框图.解:(1)函数关系式为:y=(2)程序框图如下:10.农历9月9日是我国传统的重阳节,某饭店自助餐厅决定在这一天进行优惠酬宾活动,对于80岁以上(包括80岁)老人,享受免费自助餐;70岁以上(包括70岁)老人享受5折优惠,60岁以上(包括60岁)老人享受6折优惠,其余顾客享受9折优惠.请设计算法,完成这一天的计费工作,要求输入用餐者的年龄、消费额,输出应付金额.解:算法分析:由题意,设x,y分别表示消费者的年龄和消费额,q表示应付金额.则q=程序如下:INPUT“年龄:”;xINPUT“消费额:”;yIFx>=80THENq=0ELSEIFx>=70THENq=0.5yELSEIFx>=60THENq=0.6yELSEq=0.9yENDIF3ENDIFENDIFPRINT“应付金额:”;qEND11.请编写一个程序,实现求函数y=相应自变量的函数值.解:程序一:INPUT“x=”;xIFx<1THENy=xENDIFIFx>=1ANDx<10THENy=2x-1ENDIFIFx>=10ANDx<20THENy=3x-11ENDIFIFx>=20THENy=0ENDIFPRINTyEND程序二:INPUT“x=”;xIFx<1THENy=xELSEIFx<10THENy=2x-1ELSEIFx<20THENy=3x-11ELSEy=0ENDIFENDIFENDIFPRINTyEND12.程序1如下:INPUTxIFx<=2THENy=-2ELSEy=x^2-2xENDIFPRINTyEND程序2如下:INPUTa,bIFa<>0THENx=-b/aPRINTxELSEIFb=0THENPRINT“方程的根为全体实数”ELSE4PRINT“方程无实根”ENDIFENDIFEND(1)程序1与程序2所解决的问题分别是什么?画出相应的程序框图.(2)根据程序1回答:①当输入的x值为1时,输出的y值为多大?②若输出的y值为8,输入的x值应为多少?③输入的x值和输出的y值能够相等吗?若能,x应输入多少;若不能,说明理由.(3)根据程序2回答:①输入的a,b的值分别是0,2,输出的结果是什么?②若输出的结果为“方程的根为全体实数”,则输入a,b的值分别为多少?③要想使输出的根为x=-,则输入的a,b应满足什么条件?解:(1)程序1解决的是求分段函数y=的函数值的问题.程序2解决的是求方程ax+b=0(a,b为常数)的根的问题.算法的程序框图如图所示:(2)①当x=1时,∵1<2,∴y=-2,即输出的y值为-2.②由x2-2x=8,得x=4或x=-2.∵x>2,∴x=4,即输入的x值是4.③当输入x=-2时,y=-2;由x2-2x=x,得x=3或x=0.∵x>2,∴x=3时,y=3.故当输入的x值为3或-2时,输出的y值与输入的x值相等.(3)①a=0,b=2时,输出的结果是“方程无实根”.②输出的结果为“方程的根为全体实数”时,a=0,b=0.③要使输出的根为x=-,则a≠0,b可为任意实数值.5