课件34张PPT。第一章 算法初步本部分内容讲解结束按ESC键退出全屏播放
[A 基础达标]
1.执行如图所示的程序框图,若输入n=7,则输出k的值为( )
A.2 B.3
C.4 D.5
解析:选D.依题意可知,k=1,n=13;
k=2,n=25;
k=3,n=49;
k=4,n=97;
k=5,n=193>100,满足条件.故输出k的值为5.
2.下列各数中,与1010(4)相等的数是( )
A.76(9) B.103(8)
C.2111(3) D.1000100(2)
解析:选D.1010(4)=1×43+1×4=68.因为76(9)=7×9+6=69;103(8)=1×82+3=67;2111(3)=2×33+1×32+1×3+1=67;1000100(2)=1×26+1×22=68,所以1010(4)=1000100(2).
3.用秦九韶算法求多项式f(x)=4x5-x2+2当x=3时的值时,需要做乘法运算和加法(或减法)运算的次数分别为( )
A.4,2 B.5,3
C.5,2 D.6,2
解析:选C.f(x)=4x5-x2+2=((((4x)x)x-1)x)x+2,所以需要做5次乘法运算和2次加法(或减法)运算.
4.(2019·河北省涞水波峰中学月考)用辗转相除法求72与120的最大公约数时,需要做除法次数为( )
A.4 B.3
C.5 D.6
解析:选B.120=72×1+48,72=48×1+24,48=2×24,所以需要做的除法的次数是3.故选B.
5.已知某算法的程序框图如图所示,输入的x和y均为自然数,若输出的有序数对为(13,14),则开始输入的有序数对(x,y)可能为( )
A.(6,7) B.(7,6)
C.(4,5) D.(5,4)
解析:选B.设开始输入的有序数对为(x0,y0),
当n=1时,x=y0+1,y=y0+2;
当n=2时,x=y0+3,y=y0+4;
当n=3时,x=y0+5,y=y0+6;
当n=4时,x=y0+7,y=y0+8;
当n=5时,循环结束.故输出的有序数对为(y0+7,y0+8)=(13,14),所以y0=6.故选B.
6.给出如下算法:
第一步,输入a,b,c的值.
第二步,当a>b时,令“最小值”为b;否则,令“最小值”为a.
第三步,当“最小值”大于c时,令“最小值”为c;否则,“最小值”不变.
第四步,输出“最小值”.
若输入a=25,b=13,c=-26,则输出的值是________.
解析:本题的算法的功能是输入a,b,c的值,输出其中的最小值,由于-26<13<25,故输出的值是-26.
答案:-26
7.阅读如图所示的程序框图,运行相应的程序,则输出i的值为________.
解析:第一次循环后,i=0+1=1,a=1×1+1=2;
第二次循环后,i=1+1=2,a=2×2+1=5;
第三次循环后,i=2+1=3,a=3×5+1=16;
第四次循环后,i=3+1=4,a=4×16+1=65,
此时65>50,循环结束,输出i=4.
答案:4
8.执行如图所示的程序框图,若输出的结果为3,则可输入的实数x的值的个数为________.
解析:此程序框图的算法功能是求分段函数y=的值.
当y=3时,x的值可为±2,8,则可输入的实数x的值的个数为3.
答案:3
9.已知函数y=编写一个程序求函数值.
解:
INPUT “x=”;x
IF x<-1 THEN
y=x∧2-1
ELSE
IF x>1 THEN
y=SQR(3*x)+3
ELSE
y=ABS(x)+1
END IF
END IF
PRINT “y=”;y
END
10.设计算法求+++…+的值,画出程序框图并编写程序.
解:算法如下:
第一步,令S=0,i=1.
第二步,若i≤99成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+.
第四步,i=i+1,返回第二步.
法一:当型循环结构的程序框图如图(1):
图(1)
程序如下:
S=0
i=1
WHILE i<=99
S=S+1/(i*(i+1))
i=i+1
WEND
PRINT S
END
法二:直到型循环结构的程序框图如图(2):
图(2)
程序如下:
S=0
i=1
DO
S=S+1/(i*(i+1))
i=i+1
LOOP UNTIL i>99
PRINT S
END
[B 能力提升]
11.(2019·湖北省随州市第二高级中学月考)将2012(3)化为六进制数为abc(6),则a+b+c=( )
A.6 B.7
C.8 D.9
解析:选D.“三进制”数2012(3)转化为“十进制”数为2×33+0×32+1×31+2=59,
将十进制数59转化为6进制数:
59÷6=9……5,
9÷6=1……3,
1÷6=0……1,
所以将十进制数59转化为六进制数是135(6),
从而可求a+b+c=1+3+5=9.故选D.
12.美索不达米亚平原是人类文明的发祥地之一.美索不达米亚人善于计算,他们创造了优良的计数系统,其中开平方算法是最具有代表性的.程序框图如图所示,若输入a,n,ξ的值分别为8,2,0.5,每次运算都精确到小数点后两位,则输出的结果为________.
解析:输入a=8,n=2,ξ=0.5,m==4,n==3,|4-3|=1>0.5;m=≈2.67,n≈=2.84,|2.67-2.84|=0.17<0.5,输出n=2.84.
答案:2.84
13.下列是某个问题的算法,将其改为程序语言,并画出程序框图.
算法:第一步,令i=1,S=0;
第二步,若i≤999成立,则执行第三步,否则,输出S,结束算法;
第三步,S=S+;
第四步,i=i+2,返回第二步.
解:程序如下.
S=0
i=1
WHILE i<=999
S=S+1/i
i=i+2
WEND
PRINT S
END
程序框图如图.
14.(选做题)为了节约能源,培养市民节约用电的良好习惯,某省从2018年1月1日起,居民生活用电价格将全省统一,并实行三档累进递增的阶梯电价:第一档,月用电量不超过200千瓦时,每千瓦时0.498 3元;第二档,月用电量超过200千瓦时但不超过400千瓦时,超过部分每千瓦时0.548 3元;第三档,月用电量超过400千瓦时,超过部分每千瓦时0.798 3元.
(1)写出电费y(元)关于用电量x(千瓦时)的函数关系式;
(2)请帮助省政府设计一个计算电费的程序框图.
解:(1)其函数关系式为y=
,
即y=
(2)程序框图如图.
章末综合检测(一)
(时间:120分钟,满分:150分)
一、选择题:本题共12小题,每小题5分,在每小题给出的四个选项中,只有一项是符合题目要求的.
1.下列给出的赋值语句正确的是( )
A.3=A B.M=-M
C.B=A=2 D.x+y=0
解析:选B.赋值语句的格式为“变量=表达式”,故只有B正确,故选B.
2.在设计求函数f(x)=的值的程序中不可能用到的算法语句为( )
A.输入语句 B.条件语句
C.输出语句 D.循环语句
解析:选D.对于分段函数的算法,输入语句和输出语句都是需要的,条件语句也是需要的,只有循环语句不可能用到,故选D.
3.如图所示的程序框图,已知a1=3,输出的结果为7,则a2的值是( )
A.9 B.10
C.11 D.12
解析:选C.按程序框图逆向求值.因为输出的结果为7,所以b=7,又b=,所以原b=14,即a1+a2=14.又a1=3,所以a2=11.
4.在k进制中,十进制数103记为87,则k等于( )
A.6 B.12
C.14 D.16
解析:选B.由k进制中基数为k,得8×k+7×k0=103,即8k=96,k=12.故选B.
5.(2019·安徽省屯溪第一中学开学考试)数612和486的最大公约数是( )
A.12 B.14
C.16 D.18
解析:选D.用更相减损术:
612-486=126,
486-126=360,
360-126=234,
234-126=108,
126-108=18,
108-18=90,
90-18=72,
72-18=54,
54-18=36,
36-18=18.
因此612与486的最大公约数是18.故选D.
6.执行如图所示的程序框图,输出的s值为( )
A. B.
C. D.
解析:选B.执行程序框图,s=,k=2;s=+=,k=3,此时退出循环.故输出的s的值为,故选B.
7.(2019·贵州省铜仁市第一中学期末考试)某程序框图如图所示,则该程序运行后输出i的值为( )
A.6 B.7
C.8 D.9
解析:选B.执行程序框图,输入m=1,n=1,i=1,
第一次循环m=2,n=4,i=2;
第二次循环m=4,n=9,i=3;
第三次循环m=8,n=16,i=4;
第四次循环m=16,n=25,i=5;
第五次循环m=32,n=36,i=6;
第六次循环m=64,n=49,i=7;
退出循环,输出i=7.故选B.
8.下面的程序运行后输出的结果为( )
i=1
WHILE i<8
i=i+2
S=2*i+3
i=i-1
WEND
PRINT S
END
A.17 B.19
C.21 D.23
解析:选C.第一次循环,i=3,S=9,i=2;
第二次循环,i=4,S=11,i=3;
第三次循环,i=5,S=13,i=4;
第四次循环,i=6,S=15,i=5;
第五次循环,i=7,S=17,i=6;
第六次循环,i=8,S=19,i=7;
第七次循环,i=9,S=21,i=8.
此时i=8,不满足i<8,故退出循环,输出S=21,结束.
9.(2019·湖北省荆州中学期末考试)一个算法的程序框图如图所示,该程序输出的结果为,则空白处应填入的条件是( )
A.i≤9? B.i≤6?
C.i≥9? D.i≤8?
解析:选A.运行程序,i=1,S=0,判断是,S=,i=2,判断是,S=+=,i=3,判断是,S=++,i=4,判断是,S=+++,i=5,判断是,S=++++,i=6,判断是,S=+++++,i=7,判断是,S=++++++,i=8,判断是,S=+++++++,i=9,判断是,S=++++++++,i=10,此时S=×(1-+-+-+…+-)=×(1+--)=,需要退出程序,输出S的值.故填“i≤9?”.故选A.
10.(2019·湖北省宜昌县域高中协同发展共同体期末考试)如图所示的程序框图的算法思路来源于“欧几里得算法”.图中的“a MOD b”表示a除以b的余数,若输入a,b的值分别为195和52,则执行该程序输出的结果为( )
A.13 B.26
C.39 D.78
解析:选A.若输入a,b的值分别为195,52,则c=39,a=52,b=39,不满足条件,循环;
52÷39,余数为13,即c=13,a=39,b=13,不满足条件,循环;
39÷13,余数为0,即c=0,a=13,b=0,满足条件,输出a=13.故选A.
11.如图是一个程序框图,则输出的k的值为( )
A.2 B.3
C.4 D.5
解析:选B.由题意可知,
当S=1,k=1时,S=2<10,k=2;
当S=2,k=2时,S=6<10,k=3;
当S=6,k=3时,S=15>10,
此时运算程序结束,输出k=3.故选B.
12.(2019·湖北省黄冈市调研)如图是为了求出满足21+22+…+2n>2 018的最小整数n,和两个空白框中,可以分别填入( )
A.S>2 018?,输出n-1
B.S>2 018?,输出n
C.S≤2 018?,输出n-1
D.S≤2 018?,输出n
解析:选A.为了求出满足21+22+…+2n>2 018的最小整数n,且框图中在“是”时输出,
所以“”内填入“S>2 018?”.
又要求n为最小整数,所以“”中可以填入输出n-1.故选A.
二、填空题:本题共4小题,每小题5分.
13.(2019·山西省长治二中期末考试)将十进制数38化为二进制数为________.
解析:38=32+4+2=25+22+21,所以十进制数38化为二进制数为100110(2).
答案:100110(2)
14.执行如图所示的程序框图,当输入的值为3时,输出的结果是________.
解析:3<5,执行y=x2-1,所以输出结果为8.
答案:8
15.如图,是用辗转相除法求两个正整数a,b(a>b)的最大公约数算法的程序框图,其中①处应填入的是________.
解析:根据辗转相除法的原理,易知①处应填入的是r=a MOD b.
答案:a MOD b
16.如图一个算法的程序框图,则输出s的值是________.
解析:由程序框图得
k=1,s=0,
s=0+3×1=3,
k=1+2=3,
k=3≥100不成立,
s=0+3×1+3×3=12,
k=3+2=5,
k=5≥100不成立,
s=0+3×1+3×3+3×5=27,
k=5+2=7,
k=7≥100不成立,
……
k=99≥100不成立,
s=0+3×1+3×3+3×5+…+3×99,
k=99+2=101,
k=101≥100成立,
输出s=0+3×1+3×3+3×5+…+3×99=3×=7 500.
答案:7 500
三、解答题:解答应写出文字说明、证明过程或演算步骤.
17.(本小题满分10分)用秦九韶算法计算函数f(x)=2x5+3x4+2x3-4x+5当x=2时的函数值.
解:根据秦九韶算法,把多项式改写成如下形式:
f(x)=((((2x+3)x+2)x+0)x-4)x+5.
从内到外依次计算一次多项式当x=2时的值:
v0=2;
v1=2×2+3=7;
v2=v1×2+2=16;
v3=v2×2+0=32;
v4=v3×2-4=60;
v5=v4×2+5=125.
所以,当x=2时,多项式的值等于125.
18.(本小题满分12分)已知函数f(x)=对每输入的一个x值,都得到相应的函数值.画出程序框图并写出程序.
解:程序框图如图:
程序为:
INPUT x
IF x>=0 THEN
y=x∧2-1
ELSE
y=2*x∧2-5
END IF
PRINT y
END
19.(本小题满分12分)下面给出一个用循环语句编写的程序:
k=1
sum=0
WHILE k<10
sum=sum+k∧2
k=k+1
WEND
PRINT sum
END
(1)指出程序所用的是何种循环语句,并指出该程序的算法功能;
(2)请用另一种循环语句的形式把该程序写出来.
解:(1)本程序所用的循环语句是WHILE循环语句,其功能是计算12+22+32+…+92的值.
(2)用UNTIL语句改写程序如下:
k=1
sum=0
DO
sum=sum+k∧2
k=k+1
LOOP UNTIL k>=10
PRINT sum
END
20.(本小题满分12分)分别用WHILE语句和UNTIL语句编写程序,求出使不等式12+22+32+…+n2<1 000成立的n的最大整数值.
解:利用WHILE语句编写程序如下:
s=1
i=2
WHILE s<1 000
s=s+i∧2
i=i+1
WEND
i=i-2
PRINT “使不等式成立的n的最大整数值为:”;i
END
利用UNTIL语句编写程序如下:
s=1
i=2
DO
s=s+i∧2
i=i+1
LOOP UNTIL s>=1 000
i=i-2
PRINT “使不等式成立的n的最大整数值为:”;i
END
21.(本小题满分12分)某中学男子体育组的百米赛跑的成绩(单位:秒)如下:12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7.设计一个算法从这些成绩中搜索出所有小于12.1秒的成绩,画出程序框图,并编写相应的程序.
解:程序框图如图:
程序:
i=1
WHILE i<=10
INPUT Gi
IF Gi<12.1 THEN
PRINT Gi
END IF
i=i+1
WEND
END
22.(本小题满分12分)已知某算法的程序框图如图所示,若将输出的(x,y)值依次记为(x1,y1),(x2,y2),…,(xn,yn),…
(1)若程序运行中输出的一个数组是(9,t),求t的值;
(2)程序结束时,共输出(x,y)的组数为多少;
(3)写出程序框图的程序语句.
解:(1)开始时,x=1时,y=0;接着x=3,y=-2;然后x=9,y=-4,所以t=-4.
(2)当n=1时,输出一对,当n=3时,又输出一对,…,当n=2 015时,输出最后一对,共输出(x,y)的组数为1 008.
(3)程序框图的程序语句如下:
x=1
y=0
n=1
DO
PRINT (x,y)
n=n+2
x=3*x
y=y-2
LOOP UNTIL n>2 016
END