《算法初步测试题》由会员分享,可在线阅读,更多相关《算法初步测试题(9页珍藏版)》请在金锄头文库上搜索。
1、D.LET()A.3,4B.7,7C.7,8D.7,113.算法S1m=aS2若 bm.则m=bS3若 cm.则m=dS4若 dm.则 m=dS5输出m,则输出m表示Aa,b,c,d中最大值C将 a, b.c, d由小到大排序第一章 算法初步测试题、选择题:(本题共10 小题,每小题4 分,共40 分,在每小题给出的四个选项中,只有一项是符 合题目要求的)1.下列语言中,哪一个是输入语句A.PRINT B.INPUT C.IF2.右边程序的输出结果为X = 3Y=4X=X+YY=X+YPRINT X, Y( )B. a, b, c, d中最小值D.将a, b, c, d由大到小排序1114下图
2、给出的是计算2+4+6其中判断框内应填入的条件是A. . iv=100C.i505.读程序甲:INPUTB.D.1100的值的一个程序框图,i100iv=50WHILES=S+ii=i+lWENDPRINTENDi=1S=0iWlOOO乙:INPUT 1=1000S=0DOS=S+iI=i 一 1Loop UNTIL i0,兀 C y = X + 3 ;2兀 cthen y = X 5 ;2else y=0;输出 y.如果输入x=2A. 3+ 兀C.兀一5则输出结果 y 为B. 3-兀D.兀一510.阅读右边的程序框,若输入的n是100, 变量S和T的值依次是(ABCD.则输出的)2550,2
3、55025002500,2500255025002550二、填空题:(本大题共4小题,每小题5分,共20分)11.下列关于算法的说法,正确的是 求解某一类问题的算法是唯一的 算法必须在有限步操作之后停止 算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生确定的结果12下面的程序输出的结果S = I = 1While I8S = 21+3I=I+2WENDPrint S(第12题)13. 上面程序运行后的结果为(其中:“(a+j) mod 5”表示整数(a+j)除以5的余数)14. 程序框图如下:)a=0 j=1WHILE j=5 a=(a+j) mod 5 j=j+1WEND
4、PRINT a END(第13题)如果上述程序运行的结果为S = 132,那么判断框中应填入三、解答题(共 80分. 解答须写出必要的文字说明证明过程及演算步骤)15. (本小题满分 12 分)已知f(x)=x3 3x2+2x+1,写出任意一个x的值对应的函数值f (x)的求法程序.16. (本小题满分 13 分)画出求P = 1 x 3 x 5 x 7 x x 31的值的算法流程图。17已知算法:(1)指出其功能(用算式表示),(2)将该算法用流程图描述之。S1输入x52 若x -2,执行S3;否则,执行S653 y = xA2+1S4输出y55 执行S1256 若一2 = xv 2,执行S
5、7;否则执行S1057 y = xS8输出yS9 执行S12S10 y = xA2-1S11输出yS12结束。17题18设计一个算法求:1+3+5 + 2007 ;试用流程图和相应程序表示19. 修订后的中华人民共和国个人所得税法规定,公民全月工资、薪金所得税的起征点为 1600 元,即月收入不超过1600元,免于征税;超过1600元的按以下税率纳税;超过部分在500 元以内 (含 500 元)税率为5,超过500 元至2000元的部分(含2000元)税率为10,超过2000 元至 5000 元部分,税率为15,已知某厂工人的月最高收入不高于5000 元。(1)请用自然语言写出该厂工人的月收入
6、与应纳税款的一个算法(不要写成程序框图或计算机程 序);(2)将该算法用程序框图描述之。(3)写出相应的计算机程序20. 中国网通规定:拨打市内电话时,如果不超过3 分钟,则收取话费0.22元;如果通话时间超过3 分钟,则超出部分按每分钟 0.1 元收取通话费,不足一分钟按以一分钟计算。设通话时间为 t (分钟),通话费用y (元)如何设计一个程序,计算通话的费用。第一章 算法初步测试题一、 选择题:BDBA BABCDA二、填空题:11.答案:12. 17 13.答案:014. k 10? 或k 11?14.解析:第一次循环时 S1X12=12, K12-1=11,;第二次循环时,S12X1
7、1=132, K11-1=10; 此时S=132是题目中程序运行的结果,因此,循环必须终止;所以判断框中应填入的为“KW10?”三、解答题(共 80分. 解答须写出必要的文字说明.证明过程及演算步骤)15.解:(方法一)INPUT “请输入自变量x的值:”;xA=xA3B=3*xA2C=2*xD=AB+C+1PRINT “ x=”; xPRINT “ f( x) =”; DEND(方法二)INPUT “请输入自变量x的值:”;x m=x*( x3)n=x*( m+2)y=n+1PRINT “ x=”; xPRINT “ f( x) =”; yEND16. 算法流程图如图所示:x2 +1(x 2
8、)17. 解:算法的功能为:y = x(2 x 2)流程图如下:输出y结束18.解:流程图如下:相应程序如下:S=0i =1DOii;:&=&+ ;i = i+ 2IILoop UNTILi = 2009Print SEND19. 解:( 1 )第一步第二步否则 y=25+0.1(x-2100) 第三步输出税款y,结束。(2)程序框图为:算法:输入工资x(注x=5000);如果 x=1600,那么 y=0;如果 1600x=2100,那么 y=0.05(x1600);开始=1600x=2100y = O.O5(x-1600)y - 25 + O.l(x-2100)输出(3) INPUT x(x
9、v=5 0 00)IF xv=1600 THENy =0ELSE IF x=1600 THEN结束y =0.05*(x1600)ELSEy=25+0.1(x-2100)END IFEND IFPRINT yEND20.解:算法分析:数学模型实际上为:y关于t的分段函数。关系式如下: (.22,(0 t 3)y = 3, t g Z)0.22 + 0.1(t - 3 +1), (t 3, t 电 Z)其中t-3表示取不大于t-3的整数部分。 算法步骤如下:第一步:输入通话时间 t;第二步:如果tW3,那么y = 0.22;否则判断tuZ是否成立,若成立执行 y= 0.2+0.1X (t-3);否则执行 y = 0.2+0.1X ( t-3+1)。第三步:输出通话费用 c 。 算法程序如下:INPUT “请输入通话时间:”; tIF t=3 THENy=0.22ELSEIF INT(t)=t THENy=0.22+0.1*(t-3)ELSEy=0.22+0.1*(INT(t-3)+1)END IFEND IFPRINT “通话费用为:”; yEND