1、第一章 算法初步 单元测试31将两个数交换,使,下面语句正确一组是 ( )a=cc=bb=ab=aa=bc=bb=aa=ca=bb=a A. B. C. D. 2计算机执行右边的程序段后,输出的结果是( )A B C D3当时,下面的程序段输出的结果是( ) A B C D4用“辗转相除法”求得和的最大公约数是( )A B C D 5当时,下面的程序段执行后所得的结果是 ( ) A B C D6. 把89化为五进制数,则此数为 ( )A. 322(5)B. 323(5)C. 324(5)D. 325(5)7用秦九韶算法求多项式f(x)=12+35x8x2+79x3+6x4+5x5+3x6在x=
2、4的值时,v4的值为()A.57B.845C.220 D .3392 8读程序甲:INPUT i=1 乙:INPUT I=1000 S=0 S=0 WHILE i1000 DO S=S+i S=S+I i=i+l I = I一1 WEND Loop UNTIL I1 PRINT S PRINT SEND END对甲乙两程序和输出结果判断正确的是 ( B ) A程序不同结果不同 B程序不同,结果相同C程序相同结果不同 D程序相同,结果相同循环体满足条件?是否循环体满足条件?否是满足条件?循环体否是满足条件?循环体是否9在下图中,直到型循环结构为()A B C D10阅读下列程序:输入x;if x
3、0, then y ;else if x 0, then y ;else y0;输出 y 如果输入x2,则输出结果y为( )A5 B 5 C 3 D 3二 填空题11题用“秦九韶算法”计算多项式,当x=2时的值的过程中,要经过 次乘法运算和 次加法运算。12题下列各数 、 、 、 中最小的数是_ a=0j=1WHILE j=5a=(a+j) mod 5j=j+1WENDPRINT a END(第14题)13题下面的程序输出的结果= I = 1While I= 2009 Print SEND19题解、程序:a=1b=1.5c=0.001DOx=(a+b)/2f(a)=a3a1f(x)=x3x1I
4、F f(x)=0 THENPRINT “x=”;xELSEIF f(a)*f(x)0 THENb=xELSEa=xEND IFEND IFLOOP UNTIL ABS(ab)=cPRINT “方程的一个近似解x=”;xEND20题解:(1)算法: 第一步 输入工资x (注x=5000);第二步 如果x=1600,那么y=0;如果1600x=2100,那么 y=0.05(x-1600); 如果2100x=3600,那么y=25+0.1(x-2100) 否则,y=0.15x-365; 第三步 输出税款y, 结束。(2)程序框图略:(3)INPUT x(x=00) IF x=1600 THEN y
5、=0 ELSE IF 1600 x=2100 THEN y =0.05*(x1600)ELSE IF 2100 x=3600 THEN y =25+0.1*(x2100) ELSE y=0.15*x -365END IF END IF END IF PRINT y END21题解:算法分析:数学模型实际上为:y关于t的分段函数。关系式如下:其中t3表示取不大于t3的整数部分。算法步骤如下:第一步:输入通话时间t;第二步:如果t3,那么y = 0.22;否则判断tZ 是否成立,若成立执行y= 0.2+0.1 (t3);否则执行y = 0.2+0.1( t3+1)。第三步:输出通话费用c 。算法程序如下:INPUT “请输入通话时间:”;tIF t=3 THENy=0.22ELSEIF INT(t)=t THENy=0.22+0.1*(t3)ELSEy=0.22+0.1*(INT(t3)+1)END IFEND IFPRINT “通话费用为:”;yEND