1.2.2条件语句一、选择题1.下面程序运行后输出结果是3,则输入的x值一定是()INPUTxIFx>0THENy=xELSEy=-xENDIFPRINTyENDA.3B.-3C.3或-3D.0[答案]C[解析]该程序语句是求函数y=|x|的函数值,∵y=3,∴x=±3.2.下列程序语句的算法功能是()INPUTa,b,cIFab,a>c,则结果是输出a,b,c中的最小值.(2)若要将a,b,c三数按从大到小顺序输出,则程序应改为:INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFcb),判断a能否被b整除,则①处应为()A.rB.r-aMODbC.“NO”D.“YES”[答案]D二、填空题7.写出下列程序的运行结果输入a=-4,输出结果为________;输入a=9,输出结果为________.(2)输入x=6,则p=______;输入x=20,则p=______.(3)INPUT“x=”;xx=x+99IFx>100THENPRINTxx=xMOD5ELSEx=SQR(x)ENDIFPRINTxEND输入x=100时,输出结果为________;输入x=-18时,输出结果为________.[答案](1)nosolution;3(2)2.1;10.5(3)199,4;9.[解析](1)a=9不满足a<0,故执行t=SQRT(a),∴t=3.(2)x=6满足x≤10,∴P=6×0.35=2.1;x=20时不满足x≤10.∴P=10×0.35+(20-10)×0.7=10.5.(3)x=100时,x=100+99=199>100,∴先输出199,然后计算199MOD5=4,输出4;x=-18时,x=-18+99=81>100不成立,∴执行ELSE后边的x=SQR(x),即x==9,输出9.8.将下列程序补充完整.判断输入的数x是否为正数,若是,输出它的平方,若不是,输出它的相反数,则②为________.[答案]x<=0三、解答题9.汽车托运重量为P(kg)的货物时,托运每千米的费用(单位:元)标准为:y=试编写一程序求行李托运费.[解析]此题就是一个分段函数求值问题.输入托运重量P,如果P≤20,那么y=0.2P,否则y=0.2×20+0.11(P-20),最后输出费用y.程序为:INPUT“输入托运货物重量”;PIFP<=20THENy=0.2]10.编写求一个数是偶数还是奇数的程序,从键盘上输入一个数,输出该数的奇偶性.[解析]INPUT“输入整数a=”;aIFaMOD2=0THENPRINT“该数是偶数”ELSEPRINT“该数是奇数”ENDIFEND.11.某商场为迎接店庆举办促销活动,活动规定,购物额在100元及以内不予优惠,在100~300元之间优惠货款的5%,超过300元之后,超过部分优惠8%,原优惠条件仍然有效,写出顾客的购物额与应付金额之间的程序,要求输入购物额能够输出实付货款,并画出程序框图.[解析]设购货款为x,实付货款y元.则y=程序框图如图所示.程序如下:INPUT“输入购货款x=”;xIFx<=100THENy=x*12.设计一个程序,输入a、b、c、m、n的值,输出二次函数y=ax2+bx+c在闭区间[m,n]上的最大值与最小值.[解析]二次函数的最值与开口方向(a>0或a<0)及对称轴x=-与区间[m,n]的关系有关,故用条件语句描述其关系及相应的最值.算法一:算法三:不论开口向上还是向下,只要-∉[m,n],则f(m)与f(n)一个最大,一个最小,如果-∈[m,n],则a>0时,f最小,a<0时,f最大.[点评](1)二次函数y=ax2+bx+c应有a≠0.(2)A=f(m),B=f(n),C=f.若a>0,当-n时,最大值为A,最小值为B.当m≤-≤n时,最小值为C,最大值为A与B中较大者.(3)本题常出现的失误是:直接比较A、B、C的大小.事实上,-不一定在区间[m,n]内,下面就是常见错误解法之一: