1、A.基础达标1.下列对条件语句的描述正确的是( )AELSE 后面的语句不可以是条件语句B两个条件语句可以共用一个 END IF 语句C条件语句可以没有 ELSE 后的语句D条件语句中 IFTHEN 和 ELSE 后的语句必须都有解析:选 C.条件语句有两种格式:分别是 IFTHEN 格式和 IFTHENELSE 格式对于一个分支的条件语句可以没有 ELSE 后的语句2下面程序输出的结果为( )i1DOii2S2*i3LOOP UNITL i8PRINT SENDA17 B19C21 D23解析:选 C.当 i9 时,S29321,判断条件 98 成立,跳出循环,输出 S.3(2015临沂高一
2、检测)下列程序的功能是:判断任意输入的数 x 是否为正数,若是,输出它的平方值;若不是,输出它的相反数INPUT xIF _ THENyxELSEyx*xEND IFPRINT yEND则填入的条件应该是( )Ax0 Bx0Cx 0 Dx0解析:选 D.因为条件真则执行 yx,条件假则执行 yx*x,由程序功能知条件应为x0.4如下程序的循环次数为( )x0WHILE x20xx1xx 2WENDPRINT xENDA1 B2C3 D4解析:选 C.程序执行如下:(1)x20 ,x011,x 1 21;(2)x20,x112,x 2 24,(3)x20,x415,x 5 225,此时跳出循环,
3、并输出 x.一共进行 3 次循环,故选 C.5(2013高考陕西卷)根据下列算法语句,当输入 x 为 60 时,输出 y 的值为( )输入 x;If x50 Theny0.5*xElsey250.6*( x50)End If输出 y.A25 B30C31 D61解析:选 C.由题意,得 y 0.5x,x 50,25 0.6(x 50),x50.)当 x60 时,y250.6(6050)31.输出 y 的值为 31.6若 a11,下面的程序段输出的结果是_INPUT aIF a 10 THENy2*(a 1)ELSEya MOD 10END IFPRINT yEND解析:由于当 a11 时,不满
4、足条件 a10,所以执行 ya MOD 10,得到的结果是y1.注意“a MOD 10”是 a 除以 10 的余数答案:17已知下列程序:INPUT xIF x1 THENyx1ELSEIF x1 THENyx 21ELSEyx1END IFEND IFPRINT “y” ;yEND如果输出的是 y0.75,则输入的 x 是_解析:由程序可知本题为根据输入的 x,求函数 y 的函数值我 x 1,x 1 x2 1,x 1x 1, 1 x 1)们可以分段令 y0.75,并验证,可求得 x1.75.答案:1.758(2015吉林高一检测)已知有下面的程序,如果程序执行后输出的结果是 360,那么在程
5、序 UNTIL 后面的“条件 ”应为_i6s1DOss*iii1LOOP UNTIL 条件PRINT sEND解析:因为输出的结果是 360,即 s16543,需执行 4 次,s 需乘到 3,i3后结束算法所以,程序中 UNTIL 后面的“条件”应为 i3( 或 i2) 答案:i3(或 i2)9(2015罗源高一检测)编写一个程序计算 123 25 299 2,并画出相应的程序框图解:程序如下:S0i1DOSSi 2ii2LOOP UNTIL i99PRINT SEND程序框图如图所示:10.给出一个算法的程序框图(如图所示) (1)说明该程序的功能;(2)请用 WHILE 型循环语句写出程序
6、解:(1)该程序的功能是求 1 的值12 13 199(2)程序如下:S0K1WHILE K99SS1/KKK1WENDPRINT SENDB.能力提升1.(2015衡阳检测)下面程序运行后输出的结果为 ( )a0j1WHILE j5a(aj) MOD 5jj1WENDPRINT aENDA50 B5C25 D0解析:选 D.本程序的功能是求 aj 被 5 除所得的余数,从而循环体在执行的过程中 a与 j 的对应值如下表:a 1 3 1 0 0j 2 3 4 5 62.读程序:甲:i1S0WHILE i1 THENyx1ELSEy2*x1END IFPRINT yEND(1)若执行程序时,没有
7、执行语句 yx1,则输入的 x 的范围是_;(2)若执行结果为 3,则执行的赋值语句是_,输入的 x 的值是_解析:(1)不执行 yx1 语句,说明不满足条件 x1,故有 x1.(2)当 x1 时,y2113,只有 x13,x 2.答案:(1)x1 (2) yx1 24下面是一个用于计算 的程序,则处应填的语句是112 123 12021_,处应填的语句是_s0i1WHILE i20_WENDPRINT “s ” ;sEND解析:累加求和需用赋值语句“ss1/(i*(i 1)” ,控制执行循环条件需要用赋值语句“i i1” 答案:ss 1/(i*(i1) ii15儿童乘坐火车时,若身高不超过
8、1.1 m,则无需购票;若身高超过 1.1 m 但不超过1.4 m,可买半票;若超过 1.4 m,应买全票试写出一个购票算法程序解:程序如下:INPUT “身高 h(h0)” ;hIF h1.1 THENPRINT “免费乘车”ELSEIF h1.4 THENPRINT “半票乘车”ELSEPRINT “全票乘车”END IFEND IFEND6(选做题) 一个小朋友在一次玩皮球时,偶然发现一个现象:球从某高度落下后,每次都反弹回原高度的 ,再落下,再反弹回上次高度的 ,如此反复假如球从 100 cm 处落13 13下,那么第 10 次下落的高度是多少?在第 10 次落地时共经过多少路程?试用程序语言表示其算法解:程序如下:s0h100sshi2WHILE i10hh/3ss2*hii1WENDPRINT “第 10 次下落的高度为” ;hPRINT “第 10 次落地时共经过的路程为” ;sEND