资料简介
章末质量检测卷(一) 算法初步(时间:120分钟 满分:150分)一、选择题(本题共12小题,每小题5分,共60分.在每小题给出的四个选项中,只有一项是符合题目要求的)1.下面对算法描述正确的一项是( )A.算法只能用自然语言来描述B.算法只能用图形方式来表示C.同一个问题可以有不同的算法D.同一问题的算法不同,结果必然不同解析:选C 算法可以用自然语言、程序框图、程序语句等来描述,同一个问题可以有不同的算法,但结果是相同的.2.算法共有三种逻辑结构,即顺序结构、条件结构和循环结构,下列说法正确的是( )A.一个算法只含有一种逻辑结构B.一个算法最多可以包含两种逻辑结构C.一个算法必须含有上述三种逻辑结构D.一个算法可以含有上述三种逻辑结构解析:选D 一个算法中具体含有哪种结构,主要看如何解决问题或解决怎样的问题,以上三种逻辑结构在一个算法中都有可能出现,故选D.3.下列给出的输入语句、输出语句和赋值语句:(1)输出语句INPUT a,b,c(2)输入语句INPUT y=3(3)赋值语句 3=A(4)赋值语句 A=B=C则其中正确的个数是( )A.0个 B.1个C.2个D.3个解析:选A (1)中输出语句应使用PRINT;(2)中输入语句不符合格式INPUT “提示内容”;变量;
(3)中赋值语句应为A=3;(4)中赋值语句出现两个赋值号是错误的.4.如果执行如图所示的程序框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( )A.A+B为a1,a2,…,aN的和B.为a1,a2,…,aN的算术平均数C.A和B分别是a1,a2,…,aN中最大的数和最小的数D.A和B分别是a1,a2,…,aN中最小的数和最大的数解析:选C 由于x=ak,且x>A时,将x值赋给A,因此最后输出的A值是a1,a2,…,aN中最大的数;由于x=ak,且x<B时,将x值赋给B,因此最后输出的B值是a1,a2,…,aN中最小的数,故选C.5.已知程序(如图),该程序的含义是( )A.求方程x3+3x2-24x+3=0的零点B.求一元三次多项式函数值的程序C.求输入x后,输出y=x3+3x2-24x+3的值D.y=x3+3x2-24x+3的流程图
解析:选C 根据已知的程序语句可得:该程序的第一条语句功能是输入x值,第二条语句的功能是计算y=x3+3x2-24x+3的值,第三条语句的功能是输出y值,故程序的功能是求输入x后,输出y=x3+3x2-24x+3的值.故选C.6.定义:如果一条直线同时与n个圆相切,则称这条直线为这n个圆的公切线.已知有2018个圆Cn:(x-an)2+(y-bn)2=r(n=1,2,3,…,2018),其中an,bn,rn的值由以下程序给出,则这2018个圆的公切线条数( )A.没有公切线B.只有一条C.恰好有两条D.有超过两条解析:选C 由程序语言知,圆心坐标(mn,2mn)在直线y=2x上,圆的半径为|m|n,∴相邻两圆半径之差为|m|,相邻两圆圆心距均为d==|m|.∴这2018个圆的公切线恰好有两条,是外公切线.7.图示程序的功能是( )A.求1×2×3×4×…×10000的值
B.求2×4×6×8×…×10000的值C.求3×5×7×9×…×10001的值D.求满足1×3×5×…×n>10000的最小正整数n解析:选D S是累乘变量,i是计数变量,每循环一次,S乘以i一次且i增加2.当S>10000时停止循环,输出的i值是使1×3×5×…×n>10000成立的最小正整数n.8.下边程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a,b分别为14,18,则输出的a=( )A.0B.2C.4D.14解析:选B 输入的a,b分别为14,18,程序依次运行:14≠18(是),14>18(否),b=4;14≠4(是),14>4(是),a=10;10≠4(是),10>4(是),a=6;6≠4(是),6>4(是),a=2;2≠4(是),2>4(否),b=2;2≠2(否),输出a=2.9.用秦九韶算法求多项式f(x)=208+9x2+6x4+x6当x=-4时的值时,v2的值为( )A.-4B.1C.17D.22解析:选D v0=1;v1=1×(-4)+0=-4;v2=-4×(-4)+6=22. 10.(2018·全国卷Ⅱ)为计算S=1-+-+…+-,设计了下面的程序框图,则在空白框中应填入( )
A.i=i+1B.i=i+2C.i=i+3D.i=i+4解析:选B S=1-+-+…+-=-,当不满足判断框内的条件时,S=N-T,所以N=1+++…+,T=++…+,所以空白框中应填入i=i+2.故选B.11.执行如图所示的程序框图,若输出的结果是9,则判断框内m的取值范围是( )A.(42,56]B.(56,72]C.(72,90]D.(42,90]解析:选B 第一次运行:S=2,k=2;第二次运行:S=6,k=3;…;第七次运行:S=56,k=8;第八次运行:S=2+4+6+…+16=72,k=9,输出结果,故判断框中m的取值范围是(56,72].
12.下面程序框图是为了求出满足3n-2n>1000的最小偶数n,那么在◇和两个空白框中,可以分别填入( )A.A>1000?和n=n+1B.A>1000?和n=n+2C.A≤1000?和n=n+1D.A≤1000?和n=n+2解析:选D 解法一(排除法):因为要求3n-2n大于1000时输出,且程序运行在不满足“◇”时输出,所以“◇”中不能填入A>1000?,排除A、B;又要求n为偶数,且n的初始值为0,故“”中n依次加2可以保证其为偶数,故选D.解法二(分析法):本题求解的是满足3n-2n>1000的最小偶数n,可判断出循环结构为当型循环结构,即满足条件要执行循环体,不满足条件要输出结果,所以判断语句应为A≤1000?,另外,所求为满足不等式的偶数解,因此“”中的语句应为n=n+2,故选D.二、填空题(本题共4小题,每小题5分,共20分)13.三个数390,455,546的最大公约数是________.解析:390与455的最大公约数是65,65与546的最大公约数为13,故三个数390,455,546的最大公约数是13.答案:1314.把七进制数1620(7)化为二进制数为________.解析:1620(7)=1×73+6×72+2×7+0=651,651=1010001011(2),所以1620(7)=1010001011(2).
答案:1010001011(2)15.执行下面的程序框图,如果输入的a=-1,则输出的S=________.解析:由程序框图可得S=0,a=-1,K=1≤6;S=0+(-1)×1=-1,a=1,K=2≤6;S=-1+1×2=1,a=-1,K=3≤6;S=1+(-1)×3=-2,a=1,K=4≤6;S=-2+1×4=2,a=-1,K=5≤6;S=2+(-1)×5=-3,a=1,K=6≤6;S=-3+1×6=3,a=-1,K=7>6,退出循环,输出S=3.答案:316.执行如图所示的程序框图,输出的n为________.
解析:初始值,a=1,n=1,|a-1.414|=0.414≥0.005,执行第一次循环,a=1+=,n=2;|a-1.414|=0.086≥0.005,执行第二次循环,a=1+=,n=3;|a-1.414|=0.014≥0.005,执行第三次循环,a=1+=,n=4;|a-1.414|≈0.0027<0.005,跳出循环,输出n=4.答案:4三、解答题(本题共6小题,共70分.解答应写出文字说明、证明过程或演算步骤)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分)已知函数y=画出程序框图,对每一个输入的x值,都得到相应的函数值.解:程序框图如图所示:
19.(本小题满分12分)以下是某次数学考试中某班15名同学的成绩(单位:分):72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求用程序框图将这15名同学中成绩高于80分的同学的平均分数求出来.解:程序框图如图所示:20.(本小题满分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=2015时,输出最后一对,共输出(x,y)的组数为1008.(3)程序框图的程序语句如下:21.(本小题满分12分)一个数被3除余2,被7除余4,被9除余5,求满足条件的最小正整数.画出程序框图,并写出程序.解:此问题即求不定方程组的正整数解,首先可以从m=2开始检验条件,若三个条件任何一个不满足,则m递增1,一直到m同时满足3个条件为止.程序框图如图:程序如下:
22.(本小题满分12分)意大利数学家菲波拉契,在1202年出版的一书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子?试画出解决此问题的程序框图,并编写相应的程序.解:根据题意可知,第一个月有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从3逐次增加1,一直变化到12,最后一次循环得到的F”就是所求结果,流程图和程序如下:
查看更多