新课程高中数学训练题组参考答案(咨询13976611338)
数学3(必修)第一章 算法初步 [基础训练A组]
一、选择题
1.C 算法的特点:有穷性,确定性,顺序性与正确性,不唯一性,普遍性
2.D 任何一个算法都有顺序结构,循环结构一定包含条件结构,二分法用到循环结构 3.B 先把b的值赋给中间变量c,这样c?17,再把a的值赋给变量b,这样b?8,
把c的值赋给变量a,这样a?17 4.B 把1赋给变量a,把3赋给变量b,把4赋给变量a,把1赋给变量b,输出a,b
?2a,a?105.D 该程序揭示的是分段函数y??2的对应法则
a,a?10?二、填空题
1. INPUT,WHILE,WEND 2. 5,3,2,7,9,1 注意是从大到小
3. 5,5 来自课本上的思考题:一元n次多项式问题 4. ①,②,③,④,⑥ 基本算法语句的种类
4389余49715. 1,
42446410
1021,末位是第一个余数,389?12011注意:余数自下而上排列 (4)三、解答题
32101. 解:1234?1?5?2?5?3?5?4?5?194 (5)8194余8242 ? ?194?302 (8)830032. 解:f(x)?((((((7x?6)?5)x?4)x?3)x?2)x?1)x
V0?7,V1?7?3?6?27,V2?27?3?5?86,V?386?3?4?262, V4?262?3?6?789,V5?789?3?2?2369,
V6?2369?3?1?7108,V7?7108?3?0?21324,?f(3)?213 24 21
3. 解:INPUT \a?\a
l?SQR(2)?a
s?a?a
PRINT \l?\l,\s?\s END
4. 解:TNPUT \通话时间\t IF t??3 and t?0 THEN c?0.30
ELSE c?0.30?0.10?(t?3) END IF
PRINT \通话费用\c END
数学3(必修)第一章 算法初步 [综合训练B组]
一、选择题
1.D 459?357?1?102,357?102?3?51,102?51?2
51是102和51的最大公约数,也就是459和357的最大公约数 2.C 0?2?1?1,1?2?1?3,3?2?1?7,7?2?1?15
3.B 先比较8与1,得8,1;把2插入到8,1,得8,2,1;把3插入到8,2,1,得8,3,2,1; 4.A 见课本赋值语句相关部分
5.D Until标志着直到型循环,直到终止条件成就为止
6.B 经过第一趟得5,9,10,7,4,13;经过第二趟得5,9,7,4,10,13;经过第三趟得
5,7,4,9,10,13;经过第四趟得5,4,7,9,10,13;经过第五趟得4,5,7,9,10,13;
二、填空题
1.(1)s?s?i(2)i?i?2 2.11
a1?a2?7,a2?11 223. 111111 、、?9?5?77 210?2?6?1?6?0? 78 (2) 85(9)?8(6) 100(0、14? 64 111111)??1?2?1?2?1?2?1?2?1?2 ?14)??(24.i?10
5. 1,3,7,8,12,4,9,10 1,7,3,12,8,4,9,10①; 1,3,7,12,8,4,9,10②;
22
35432631,3,7,12,8,4,9,10③;1,3,7,8,12,4,9,10④
三、解答题 1.解: i=1
sum=0
WHILE i<=100 sum=sum+i i=i+1 WEND PRINT sum END
2.解:INPUT “x=”;x
IF x>=0 and x<=4 THEN y=2?x
ELSE IF x<=8 THEN y=8
ELSE y=2*(12-x) END IF END IF PRINT y END
3.解: 324=243×1+81
243=81×3+0
则 324与 243的最大公约数为 81
又 135=81×1+54
81=54×1+27 54=27×2+0
则 81 与 135的最大公约数为27
所以,三个数 324、243、135的最大公约数为 27.
另法324?243?81,243?81?162,162?81?81;
135?81?54,81?54?27,54?27?27 ?27为所求。
4. 解: 根据题意可知,第一个月有1对小兔,第二个月有1对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和,设第N个月有F对兔子,第
N?1个月有S对兔子,第N?2个月有Q对兔子,则有F?S?Q,一个月后,即第N?1个
月时,式中变量S的新值应变第N个月兔子的对数(F的旧值),变量Q的新值应变为第
N?1个月兔子的对数(S的旧值),这样,用S?Q求出变量F的新值就是N?1个月兔子
的数,依此类推,可以得到一个数序列,数序列的第12项就是年底应有兔子对数,我们可以先确定前两个月的兔子对数均为1,以此为基准,构造一个循环程序,让表示“第×个月的I从
23
3逐次增加1,一直变化到12,最后一次循环得到的F就是所求结果. 流程图和程序如下:
开始 I≤12 Y F=S+Q 输出F Q=S S=F I=I+1 N S=1 Q=1 I=3 S=1 Q=1 I=3 WHILE I<=12 F=S+Q Q=S S=F I=I+1 WEND PRINT F END 结束 数学3(必修)第一章 算法初步 [提高训练C组]
一、选择题
1.B 赋值语句的功能
2.A 仅②不需要分情况讨论,即不需要用条件语句 3.D 5?4?3?2?15,5?4?3?2?1?15 4.A ①34,22,23,43,54;22,23,34,43,54②
5.D j?1,a?1;j?2,a?3;j?3,a?1;j?4,a?0;j?5,a?0
6.B 37,21,3,56,9,7经过一趟得:21,3,37,9,7,56;经过二趟得:3,21,9,7,37,56; 经过三趟得:3,9,7,21,3 7,二、填空题
?7?2?11.24 120248,?72?48?110?24?,48?24?2, 1?61?2.7.75 111.11?1?2?1?2?1?2?1?2?1?2112?4?2?1??
243.22,?22 4.将a,b,c按从大到小的顺序排列后再输出
24
三、解答题
1. 解:第一步:取a?2,b?3,c?4
第二步:计算p?第三步:计算S?a?b?c 2p(p?a)(p?b)(p?c) 第四步:输出S的值
2.解:算法如下: 1、取[a,b]中点x0?1(a?b),将区间一分为二 2*2、若f(x0)?0,则x0就是方程的根;否则所求根x在x0的左侧或右侧 若f(a)f(x0)?0,则x*?(x0,b),以x0代替a; 若f(a)f(x0)?0,则x*?(a,x0),以x0代替b; 3、若a?b?c,计算终止 此时x*?x0,否则转到第1步 算法语句: Input a,b,c
x0?a?b 2f(a)?a5?3a?1
f(x0)?x05?3x0?1
repeat if f(x0)?0 then print x0 else
if f(a)f(x0)?0 then b?x0 else a?x0 until a?b?c
25