2017_2018学年高中数学第一章算法初步检测(打包6套)新人教B版必修3

文档属性

名称 2017_2018学年高中数学第一章算法初步检测(打包6套)新人教B版必修3
格式 zip
文件大小 1.9MB
资源类型 教案
版本资源 人教新课标B版
科目 数学
更新时间 2018-03-26 15:15:03

文档简介

1.1.1 算法的概念
课后篇巩固探究
1.下列关于算法的说法正确的有(  )
①求解某一类问题的算法是唯一的;②算法必须在有限步操作后停止;③算法的每一步必须是明确的,不能有歧义;④算法执行后一定产生确定的结果.
A.1个 B.2个 C.3个 D.4个
解析:算法具有有穷性和确定性,故②③④正确.
答案:C
2.对于一般的二元一次方程组在写此方程组的算法时,需要我们注意的是(  )
A.a1≠0 B.a2≠0
C.a1b2-a2b1≠0 D.a1b1-a2b2≠0
答案:C
3.解决某个问题的算法如下:
S1 给定一个实数n(n≥2).
S2 判断n是不是2,若n=2,则n满足条件;若n>2,则执行S3.
S3 依次从2到(n-1)检验能不能整除n,若都不能整除n,则n满足条件.
则满足上述条件的实数n是(  )
A.质数 B.奇数 C.偶数 D.约数
答案:A
4.用Scilab指令解二元一次方程组时,在界面上应该输入(  )
A.A=[2,3,7,-2];B=[1,5]
B.A=[2,3;7,-2];B=[1;5]
C.A=[2,7,3,-2];B=[1,5]
D.A=[2,7;3,-2];B=[1;5]
答案:B
5.一个算法步骤如下:
S1 S取值0,i取值2;
S2 若i≤10,则执行S3,否则执行S6;
S3 计算S+i并将结果代替S;
S4 用i+2的值代替i;
S5 转去执行S2;
S6 输出S.
运行以上步骤输出的结果为(  )
A.25 B.30
C.35 D.40
解析:本题考查具体的算法.按算法步骤一步一步地循环计算替换,知该算法作用为求2+4+6+8+10的值.准确计算每一步的结果才能准确地得出最终结果.
答案:B
6.导学号17504000小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条和菜共3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用(  )
A.13分钟 B.14分钟
C.15分钟 D.23分钟
答案:C
7.某人坐飞机去外地办一件急事,下面是他自己从家里出发到坐在机舱内这一过程的主要算法:
S1 乘车去飞机场售票处;
S2      ;
S3 凭票上机,对号入座.
解析:根据题意可知缺少购买机票的步骤,故S2购买机票.
答案:购买机票
8.求过P(a1,b1),Q(a2,b2)两点的直线斜率k有如下算法,请在横线上填上适当的步骤:
S1 取x1=a1,y1=b1,x2=a2,y2=b2;
S2 判断“x1=x2” 是否成立,若是,输出“斜率不存在”,否则执行S3;
S3      ;
S4 输出k.
答案:计算k=
9.已知数字序列:3,-2,-4,0,5,13,6,-32,-18,9,-20.下面是从该序列中搜索所有负数的一个算法,请补全步骤:
S1 输入实数a;
S2      ;
S3 输出a,转S1.
解析:依次输入每一个数字,进行判断,若这个数字是负数,就输出它;若不是负数,就再输入下一个数字并进行判断.
答案:若a是负数,则执行S3;否则,重复S1
10.导学号17504001下面给出一个问题的算法:
S1 输入x;
S2 若x≤2,则执行S3;否则,执行S4;
S3 输出-2x-1;
S4 输出x2-6x+3.
问题:
(1)这个算法解决的是什么问题
(2)当输入的x值为多大时,输出的数值最小
解:(1)由于输入x的值不同,代入的关系式不同,从而它是求分段函数的函数值问题,这个分段函数为f(x)=
(2)当x≤2时,f(x)≥f(2)=-5;
当x>2时,f(x)=x2-6x+3=(x-3)2-6≥-6.
故当x=3时,f(x)min=-6.
所以当输入的x值为3时,输出的数值最小.
11.导学号17504002现有三个油瓶,分别能装油8 kg、5 kg、3 kg,当能装8 kg的油瓶装满油,其他两个油瓶空着时,请不用其他容器就将这些油平分成两份,设计这个问题的算法.
解:规定能装油8 kg、5 kg、3 kg的油瓶分别为A,B,C.
S1 从A往C中倒油,C满时,A中剩余5 kg油;
S2 将C中的油全部倒入B中;
S3 从A往C中倒油,使C装满油;
S4 从C往B中倒2 kg油,此时B满;
S5 将B中的油全部倒入A中;
S6 将C中的油全部倒入B中;
S7 从A往C中倒油,使C装满油,此时A中的油为4 kg;
S8 将C中的油全部倒入B中,则B中的油也为4 kg.1.1.2 程序框图
1.1.3 第1课时 顺序结构、条件分支结构
课后篇巩固探究
A组
1.在画程序框图时,如果一个框图需要分开来画,那么要在断开处画上(  )
A.流程线 B.注释框 C.判断框 D.连接点
答案:D
2.阅读下面的程序框图,若输入的a,b,c分别是21,32,75,则输出的a,b,c分别是(  )
A.75,21,32 B.21,32,75
C.32,21,75 D.75,32,21
解析:本题中的程序框图是简单的顺序结构,只是使用了多次变量赋值,所以只要明确给一个变量赋值的含义,就容易得出最后输出的a,b,c的值是75,21,32.
答案:A
3.给出以下四个问题:
(1)输入x,输出|x-2|的值.
(2)求面积为6的等边三角形的边长.
(3)求三个数a,b,c中的最小数.
(4)求函数f(x)=的函数值.
其中不需要用条件分支结构来描述其算法的有(  )
A.1个 B.2个 C.3个 D.4个
答案:A
4.执行如图所示的程序框图,若输出结果为3,则可输入的实数x值的个数为(  )
A.1 B.2 C.3 D.4
解析:令log2x=3,得x=8(符合题意);
令x2-1=3,得x=±2(符合题意).
故可输入的实数有-2,2,8共3个数.
答案:C
5.任给x的值,计算函数y=中y值的程序框图如下图所示,其中①②③分别是(  )
A.x>1,x<1,y=3
B.x=1,x>1,y=3
C.x<1,x=1,y=3
D.x<1,x>1,y=3
解析:首先注意到①,“是”时,“y=1”,则①应该是“x<1”;
再看②,由于“否”时,“y=2”,则②应该是“x>1”;
③中当“x>1”时,“y=3”.故选D.
答案:D
6.分别写出下列程序框图的运算结果.
S=    ;d=    .
解析:S=.
∵R=8,
∴c==2,
∴d=2c=4.
答案: 4
7.如图是某一函数的求值程序框图,则满足程序框图的函数解析式为        .
解析:由程序框图判断框中对“x>3”的判断可知,f(x)为分段函数.
当x>3时,f(x)=x-2=x-3+1;
当x≤3时,f(x)=-x+4=-x+3+1.
∴f(x)=|x-3|+1.
答案:f(x)=|x-3|+1
8.已知某程序框图如图所示,若输入的x的值分别为0,1,2,执行该程序框图后,输出的y的值分别为a,b,c,则a+b+c=     .
解析:该程序框图的功能是输入自变量x的值,输出函数y=对应的函数值,记y=f(x),则a=f(0)=40=1,b=f(1)=1,c=f(2)=22=4,则a+b+c=6.
答案:6
9.已知函数y=2x+3,设计一个算法,给出函数图象上任一点的横坐标x,求该点到坐标原点的距离,并画出程序框图.
解:
算法如下:
第一步,输入横坐标x的值.
第二步,计算y=2x+3.
第三步,计算d=.
第四步,输出d.
程序框图如图所示.
10.已知分段函数f(x)=画出对任意x0∈R,求f(x0)的值的程序框图.
解:程序框图如图所示.
11.导学号17504003任意给定3个正实数,设计一个算法,判断是否存在分别以这3个数为三边边长的三角形,画出这个算法的程序框图.
解:程序框图如图所示.
B组
1.如图所示的程序框图能判断任意输入的数x的奇偶性,其中判断框内的条件是(  )
A.x=0 B.m=0
C.x=1 D.m=1
答案:B
2.给出一个算法的程序框图如图所示,该程序框图的功能是(  )
A.求出a,b,c三数中的最小数
B.求出a,b,c三数中的最大数
C.将a,b,c从小到大排列
D.将a,b,c从大到小排列
答案:A
3.定义某种运算 ,a b的运算原理如图所示:
则0 (-1)=    ;设f(x)=(0 x)x-(2 x),则f(1)=    .
答案:1 -1
4.给出下面程序框图,其功能是求函数       的函数值.
答案:y=
5.导学号17504004画出解关于x的不等式ax+b<0的程序框图.
解:程序框图如图所示.
6.某居民区的物业管理部门每月向居民收取卫生费,计算方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出一人加收1.2元.设计一个算法,根据住户的人数,计算应收取的卫生费,并画出程序框图.
解:设住户的人数为x,收取的卫生费为y元,依题意得y=
算法如下:
S1 输入x;
S2 若x≤3,则y=5;否则,y=5+1.2(x-3);
S3 输出y.
程序框图如图所示.
7.导学号17504005超市购物:
购物不足250元的,无折扣;
购物满250元(含250元,下同),不足500元的,打九五折;
购物满500元,不足1 000元的,打九二折;
购物满1 000元,不足2 000元的,打九折;
购物满2 000元及以上的,打八五折.
试画出程序框图.
解:程序框图如图所示.第2课时 循环结构
课后篇巩固探究
A组
1.按照如图所示的程序框图执行,第3个输出的数是(  )
A.7 B.6 C.5 D.4
答案:C
2.阅读如图所示的程序框图,运行相应的程序,则输出S的值为(  )
A.-1 B.0 C.1 D.3
答案:B
3.程序框图如图所示,如果程序运行的结果为S=132,那么判断框中应填入(  )
A.k≤10 B.k≥10 C.k≤11 D.k≥11
答案:A
4.如果执行如图所示的程序框图,那么输出的S=(  )
A.10 B.22 C.46 D.94
答案:C
5.导学号17504006(2017天津,理3)阅读下面的程序框图,运行相应的程序,若输入N的值为24,则输出N的值为(  )
A.0 B.1 C.2 D.3
解析:运行程序,当输入N的值为24时,24能被3整除,所以N=8.
因为8≤3不成立,且8不能被3整除,所以N=7.
因为7≤3不成立,且7不能被3整除,所以N=6.
因为6≤3不成立,且6能被3整除,所以N=2.
因为2≤3,所以输出N=2.故选C.
答案:C
6.下面的程序框图输出的结果是     .
解析:当a=5时,S=1×5=5;当a=4时,S=5×4=20;当a=3时,此程序结束,故输出S=20.
答案:20
7.某程序框图如图所示,则输出的S=     .
答案:26
8.执行下面的程序框图,若p=0.8,则输出n=    .
解析:由程序框图可知,p=0.8,n=1,S=0,满足S循环判断,此时Sp,则输出n=4,结束.
答案:4
9.画出求12-22+32-42+…+992-1002的值的程序框图.
解:程序框图如下:
10.导学号17504007试画出求4+(共10个4)的值的程序框图.
解:程序框图如下图所示.
B组
1.如图所示的程序框图的功能是计算+…+的值,则在①②两处应填(  )
A.n=0和n≤10 B.n=0和n<10
C.n=1和n≤10 D.n=1和n<10
答案:B
2.根据下面的程序框图,当输入x=2 018时,输出的y=(  )
A.2 B.3 C.10 D.28
解析:由程序框图可知,当x=-2时,终止循环,所以输出y=32+1=10.
答案:C
3.如下图所示的程序框图表示的算法的功能是    .
解析:这是个循环结构,i的值从1开始依次变为3,5,7,9,…;S的值为1×3×5×7×…,当S≥10 000时,将i的值输出.
答案:计算并输出使1×3×5×7×…×i≥10 000成立的最小整数i
4.下图是某算法的程序框图,则程序运行后输出的结果是      .
解析:当n=1时,计算出的S=0;当n=2时,计算出的S=3;当n=3时,计算出的S=5;当n=4时,计算出的S=10>9,此时输出的结果是10.
答案:10
5.导学号17504008(2017上海金山中学高三二模)执行如图所示的程序框图,则输出的S值为     .
解析:运行程序可得n=1,1≤6,S=0+1;n=2,2≤6,S=0+1+2;n=3,3≤6,S=0+1+2+3;n=4,4≤6,S=0+1+2+3+4;n=5,5≤6,S=0+1+2+3+4+5;n=6,6≤6,S=0+1+2+3+4+5+6;n=7,7≤6不成立,退出循环,所以输出S=0+1+2+3+4+5+6=21.
答案:21
6.设计算法输出1 000以内既能被3整除又能被5整除的所有正整数,画出程序框图.
解:算法如下:
S1 n=1;
S2 若n≤66,则执行S3,否则执行S6;
S3 a=15n;
S4 输出a;
S5 n=n+1,重复执行S2;
S6 结束.
程序框图如图所示.
7.导学号17504009画出求方程lg x+x-3=0在区间(2,3)内的近似解(精确到0.01)的程序框图.
解:程序框图如下图所示.
8.电脑游戏中,“主角”的生存机会往往被预先设定,如某枪战游戏中,“主角”被设定生存机会5次,每次生存承受射击8枪(被击中8枪则失去一次生命机会).假设射击过程均为单子弹发射,试为“主角”耗用生存机会的过程设计一个算法,并画出程序框图.
解:(方法一)“主角”的所有生存机会共能承受8×5=40枪(第40枪被击中,则生命结束).设“主角”被击中枪数为i,程序框图如图甲所示.
(方法二)电脑中预设共承受枪数为40,“主角”的生存机会以“减数”计数,程序框图如图乙所示.1.2 基本算法语句
课后篇巩固探究
A组
1.关于for x=a:b:c,下列说法正确的有(  )
①当x=c时程序结束;②当x=c时,还要继续执行一次;③当b>0时,x≥a时程序结束;④当b<0时,xA.1个 B.2个 C.3个 D.4个
解析:当x的值为终值时,还要执行一次,才能跳出循环体,从而①③④不正确,②正确.
答案:A
2.下面程序输入“x=π”时的运算结果是(  )
x=input(“x=”);
if x>0
y=-2;
else
  if x=0
   y=0;
else
  y=2;
end
end
print(%io(2),y);
A.-2 B.1 C.π D.2
答案:A
3.下列程序最后输出的结果为(  )
i=1;
for i=1:2:9
S=4* i;
end
print(%io(2),S);
A.18 B.21 C.28 D.36
答案:D
4.设计一个计算1×3×5×7×9×11×13的算法.图中给出了程序的一部分,则在横线①上不能填入的数是(  )
S=1;
i=3;
while i<①
 S=S* i;
 i=i+2;
end
print(%io(2),S);
A.13 B.13.5 C.14 D.14.5
解析:程序运行过程中,各变量值如下所示:
第1次循环:S=1×3,i=5;
第2次循环:S=1×3×5,i=7;
第3次循环:S=1×3×5×7,i=9;
第4次循环:S=1×3×5×…×9,i=11;
第5次循环:S=1×3×5×…×11,i=13;
第6次循环:S=1×3×5×…×13,i=15;
退出循环.
所以①处应填入的数要大于13且小于15.
答案:A
5.算法程序如下:
a=input(“a=”);
b=input(“b=”);
c=input(“c=”);
if aa=b;
end
if aa=c;
end
print(%io(2),a);
该程序的功能是(  )
A.求出a,b,c三数中的最大数
B.求出a,b,c三数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
答案:A
6.下面是一个算法的程序.若输出的y的值是20,则输入的x的值是     .
x=input(“x=”);
if x<=5
y=10x;
else
y=2.5x+5;
end
print(%io(2),y);
答案:2或6
7.写出下列程序的算术表达式.
i=1;
S=0;
while i<10
S=S+1/(2* i+1);
i=i+1;
end
print(%io(2),S);
该程序的表达式为S=            .
答案:+…+
8.某批发部出售袜子,当购买少于300双时,每双批发价为2.5元;不少于300双时,每双批发价为2.2元.试分别画出程序框图和用程序语言编写计算批发金额.
解:程序框图如下图所示.
程序如下:
i=input(“批发双数i=”);
if i<300
T=2.5* i;
else
T=2.2* i;
end
print(%io(2),T);
9.写出计算102+202+…+1 0002的算法程序,并画出相应的程序框图.
解:程序如下:
S=0;
i=10;
while i<=1000
  S=S+i^2;
  i=i+10;
end
print(%io(2),S);或S=0;
for i=10:10:1000
  S=S+i^2;
end
print(%io(2),S);
程序框图如图所示:
10.导学号17504010设计程序求π的近似值可以用公式:+…+,用此公式求,即逐项进行累加,直到<0.000 01为止(该项不累加),然后求出π的近似值.
解:程序如下.
S=0;
i=1;
T=1;
while T>=0.00001
S=S+T;
i=i+1;
T=1/(i* i);
end
p=sqrt(6* S);
print(%io(2),p);
B组
1.下列给出四个框图,其中满足while语句格式的是(  )
                
A.①② B.②③
C.②④ D.③④
解析:①④中程序执行了一次循环体后对循环条件进行判断,不符合while型语句(先判断后执行)的功能.
答案:B
2.下面程序的功能为(  )
S=1;
for i=1:1:10
S=(3^i)* S;
end
print(%io(2),S);
A.用来计算3×103的值
B.用来计算355的值
C.用来计算310的值
D.用来计算1×2×3×…×10的值
解析:当i=10时,S=31×32×33×…×310=355.
答案:B
3.下面两个程序最后输出的S的值为(  )
程序1:
i=1;
while i<8
i=i+2;
S=2i+3;
end
print(%io(2),S);
程序2:
i=1;
while i<8
S=2i+3;
i=i+2;
end
print(%io(2),S);
A.都是17 B.都是21
C.21,17 D.17,21
解析:程序1中:当i=7时进入循环体后,i=9,S=21,退出循环.程序2中:当i=7时进入循环体,S=2×7+3=17,i=9,退出循环.
答案:C
4.下面程序执行后,输出的值为(  )
J=1;
A=0;
while J<5
J=J+1;
A=A+J* J;
end
print(%io(2),J);
A.4 B.5
C.54 D.55
解析:按while循环语句的执行过程一步步分析,循环实现了2×2+3×3+4×4+5×5,但要注意输出语句中的print语句,在本题中,应为输出变量J的值,而不是A的值.
答案:B
5.读程序Ⅰ,Ⅱ,若两程序输入值与执行结果均分别相同,则两程序的输入值为    ,执行结果为    .
程序Ⅰ:
x=input(“x=”);
y=x+2;
print(%io(2),y);
程序Ⅱ:
x=input(“x=”);
y=2* x+2;
print(%io(2),y);
解析:两程序输入值相同,执行结果相同,即求直线y=x+2与y=2x+2的交点.
答案:0 2
6.导学号17504011下列程序的功能是     .(只列表达式,不需计算出结果)
S=0;
i=1;
while i<=10
S=S+1/(3* i-1);
i=i+1;
end
print(%io(2),S);
解析:第一次循环,S=,i=2;
第二次循环,S=,i=3;
第三次循环,S=,i=4;
……
最后一次循环,S=+…+,i=11,
此时循环结束.
故此程序的功能是求+…+的值.
答案:求+…+的值
7.(1)用for语句写出计算1×3×5×7×…×2 015的值的程序.
(2)用while语句写出求满足1++…+>10的最小自然数n的程序.
解:(1)
S=1;
for i=3:2:2015
  S=S* i;
end
print(%io(2),S);
(2)
S=1;
i=1;
while S<=10
i=i+1;
S=S+1/i;
end
print(%io(2),i);
8.导学号17504012设计一个程序将全班60名学生考试及格者的平均分计算并打印出来.
解:程序如下:
S=0;
n=1;
i=0;
while n<=60
G=input(“输入学生成绩”);
if G>=60
 i=i+1;
 S=S+G;
end
n=n+1;
end
aver=S/i;
print(%io(2),aver);1.3 中国古代数学中的算法案例
课后篇巩固探究
1.秦九韶算法能解决下列问题中的(  )
A.求两个正整数的最大公约数
B.多项式求值
C.进位制的转化计算
D.排序问题
答案:B
2.284和1 024的最小公倍数是(  )
A.1 024 B.142
C.72 704 D.568
答案:C
3.用秦九韶算法求多项式f(x)=x3-3x2+2x-11当x=x0时的值时,应把f(x)变形为(  )
A.x3-(3x+2)x-11
B.(x-3)x2+(2x-11)
C.(x-1)(x-2)x-11
D.((x-3)x+2)x-11
答案:D
4.用秦九韶算法求多项式f(x)=2+0.35x+1.8x2-3.66x3+6x4-5.2x5+x6在x=-1.3时,令v0=a6,v1=v0x+a5,…,v6=v5x+a0时,v3的值为(  )
A.-9.820 5 B.14.25
C.-22.445 D.30.978 5
答案:C
5.导学号17504013下面程序的目的是(  )
a=input(“a=”);
b=input(“b=”);
while a<>b
 if a>=b
 a=a-b;
 else
 b=b-a;
 end
end
print(%io(2),a);
A.求a/b的余数
B.求a,b的最小公倍数
C.求a被b整除的商
D.求a,b的最大公约数
解析:先看循环条件,当a≠b时,循环体的内容是作差(大数-小数),当a=b即差和减数相同时,退出循环,算法与更相减损之术相同.
答案:D
6.用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6在x=-4的值时,其中v1的值为     .
解析:由题意知v0=3,v1=3×(-4)+5=-7.
答案:-7
7.导学号17504014在下面程序框图中,若输入m=333,n=1 813,则输出结果为     .
解析:该程序框图的功能就是用“更相减损之术”求m与n的最大公约数.由于1 813-333=1 480,1 480-333=1 147,1 147-333=814,814-333=481,481-333=148,333-148=185,185-148=37,148-37=111,111-37=74,74-37=37,于是333和1 813的最大公约数是37,故输出结果为37,37.
答案:37,37
8.已知f(x)=2-3x-2x2+3x4-4x5+x6,用秦九韶算法求f(2)的值.
解:f(x)=2-3x-2x2+3x4-4x5+x6
=x6-4x5+3x4+0·x3-2x2-3x+2
=(((((x-4)x+3)x+0)x-2)x-3)x+2.
于是v0=1,v1=1×2-4=-2,
v2=(-2)×2+3=-1,v3=(-1)×2+0=-2,
v4=(-2)×2-2=-6,v5=(-6)×2-3=-15,
v6=(-15)×2+2=-28.
故f(2)=-28.
9.有甲、乙、丙三种溶液,分别重150 kg,135 kg,80 kg.现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同.问:每小瓶最多装多少千克溶液
解:先求135,80的最大公约数,(135,80)→(55,80)→(55,25)→(30,25)→(5,25)→(5,20)→(5,15)→(5,10)→(5,5);再求5与150的最大公约数,显然为5.
故150,135,80的最大公约数为5,即每小瓶最多可装5 kg溶液.
10.导学号17504015已知n次多项式Pn(x)=a0xn+a1xn-1+…+an-1x+an,如果在一种算法中,计算(k=2,3,4,…,n)的值需要k-1次乘法,
(1)计算P3(x0)的值需要9次运算(6次乘法,3次加法),则计算Pn(x0)的值需要多少次运算
(2)若采取秦九韶算法:P0(x)=a0,Pk+1(x)=xPk(x)+ak+1(k=0,1,2,…,n-1),计算P3(x0)的值只需6次运算,则计算Pn(x0)的值共需要多少次运算
(3)若采取秦九韶算法,设ai=i+1,i=0,1,…,n,求P5(2)(写出采取秦九韶算法的计算过程).
解:直接法中乘法运算的次数最多可达到,加法最多n次.秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次.
(1).
(2)2n.
(3)因为P0(x)=a0,
Pk+1(x)=xPk(x)+ak+1,
所以P0(2)=1,P1(2)=2P0(2)+2=4,
P2(2)=2P1(2)+3=11,
P3(2)=2P2(2)+4=26,
P4(2)=2P3(2)+5=57,
P5(2)=2P4(2)+6=120.第1课时 算法初步
课后篇巩固探究
A组
1.下列说法不正确的是(  )
A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构
B.循环结构是在一些算法中从某处开始按照一定条件,反复执行某一处理步骤,故循环结构中一定包含条件分支结构
C.循环结构中不一定包含条件分支结构
D.循环结构中反复执行的处理步骤叫做循环体
解析:循环结构是在一些算法中从某处开始按照一定条件,反复执行某一处理步骤,故循环结构中一定包含条件分支结构.
答案:C
2.在用“等值算法”求98和56的最大公约数时,操作如下:(98,56)→(42,56)→(42,14)→(28,14)→(14,14),由此可知两数的最大公约数为(  )
A.98 B.56 C.14 D.42
解析:由等值算法可得(14,14)这一对相等的数,这个数就是所求两数的最大公约数.
答案:C
3.如果以下程序运行后输出的结果是132,那么在程序中,while后面的条件表达式应为(  )
S=1;
i=12;
while 条件表达式
 S=S* i;
 i=i-1;
end
S
A.i>11 B.i>=11
C.i<=11 D.i<11
解析:∵132=12×11,∴表达式应为i>=11.
答案:B
4.阅读下边的程序框图,运行相应的程序,则输出i的值为(  )
A.2 B.3 C.4 D.5
解析:由程序框图可知:i=1,S=9;i=2,S=7;i=3,S=4;i=4,S=0.输出i=4.
答案:C
5.下面的程序框图表示的算法的功能是(  )
A.计算小于100的奇数的连乘积
B.计算从1开始的连续奇数的连乘积
C.从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数
D.计算1×3×5×…×n≥100时的最小的n值
解析:该程序框图表示的算法是确定使1×3×…×n≥100成立的最小整数n的值.
答案:D
6.已知f(x)=3x5-8x4+x3-2x2+3x-1,则f(2)的值为     .
解析:f(x)=((((3x-8)x+1)x-2)x+3)x-1,
v0=3,
v1=3×2-8=-2,
v2=-2×2+1=-3,
v3=-3×2-2=-8,
v4=-8×2+3=-13,
v5=-13×2-1=-27.
答案:-27
7.若输入t=8,则执行下列程序后输出的结果是 .
i=input(“t=”);
if t<5
 y=t2+1;
else
 if t<8
y=2t-1;
 else
y=+1;
 end
end
print(%io(2),y);
解析:输入t=8,执行的是y=+1=8+1=9.
答案:9
8.阅读右边的框图,运行相应的程序,输出S的值为     .
解析:初始时,S=0,n=3;
第1次运作,S=0+(-2)3=-8,n=3-1=2;
第2次运作,S=-8+(-2)2=-4,n=2-1=1,
此时满足n≤1,输出-4.
答案:-4
9.一队士兵来到一条有鳄鱼的深河的左岸,只有一条小船和两个小孩,这条船只能承载两个小孩或一个士兵.试设计一个算法,将这队士兵渡到对岸,并将这个算法用程序框图表示.
解:第1步,两个儿童将船划到右岸;
第2步,他们中间一个上岸,另一个划回来;
第3步,儿童上岸,一个士兵划过去;
第4步,士兵上岸,让儿童划回来;
第5步,如果左岸没有士兵,那么结束,否则转第1步.
程序框图如图所示.
10.试编写程序确定S=1+4+7+10+…中至少加到第几项时S≥300.
解:程序如下:
S=0;
n=1;
i=0;
while S<300
 S=S+n;
 n=n+3;
 i=i+1;
end
print(%io(2),i);
11.导学号17504073某次数学考试中,其中一个小组的成绩为55,89,69,73,81,56,90,74,82.
设计一个算法,用自然语言描述从这些成绩中搜索出小于75的成绩,并画出程序框图.
解:算法如下:
第一步,i=1;
第二步,输入一个数a;
第三步,若a<75,则输出a;
第四步,i=i+1;
第五步,若i>9,则结束算法,否则,执行第二步.
程序框图如下:
B组
1.(2017福建宁德高三质检)运行如图所示的程序,若输出y的值为1,则可输入x的个数为(  )
x=input(“x=”);
if x<=0
 y=2^x;
else
 y=-x^3+3* x;
end
y
A.0 B.1 C.2 D.3
解析:模拟程序运行,可得程序的功能是求y=
的值,故当x≤0时,1=2x,解得x=0;x>0时,1=-x3+3x.当x>0时函数f(x)=-x3+3x-1的图象与x轴有2个交点,即有2个零点,综上,可得可输入x的个数为3.
答案:D
2.
如图是秦九韶算法的一个程序框图,则输出的S为(  )
A.a1+x0(a3+x0(a0+a2x0))的值
B.a3+x0(a2+x0(a1+a0x0))的值
C.a0+x0(a1+x0(a2+a3x0))的值
D.a2+x0(a0+x0(a3+a1x0))的值
解析:由秦九韶算法,S=a0+x0(a1+x0(a2+a3x0)).
答案:C
3.阅读如图所示的程序框图,运行相应的程序.若输入某个正整数n后,输出的S∈(31,72),则n的值为     .
解析:由程序框图可知:
运行第一次:S=1+2×0=1,k=2;运行第二次:S=1+2×1=3,k=3;运行第三次:S=1+2×3=7,k=4;运行第四次:S=1+2×7=15,k=5;运行第五次:S=1+2×15=31,k=6;运行第六次:S=1+2×31=63,k=7,
因为31<63<72,所以运行第六次后应结束,则判断框中的条件应为k>6.
答案:6
4.执行下面的程序,输出的结果是     .
S=1;
I=3;
while S<=200
S=S×I;
I=I+2;
end
print(%io(2),I)
解析:根据算法中循环结构可得:第一次:S=1×3=3,I=3+2=5,由3≤200,则循环;第二次:S=3×5=15,I=5+2=7,由15≤200,则循环;第三次:S=15×7=105,I=7+2=9,由105≤200,则循环;第四次:S=105×9=945,I=9+2=11,由945>200,则循环结束,故此时I=11.
答案:11
5.给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),请在图中判断框内①处和执行框中的②处填上合适的语句,使之能完成该题算法功能.
解:∵该问题是求30个数的和,
∴程序框图中所示循环体要执行30次.
∵循环变量i的初始值为1,
∴它的终止值为30.
∴在判断框①处所填语句为i>30.
∵由题意可知,第(i+1)个数比第i个数大i,
∴在执行框②处所填语句为p=p+i.
6.导学号17504075古希腊杰出的数学家丢番图的墓碑上有这样一首诗:
这是一座古墓,里面安葬着丢番图.
请你告诉我,丢番图的寿数几何
他的童年占去了一生的六分之一,
接着十二分之一是少年时期,
又过了七分之一的时光,他找到了自己的终身伴侣.
五年之后,婚姻之神赐给他一个儿子,
可是儿子不济,只活到父亲寿数的一半,就匆匆离去.
这对父亲是一个沉重的打击,
整整四年,为失去爱子而悲伤,
终于告别了数学,离开了人世.
试用循环结构,写出算法分析和算法程序.
解:设丢番图的寿数为x,则x为正整数,根据题意可知x+x+x+5+x+4=x,我们可以从x=1,依次验证是不是方程的解.算法如下:
S1 x=1;
S2 判断x+x+x+5+x+4=x是否成立,如果成立,则输出x;否则,转至S3;
S3 x=x+1,转至S2.
算法程序如下:
x=1;
while x+x+x+5+x+4<>x
x=x+1;
end
print(%io(2),x);