1、2011届高考数学第一轮复习精品试题:算法初步必修3 1.1-2 算法的含义、程序框图重难点: 通过实例体会算法的思想,了解算法的含义,了解算法的主要特点(有限性和确定性);能用流程图表示顺序、选择、循环这三种基本结构,能识别简单的流程图所描述的算法考纲要求:了解算法的含义、了解算法的思想理解程序框图的三种基本逻辑结构:顺序、条件分支、循环经典例题:阅读下列伪代码,并指出当时的计算结果:read a, b (2) read a, b (3) read a, b Xa+b aa+b aa+b ya-b ba-b ba-b a(x+y)/2 a(a+b)/2 a(a-b)/2 b(x-y)/2 b
2、(a-b)/2 b(a+b)/2 Print a, b Print a, b Print a, ba= ,b= a= ,b= a= ,b= 当堂练习:1算法的有穷性是指( ) A算法必须包含输出 B算法中每个操作步骤都是可执行的C算法的步骤必须有限 D以上说法均不正确2用电水壶烧一壶开水,壶中还有一点儿水,若规定盖上水壶盖是最后一步,则插上电源是( )A第二步 B第三步 C最后第二步 D最后第三步3下列哪个不是算法的特征( )A抽象性 B精确性C有穷性 D惟一性4以下给出的各数中不可能是八进制数的是()A312 B10 110 C82 D7 4575下面对算法描述正确的一项是( )w.w.w.
3、k.s.5.u.c.o.m A算法只能用自然语言来描述 B算法只能用图形方式来表示C同一问题可以有不同的算法 D同一问题的算法不同,结果必然不同6下列各数中最小的数是( ) A B C D7算法共有三种逻辑结构,即顺序结构,条件结构和循环结构,下列说法正确的是( )A一个算法只能含有一种逻辑结构 B一个算法最多可以包含两种逻辑结构i=1s=0WHILE i=4s=s*x+1i=i+1WENDPRINT sEND(第10题)C一个算法必须含有上述三种逻辑结构 D一个算法可以含有上述三种逻辑结构的任意组合a=1b=3a=a+bb=a-bPRINT a ,b(第9题)8运行以下程序时,WHILE循环
4、体内语句的执行次数是( )n=0while n100n=n+1n=n*nwendprint nend (第8题)A5 B4 C3 D99计算机执行下面的程序段后,输出的结果是( )A1,3 B4,1 C0,0 D6,010当时,下面的程序段结果是( )w.w.w.k.s.5.u.c.o.mA3 B7 C15 D1711在一个算法中,算法的流程根据条件可以有几种不同的流向( )A1 B2 C3 D多于3个12对赋值语句的描述正确的是( )可以给变量提供初值 将表达式的值赋给变量可以给一个变量重复赋值 不能给同一变量重复赋值A B C D13给出以下四个问题,x, 输出它的相反数. 求面积为6的正
5、方形的周长.求三个数a,b,c中输入一个数的最大数. 求函数f(x)= 的函数值. 其中不需要用条件语句来描述其算法的有( )A1个 B2个 C3个 D4个14用秦九韶算法计算当x=5时多项式f (x)=5+4+3+2+x+1的值 15一堆形状大小完全相同的珠子,其中只有一粒重量比其他的轻,某同学利用科学的算法,两次利用天平找出了这棵最轻的珠子,则这堆珠子至多有 粒16用冒泡排序法从小到大排列数据 13,5,9 ,10,7,4 ,需要经过 趟排序才能完成17循环结构描述算法,在画出算法流程图之前需要确定三件事:(1)确定循环变量和 ;(2)确定 ;(3)确定 18某电信部门规定:拨打市内电话时
6、,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计),试设计一个计算通话费用的算法.要求写出算法19画出方程的根的流程图20设计算法求的值.要求画出程序框图21已知函数, 编写一程序求函数值必修3 第1章 算法初步1.3 算法基本语句重难点:经历将具体问题的流程图转化为伪代码的过程;理解用伪代码表示的基本语句输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想考纲要求:理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句的含义经典例题:意大利数学家菲波拉契,在1202年
7、出版的一书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子? 试画出解决此问题的程序框图,并编写相应的程序当堂练习:x=1 y=1WHILE x=4Z=0WHILE y=x+2 Z=Z+1 y=y+1WENDPRINT Zx=x+1y=1WENDEND第2题1下边程序运行后的输出结果为( )A17 B19 C21 D23i=1WHILE i10 Bi20 Di2,则执行S3;s3 依次从2到n一1检验能不能整除n,若不能整除n,则输出n
8、则输出n是( )A质数 B奇数 C偶数 D.约数6读程序甲:INPUT i=1 乙:INPUT I=1000 S=0 S=0 WHILE i1000 DO S=S+i S=S+i i=i+l I=i一1 WEND Loop UNTIL i1 PRINT S PRINT SEND END对甲乙两程序和输出结果判断正确的是( )A程序不同结果不同 B程序不同,结果相同C程序相同结果不同 D程序相同,结果相同7阅读下列程序:输入x;if x0, then y:;else if x0, then y:;else y:0;输出 y如果输入x2,则输出结果y为( )A3 B3C5 D58x=5y=6PRI
9、NT xy=11END上面程序运行时输出的结果是( )Axy11B11Cxy=11 D出错信息9下面的问题中必须用条件结构才能实现的个数是( )(1)已知三角形三边长,求三角形的面积;(2)求方程ax+b=0(a,b为常数)的根;(3)求三个实数a,b,c中的最大者;(4)求1+2+3+100的值。A4个 B 3个 C 2个 D 1个10两个数5671、10759的最大公约数是( )A46B53C28D7111二进制数111011001001 (2)对应的十进制数是( )A3901B3902C3785D390412下面的代码的算法目的是( )10Read a,b20rmod(a,b)30If
10、r=0 then Goto 8040Else50ab60br70Goto 2080Print bA求x,y的最小公倍数B求x,y的最大公约数C求x被y整除的商D求y除以x的余数13若连续函数在区间内单调,且,则在区间内( ) A 至多有一个根 B 至少有一个根 C恰好有一个根 D不确定INPUT “n=”;ni=1sum=0WHILE i=nsum=sum+Ii=i+1 PRINT sumEND(第16题)x=5 y=20IF x0 THEN x=y3 PRINT xELSE y=y+3PRINT yEND IF END(第15题)14已知算法如下: S0; 输入 n; for i:1 to
11、n do beginSS2*i; end输出S若输入变量n的值为3,则输出变量S的值为 ;若输出变量S的值为30,则变量n的值为 15看右边程序运行后,输出的结果为_16算法程序:计算1+2+3+n的值(要求可以输入任意大于1的正自然数)中,请填上空缺的部分 17用秦九韶算法求n次多项式,当时,求需要算乘方、乘法、加法的次数分别为 18青年歌手电视大赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分数时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最底分后再求平均分.试设计一个算法,解决该问题,要求画出程序框图,写出程序(假定分数采用10分制,即每位选手的分数最高
12、分为10分,最底分为0分)19目前高中毕业会考中,成绩在85100为“A”,7084为“B”,6069为“C”,60分以下为“D”.编制程序,输入学生的考试成绩(百分制,若有小数则四舍五入),输出相应的等级20给出30个数:1,2,4,7,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),(I)请在图中判断框内(1)处和执行框中的(2)处填上合适的语句,使之能完成该题算法功能;(II)根据程序框图写出程序21有10个互不相等的数,写出找出其中一个最大数的算法和程序必修3
13、第1章 算法初步(第1题)1.4算法初步单元测试1右边的程序框图(如图所示),能判断任意输入的数x的奇偶性:其中判断框内的条件是( )Am=0 Bx=0 Cx=1 Dm=12算法的过程称为“数学机械化”,数学机械化的最大优点是可以让计算机来完成,中国当代数学家在这方面研究处于世界领先地位,为此而获得首届自然科学500万大奖的是( )A袁隆平 B华罗庚 C苏步青 D吴文俊a=0 j=1WHILE j=5 a=(a+j) MOD 5 j=j+1WENDPRINT aEND(第4题)3算法S1 m=a a=1b=3a=a+bb=a-bPRINT a ,b(第5题)S2 若bm,则m=bS3 若cm,
14、则m=dS4 若d20 Bi=20 Di=209用秦九韶算法计算多项式当时的值时,需要做乘法和加法的次数分别是 ( ) A6 , 6 B5 , 6 C5 , 5 D6 , 510给出以下一个算法的程序框图(如图所示),该程序框图的功能是( )A求输出a,b,c三数的最大数B求输出a,b,c三数的最小数C将a,b,c按从小到大排列 D将a,b,c按从大到小排列 11若输入8时,则下列程序执行后输出的结果是 12下左程序运行后输出的结果为_x=5 y=20IF x0 THEN x=y3ELSE y=y+3END IFPRINT xy ; yxEND (第12题)j=1 n=0WHILE j=11
15、j=j+1 IF j MOD 4=0 THEN n=n+1 END IF j=j+1WENDPRINT nEND(第16题)INPUT tIF t= 4 THEN c=0.2ELES c=0.2+0.1(t3)END IFPRINT cEND (第11题)13用直接插入排序法对:7,1,3,12,8,4,9,10进行从小到大排序时,第四步得到的一组数为: _ _ 14求方程 的近似根,要先将它近似地放在某两个连续整数之间,则应当在区间 上15学了算法你的收获有两点,一方面了解我国古代数学家的杰出成就,另一方面,数学的机械化,能做许多我们用笔和纸不敢做的有很大计算量的问题,这主要归功于算法语句的
16、 16上右程序输出的n的值是_17函数y=请设计算法流程图,要求输入自变量,输出函数值18某电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计),试设计一个计算通话费用的算法.要求写出算法,画出程序框图,编写程序19把“五进制”数转化为“十进制”数,再把它转化为“八进制”数20给定一个年份,写出该年是不是闰年的算法,程序框图和程序21已知正四棱锥的底面边长为3,高为4,求正四棱锥的体积和表面积,写出算法的伪代码,并画出相应图参考答案第1章 算法初步1.1-2 算法的含义、程序框图
17、经典例题:3,5;3,2.5;5,1.5当堂练习:1.C; 2.C; 3.D; 4.C; 5.C; 6.D; 7.D; 8.B; 9.B; 10.C; 11.C; 12.A; 13.B; 14.18556; 15. 9; 16. 5; 17. 初始条件,循环体,终止条件;18. 用c(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有 (第20题)算法步骤如下:第一步,输入通话时间t;第二步,如果t3,那么c = 0.2 ;否则令 c = 0.2+0.1 (t3);第三步,输出通话费用c.开始输入a,b,c输出结束输出无实数根是否19. 20.INPUT “x=” ; xIF x1
18、 THEN y=SQR(3*x)+3ELSE y=ABS(x)+1END IFEND IFPRINT “y=” ; yEND (第21题) (第19题)21.1.3 算法基本语句经典例题:根据题意可知,第一个月有1对小兔,第二个月有1对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和,设第N个月有两F对兔子,第N1个月有S对兔子,第N2个月有Q对兔子,则有F=S+Q,一个月后,即第N+1个月时,式中变量S的新值应变第N个月兔子的对数(F的旧值),变量Q的新值应变为第N1个月兔子的对数(S的旧值),这样,用S+Q求出变量F的新值就是N+1个月兔子的数,依此类
19、推,可以得到一个数序列,数序列的第12项就是年底应有兔子对数,我们可以先确定前两个月的兔子对数均为1,以此为基准,构造一个循环程序,让表示“第个月的I从3逐次增加1,一直变化到12,最后一次循环得到的F”就是所求结果. 流程图和程序如下:开始输出F结束I=I+1Q=SS=FF=S+QI12I=3S=1 Q=1NYs=0k=1max=0min=10DOINPUT xs=s+xIF max=x THEN min=xEND IFk=k+1LOOP UNTIL k12s1=smaxmina=s1/10PRINT aEND (第18题程序)S=1Q=1I=3WHILE I=12 F=S+Q Q=S S=
20、F I=I+1WENDPRINT FEND(经典例题)当堂练习:1.A; 2.C; 3.A; 4.A; 5.A; 6.B; 7.B; 8.C; 9.C; 10.B; 11.C; 12.B; 13.D; 14. 12,5; 15.17; 16. WEND; 17. 0,n,n;(第21题)18. 由于共有12位评委,所以每位选手会有12个分数,我们可以用循环语句来完成这12个分数的输入,同时设计累加变量求出这12个分数的和,本问题的关键在于从这12个输入分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于0分和10分之间,去我们可以先假设其中的最大数为0,最小数为10,然
21、后每次输入一个评委的分数,就进行一次比较,若输入的数大于0,就将之代替最大数,若输入的数小于10,就用它代替最小数,依次下去,就能找出这12个数中的最大数与最小数,循环结束后,从总和中减去最大数与最小数,再除以10,就得到该选手最后的平均数.i=1p=1s=0WHILE i=30 s=s+p p=p+i i=i+1WENDPRINT aEND(第20题程序)程序框图如上图所示.19. I=1WHILE I=1INPUT “shu ru xue sheng cheng ji a=”;aIF a60 THENPRINT “D”ELSEIF a70 THENPRINT “C”ELSEIF aMAX,
22、则MAX=z S5:i=i+1S6:若i9,返回S3继续执行,否则停1.4算法初步单元测试1.A; 2.D; 3.B; 4.D; 5.B; 6.D; 7.C; 8.A; 9.A; 10.B; 11. 0.7; 12. 22,22; 13. 1 3 7 12 8 4 9 10; 14. (1,2); 15. 循环语句; 16. 3; 17.(第18题) INPUT tIF t= 3 THEN c=0.2ELSE c=0.2+0.1(t-3)END IFPRINT cEND(第18题程序)18.解 我们用c(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有 算法步骤如下:第一步,输入
23、通话时间t;第二步,如果t3,那么c = 0.2 ;否则令 c = 0.2+0.1 (t3);第三步,输出通话费用c ;程序框图如图所示19.解:;20.S1:输入一个年份x S2:若z能被100整除,则执行S3否则执行 S4 S3:若x能被400整除,则x为闰年,否则x不为闰年 S4:若x能被4整除,则x为闰年,否则x不为闰年INPUT x IF x=100k(k是正整数)THEN IF x=400k(k是正整数)THENPRINT“x是闰年” ELSE“x不是闰年” END ELSE IF x=4k(k是正整数)THEN PRINT“x是闰年” ELSE“x不是闰年” END21开始结束输出 V,S第21题w.w.w.k.s.5.u.c.o.m