资源描述
《算法初步》单元测试
姓名 班级
一、填空题
1、下列语句中:① ② ③ ④ ⑤ ⑥ 其中是赋值语句的个数为 .
2、将两个数a=25,b=9交换,使a=9,b=25,下面语句正确一组是
ac
cb
ba
tb
ba
at
ba
ab
ab
ba
1) 2) 3) 4)
3、条件语句的一般形式是“if A then B else C”,其中B表示的是
1)满足条件时执行的内容 2)条件语句 3)条件 4)不满足条件时执行的内容
4、右边程序运行的结果是
1)1,2,3 2)2,3,1 3)2,3,2 4)3,2,1
5、程序运行后的输出结果为
6、如图给出的是计算的值的一个流程图,其中判断框内应填入的条件是
7、下面的程序框图,能判断任意输入的数x的奇偶性:其中判断框内的条件是
8、下列四个有关算法的说法中:(1)算法的某些步骤可以不明确或有歧义,以便使算法能解决更多问题;(2)正确的算法执行后一定得到确定的结果;(3)解决某类问题的算法不一定是唯一的;(4)正确的算法一定能在有限步之内结束。其中正确的是 . ( 要求只填写序号 )
9、用秦九韶算法计算多项式当时的值时,需要做乘法和加法的次数共 次.
10、已知如图程序,若输入8,则程序执行后输出的结果是 ;
11、如图所示的算法程序框图,表示的算法的功能是 ;
12、如图是求n!( n!= n×(n-1)×……×3×2×1 )的部分程序,请在横线上补全程序。
13、下面程序的输出结果为_________________________;
14、for 语句的一般格式为:for i from a to b step c,其中a 的意义是
a1
b2
c3
ab
bc
ca
PRINT a,b,c
END
(第4题)
1)循环变量初始值 2)循环变量终值 3)循环体 4)循环条件的语句
第6题
i=1
WHILE i<8
i=i+2
s=2i+3
END WHILE
PRINT s
END
(第5题)
第7题
x←5
y←-20
If x<0 Then
x←y-3
Else
y←y+3
End If
a←x-y
Print a
End (第13题)
(第14题)
___________
i=1
s=1
WHILE _________
__________
i = i+1
END WHILE
PRINT s
END(第12题)
READ t
IF t<= 4 THEN
c=0.2
ELES
c=0.2+0.1(t-3)
END IF
PRINT c
END
(第10题)
(第11题)
二、解答题
15、将下列问题的算法用伪代码中的“for”语句表示(写在下面的框中),并画出“for”语句流程图(画在右边)。
i←1
S←0
While i≤10
S←S+i
i←i+1
End While
Print S
16、某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下列问题:
(1)写出该城市人口数y(万人)与年份x(年)的函数关系式;
(2)用伪代码表示计算10年以后该城市人口总数的算法;
(3)用流程图表示计算大约多少年以后该城市人口将达到120万人的算法。
17、某电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计),试设计一个计算通话费用的算法.要求画出流程图,写出伪代码。
18、给出30个数:1,2,4,7,……,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的流程图(如图所示),(I)请在图中判断框内(1)处和执行框中的(2)处填上合适的语句,使之能完成该题算法功能;(II)根据流程图写出程序。
19、设计算法求的值.要求画出流程图,写出用基本语句编写的流程图.
20、对任意函数,可按图示构造一个数列发生器,其工作原理如下:①输入数据,经数列发生器输出;②若,则数列发生器结束工作;若,则将反馈回输入端再输出,并且依此规律继续下去.
现定义.(I)若输入,则由数列发生器产生数列,请写
出数列的所有项;
(II)若要数列发生器产生一个无穷的常数列,试求输入的初始数据的值;
(III)若输入时,产生的无穷数列满足:对任意正整数,均有,求的
取值范围.
打印
x1
输入
输出
结束
Yes
No
答案:
(1)4 (2)3 (3)1 (4)3 (5)21 (6) (7) (8)2、3、4
(9)12 (10)0.7 (11)求满足的奇数加2
(12)Read n (13)22 (14)1
i←i+1
输出S
(15)
S←0
For I From 1 To 10
S←S+I
End For
Print S
开始
结束
S<120
输出x
N
Y
(16)(1)
(2)伪代码如下:
(17)解:该题涉及分段函数,故设c(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有
算法步骤如下:
第一步,输入通话时间t;
第二步,如果t≤3,那么c = 0.2 ;
否则令 c = 0.2+0.1 (t-3);
第三步,输出通话费用c ;
程序框图如图所示
READ t
IF t<= 3 THEN
c=0.2
ELSE
c=0.2+0.1(t-3)
END IF
PRINT c
END
(第17题伪代码)
i=1
p=1
s=0
WHILE i<=30
s=s+p
p=p+i
i=i+1
END WHILE
PRINT a
END
(第18题程序)
(18)(1)处应填;(2)处应填
第18题
程序框图
S=0
K=1
Do
s=s+1/k(k+1)
k=k+1
LOOP UNTIL k>99
PRINT s
END
(第18题程序)
(19)
(20)解析:(I)的定义域为,,,,因此只有三项;
(II)要使该数列发生器产生一个无穷的常数数列,则有,则设,即,即时,,因此当时,;时,().
(III) 解不等式得,,要使,则,由于,若,则不合题意;当时,且,依次类推可得数列的所有项均满足,综上所述,。
展开阅读全文