考前最后一轮基础知识巩固之第十章测试

文档属性

名称 考前最后一轮基础知识巩固之第十章测试
格式 zip
文件大小 51.6KB
资源类型 教案
版本资源
科目 数学
更新时间 2012-06-04 15:33:03

图片预览

文档简介

本章自主测试
一、填空题:本大题共14小题每小题6分
1.我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组解,二分法求函数零点等.对算法的描述有①对一类问题都有效;②对个别问题有效;③计算可以一步步地进行,每一步都有惟一的结果;④是一种通法,只要按部就班地做,总能得到结果.以上正确描述算法的个数有 3个 .
2.描述算法主要有三种方式,即:自然语言,流程图, 伪代码 .
3.算法的三种基本结构是 顺序结构,选择结构,循环结构 .
4.流程图中表示处理框的是 .矩形框 .
5.写出求 的一个算法,可运用公式直接计算,第一步
取n=100 ;第二步 ; 第三步输出计算结果.
6.下列函数求值算法中需要条件语句的函数为 ③ .
① ②
③ ④
7.在设计求解一元一次方程为常数)的算法时,需要用条件语句判断 a是否为0 .
8.算法: S1 m=a
S2 若bS3 若cS4 若dS5 输出m,
则输出的m表示 a,b,c,d中最小值 .
9.如图给出的是计算的值的一个流程图,其中判断框内应该填入的条件为 n≤10 .
10.如果执行下面的程序框图,那么输出的 2548
解析:这个程序是计算的算法,由等差数列求和公式可知:结果为.
11.当时,下面程序段输出的结果是 6 .
解析:当输入时,因为,所以.
12.下面的伪代码输出的结果S为 21 .
I←1
While I<8
I←I+2
S←2I+3
End while
Print S
13.设学生的考试成绩为G,则下面的代码的算法目的是: 计算50个学生中不及格的人数 .
n←0
m←0
While n<50
Read G
If G<60 then m←m+1
n←n+1
End while
Print m
(第13题)
14.阅读程序,指出当a=3,b= - 5时得计算结果:.
二.简答题:本大题共5小题
15.(本小题满分14分)小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词,试用伪代码表示他前十天共背了多少个单词的一个算法.
解:第一步是选择一个变量S表示和,并赋给初值0,
第二步开始进入for循环语句,首先设i为循环变量,并设初值、步长、终值;
第三步为循环表达式(循环体);
第四步用“end for”控制一次循环,开始一次新的循环.
伪代码如下:
S←0
For i from 1 to 10
S←S+i
End for
Print S
16 .(本小题满分14分)已知分段函数f(x)=,编写伪代码,输入自变量x的值,输出其相应的函数值,并画出流程图.
  Read x
If x<0 Then
y ← -x+1
Else
If x=0 Then
y ← 0
Else
y ← x+1
End If
End If
Print y
17.(本小题满分16分).设计算法,求最小的奇数I,使1 3 5 7 … I > 2008
解: t←1
I←1
while t≤2008
t←tI
I←I+2
End while
Print I-2
评注:对于循环次数未知的问题,应选择while循环.要注意循环体中t←tI 与I←I+2调换位置,则输出的结果不一样.
18.(本小题满分16分)已知数列,计算数列的第20项.现已给出该问题算法的流程图(如图所示).
(1)请在图中判断框中的(A)与执行框中的(B)处填
上合适的语句,使之能完成该题的算法功能.
(2) 根据流程图写出伪代码.
解 (1) A:; B:.
(Ⅱ)
19.(本小题满分16分)猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?.写出其算法的伪代码并画出流程图.
解析:此题粗看起来有些无从着手的感觉,那么怎样开始呢?假设第一天开始时有a1只桃子,第二天有a2只……第9天有a9只,第10天有a10只.在a1,a2,…,a10中,只有a10=1是知道的,现要求a1,而我们可以看出a1,a2,…,a10之间存在一个简单的关系:
a9=2×(a10+1),
a8=2×(a9+1),
a1=2×(a2+1).
也就是:ai=2×(ai+1+1) i=9,8,7,6,…,1.
这就是此题的数学模型.
再考察上面从a9,a8直至a1的计算过程,这其实是一个递推过程,这种递推的方法在计算机解题中经常用到.另一方面,这九步运算从形式上完全一样,不同的只是ai的下标而已.由此,我们引入循环的处理方法,并统一用a0表示前一天的桃子数,a1表示后一天的桃子数,将算法改写如下:
S1 a1←1;{第10天的桃子数,a1的初值}
S2 i←9;{计数器初值为9}
S3 a0←2×(a1+1);{计算当天的桃子数}
S4 a1←a0;{将当天的桃子数作为下一次计算的初值}
S5 i←i-1;
S6 若i≥1,转S3;
S7 输出a0的值;
伪代码如下:
10 a1←1
20 i←9
30 a0←2×(a1+1)
40 a1←a0.
50 i←i-1
60 If i≥1 then Goto 30
70 Else
80 Print a0
流程图如下:
 
(第10题)
开始
输入S
结束
N
Y
开始
s←0,n←1
s←s+eq \f(1,n)
n←n+1
输出s
结束
Y
N
(第9题)
Read a,b
a=a+b
b=a-b
a=(a+b)/2
b=(a-b)/2
Print a,b
(第14题)
I←I+1
输出S
N
Y
I←1
S←1
(B)
(A)
开始
结束
I←1
S←1
While I≤19
S←S+2I
I←I+1
End While
Print S
S←1
For I From 1 To 19
S←S+2I
End For
Print S
开始
结束
同课章节目录