第一章《算法初步》测试题及答案
一.选择题
1.下面的结论正确的是 ( )
A.一个程序的算法步骤是可逆的 B、一个算法能够无止境地运算下去的 C、完成一件情况的算法有且只有一种 D、设运算法要本着简单方便的原则 2、早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤、从下列选项中选最好的一种算法 ( )
A、 S1 洗脸刷牙、S2刷水壶、S3 烧水、S4 泡面、S5 吃饭、S6 听广播 B、 S1刷水壶 、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5 听广播 C、 S1刷水壶 、S2烧水同时洗脸刷牙、S3泡面、S4吃饭 同时 听广播 D、 S1吃饭 同时 听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶 3.算法 S1 m=a
S2 若b S5 输出m,则输出m表示 ( ) A.a,b,c,d中最大值 B.a,b,c,d中最小值 C.将a,b,c,d由小到大排序 D.将a,b,c,d由大到小排序 4.右图输出的是 A.2005 B.65 C.64 D.63 5、下列给出的赋值语句中正确的是( ) A. 5 = M B. x =-x C. B=A=3 D. x +y = 0 6、下列选项那个是正确的( ) (第4题) A、INPUT A;B B. INPUT B=3 C. PRINT y=2*x+1 D. PRINT 4*x 7、以下给出的各数中不可能是八进制数的是( ) A.123 B.10 110 C.4724 D.7 857 8、假如右边程序执行后输出的结果是990,那么 i=11 在程序until后面的“条件”应为( ) s=1 A.i > 10 B. i <8 C. i <=9 D.i<9 DO 9.读程序 s= s * i 甲: i=1 乙: i=1000 i = i-1 S=0 S=0 LOOP UNTIL “条件” WHILE i<=1000 DO PRINT s S=S+i S=S+i END i=i+l i=i一1 (第7题) WEND Loop UNTIL i<1 PRINT S PRINT S END END 对甲乙两程序和输出结果判定正确的是 ( ) A.程序不同结果不同 B.程序不同,结果相同 C.程序相同结果不同 D.程序相同,结果相同 10.在上题条件下,假定能将甲、乙两程序“定格”在i=500,即能输出i=500 时一个值,则输出结果 ( ) A.甲大乙小 B.甲乙相同 C.甲小乙大 D.不能判定 二.填空题. 11、有如下程序框图(如右图所示),则该程序框图表示的算法的功能是 第 输出i-2 (第11题) ( 第12题) 12、上面是求解一元二次方程ax?bx?c?0(a?0)的流程图,依照题意填写:(1) (2) (3) 13.将二进制数1010 101(2) 化为十进制结果为 ; 再将该数化为八进制数,结果为 . 214.用冒泡法对数3,6,9,5,1从小到大排序 3 1 6 3 9 5 5 6 1 9 第一趟 第二趟 第三趟 第四趟 15.运算 11011(2)-101(2)= (用二进制表示) 三、解答题 16. 已知算法: ①将该算法用流程图描述之。②写出该程序。 S1、 输入 X S2 、 若X<1,执行 S3. 否则执行S6 S3 、 Y =X- 2 S4、输出 Y S5、 终止 S6、 若X=1 ,执行S7;否则执行S10; S7 Y =0 S8 输出Y S9 终止 S10 Y= 2X+1 S11 输出Y S12 终止 1111的值,写出用差不多语句编写的程序. ???????1?22?33?449?5018.用辗转相除法求210与162的最大公约数,并用更相减损术检验。 19、《中华人民共和国个人所得税法》规定,公民月工资,薪金所得不超过800元的部分不必纳税,超过800元的部分为全月应纳税 所得额,此项税款按下表分段累进运算: 全月应纳税所得额 税率 17、设运算法求不超过500元的部分 超过500元的部分至2000元的部分 超过2000元至5000元的部分 5% 10% 15% 试写出工资x (x ?5000 元)与税收 y的函数关系式,并写出运算应纳税 所得额的的程序。 20、给出30个数:1,2,4,7,……,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要运算这30个数的和,现已给出了该问题算法的程序框图(如图所示),(I)请在图中判定框内(1)处和执行框中的(2)处填上合适的语句,使之能完成该题算法功能;(II)依照程序框图写出程序. (第20题)