高考数学一轮复习精品题集之算法初步

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

高考数学一轮复习精品题集之算法初步

i=1 s=0 WHILE i<=4 s=s*x+1 i=i+1 WEND PRINT s END (第 10 题) a=1 b=3 a=a+b b=a-b PRINT a ,b (第 9 题) 必修 3 算法初步 §1.1-2 算法的含义、程序框图 重难点: 通过实例体会算法的思想,了解算法的含义,了解算法的主要特点(有限性和确 定性);能用流程图表示顺序、选择、循环这三种基本结构,能识别简单的流程图所描述的 算法. 考纲要求:①了解算法的含义、了解算法的思想. ②理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. 经典例题:阅读下列伪代码,并指出当 3, 5ab   时的计算结果: ⑴read a, b (2) read a, b (3) read a, b X←a+b a←a+b a←a+b y←a-b b←a-b b←a-b a←(x+y)/2 a←(a+b)/2 a←(a-b)/2 b←(x-y)/2 b←(a-b)/2 b←(a+b)/2 Print a, b Print a, b Print a, b [来源:学#科#网 Z#X#X#K] a= ,b= a= ,b= a= ,b= 当堂练习: 1.算法的有穷性是指( ) A.算法必须包含输出 B.算法中每个操作步骤都是可执行的 C.算法的步骤必须有限 D.以上说法均不正确 2 用电水壶烧一壶开水,壶中还有一点儿水,若规定盖上水壶盖是最后一步,则插上电源是 ( ) A.第二步 B.第三步 C.最后第二步 D.最后第三步 3.下列哪个不是算法的特征( ) A.抽象性 B.精确性 C.有穷性 D.惟一性 4.以下给出的各数中不可能是八进制数的是() A.312 B.10 110 C.82 D.7 457 5.下面对算法描述正确的一项是( )w.w.w.g.k.x.x.c.o.m A.算法只能用自然语言来描述 B.算法只能用图形方式来表示 C.同一问题可以有不同的算法 D.同一问题的算法不同,结果必然不同 6.下列各数中最小的数是( ) A. (9)85 B. (6)210 C. (4)1000 D. (2)111111 7.算法共有三种逻辑结构,即顺序结构,条件结构和循环结构,下列说法正确的是( ) A.一个算法只能含有一种逻辑结构 B.一个算法最多可以包含两种逻辑结构 C.一个算法必须含有上述三种逻辑结构 D.一个算法可以含有上述三种逻辑结构的 任意组合 8.运行以下程序时,WHILE 循环体内语句的执行次数是( ) n=0 while n<100 n=n+1 n=n*n wend print n end (第 8 题) A.5 B.4 C.3 D.9 9.计算机执行下面的程序段后,输出的结果是( ) A.1,3 B.4,1 C.0,0 D.6,0 10.当 2x  时,下面的程序段结果是( )w.w.w.g.k.x.x.c.o.m A.3 B.7 C.15 D.17 11.在一个算法中,算法的流程根据条件可以有几种不同的流向( ) A.1 B.2 C.3 D.多于 3 个 12.对赋值语句的描述正确的是( ) ①可以给变量提供初值 ②将表达式的值赋给变量 ③可以给一个变量重复赋值 ④不能给同一变量重复赋值 A.①②③ B.①② C.②③④ D.①②④ 13.给出以下四个问题, ①x, 输出它的相反数. ②求面积为6的正方形的周长.③求三个数a,b,c中输入一个数的最 大数. ④求函数 f(x)= 0.1 0.2{   xx xx 的 函数值. 其中不需要用条件语句来描述其算法 的有( ) A.1 个 B.2 个 C.3 个 D.4 个 14.用秦九韶算法计算当 x=5 时多项式 f (x)=5 5x +4 4x +3 3x +2 2x +x+1 的值 . 15.一堆形状大小完全相同的珠子,其中只有一粒重量比其他的轻,某同学利用科学的算法, 两次利用天平找出了这棵最轻的珠子,则这堆珠子至多有 粒. 16.用冒泡排序法从小到大排列数据{ 13,5,9 ,10,7,4 },需要经过 趟排 序才能完成. 17.循环结构描述算法,在画出算法流程图之前需要确定三件事:(1)确定循环变量 和 ;(2)确定 ;(3)确定 . 18.某电信部门规定:拨打市内电话时,如果通话时间不超过 3 分钟,则收取通话费 0.2 元,如果通话时间超过 3 分钟,则超过部分以每分钟 0.1 元收取通话费(通话不足 1 分钟时 按 1 分钟计),试设计一个计算通话费用的算法.要求写出算法. 19.画出方程 2 0( 0)ax bx c a    的根的流程图. 20.设计算法求 1 1 1 1 1 2 2 3 3 4 99 100          的值.要求画出程序框图. 21.已知函数 2 1, 1 | | 1, 1 1 3 3, 1 xx y x x xx           , 编写一程序求函数值. 必修 3 第 1 章 算法初步 x=1 y=1 WHILE x<=4 Z=0 WHILE y<=x+2 Z=Z+1 y=y+1 WEND PRINT Z x=x+1 y=1 WEND END 第 2 题 a = 1 b = 2 c = 3 a = b b = c c = a PRINT a,b,c END (第 4 题) i=1 WHILE i<8 i=i+2 s=2×i+3 WEND PRINT s END (第 5 题) 第 2 题 §1.3 算法基本语句 重难点:经历将具体问题的流程图转化为伪代码的过程;理解用伪代码表示的基本语句―― 输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想. 考纲要求:①理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环 语句的含义. 经典例题:意大利数学家菲波拉契,在 1202 年出版的一书里提出了这样的一个问题:一对兔 子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部 存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底 应有多少对兔子? 试画出解决此问题的程序框图,并编写相应的程序. 当堂练习: 1.下边程序运行后的输出结果为( ) A.17 B.19 C.21 D.23 2.右边程序运行的结果是( ) A.1,2,3 B.2,3,1 C.2,3,2 D.3,2,1 3.上右程序运行后输出的结果为( ) A. 3 4 5 6 B. 4 5 6 7 C. 5 6 7 8 D. 6 7 8 9 4 右图给出的是计算 1 1 1 1 2 4 6 20      的值的 一个程序框图,其中判断框内应填入的条件是( ) A.i>10 B.i<10 C.i>20 D.i<20 5.算法: S1 输入 n; S2 判断 n 是否是 2,若 n=2,则 n 满足条件, 若 n>2,则执行 S3; s3 依次从 2 到 n 一 1 检验能不能整除 n,若不能整除 n, 则输出 n.则输出 n 是( ) A.质数 B.奇数 C.偶数 D.约数 6.读程序 甲:INPUT i=1 乙:INPUT I=1000 S=0 S=0 WHILE i≤1000 DO S=S+i S=S+i i=i+l I=i 一 1 WEND Loop UNTIL i<1 PRINT S PRINT S END END 对甲乙两程序和输出结果判断正确的是( ) A.程序不同结果不同 B.程序不同,结果相同 C.程序相同结果不同 D.程序相同, 结果相同 7.阅读下列程序: 输入 x; if x<0, then y:= 3 2 x  ; else if x>0, then y:= 5 2 x; else y:=0; 输出 y. 如果输入 x=-2,则输出结果 y 为( ) A.3+ B.3- C. -5 D.- -5 8.x=5 y=6 PRINT xy=11[来源:学#科#网] END 上面程序运行时输出的结果是( ) A.xy≠11 B.11 C.xy=11 D.出错信息 9.下面的问题中必须用条件结构才能实现的个数是( ) (1)已知三角形三边长,求三角形的面积; (2)求方程 ax+b=0(a,b 为常数)的根; (3)求三个实数 a,b,c 中的最大者; (4)求 1+2+3+…+100 的值。 A.4 个 B. 3 个 C. 2 个 D. 1 个 10.两个数 5671、10759 的最大公约数是( ) A.46 B.53 C.28 D.71 11.二进制数 111011001001 (2)对应的十进制数是( ) A.3901 B.3902 C.3785 D.3904 12.下面的代码的算法目的是( ) 10 Read a,b 20 r←mod(a,b) 30 If r=0 then Goto 80 40 Else 50 a←b 60 b←r 70 Goto 20 INPUT “n=”;n i=1 sum=0 WHILE i<=n sum=sum+I i=i+1 PRINT sum END (第 16 题) 80 Print b A.求 x,y 的最小公倍数 B.求 x,y 的最大公约数 C.求 x 被 y 整除的商 D.求 y 除以 x 的余数 13.若连续函数 ()fx在区间 ,ab 内单调,且 ( ) ( ) 0f a f b,则 在区间 ,ab 内( ) A. 至多有一个根 B. 至少有一个根 C.恰好有一个根 D.不确定 14.已知算法如下: S=0; 输入 n; for i:=1 to n do begin S=S+2*i; end. 输出 S. [来源:学,科,网 Z,X,X,K] 若输入变量 n 的值为 3,则输出变量 S 的值为 ; 若输出变量 S 的值为 30,则变量 n 的值为 . 15.看右边程序运行后,输出的结果为______________.. 16.算法程序:计算 1+2+3+…+n 的值(要求可以输入任意大于 1 的正自然数)中,请填上空 缺的部分. 17.用秦九韶算法求 n 次多项式 1 1 1 0() nn nnf x a x a x a x a      ,当 0xx 时,求 0()fx 需 要算乘方、乘法、加法的次数分别为 . 18.青年歌手电视大赛共有 10 名选手参加,并请了 12 名评委,在计算每位选手的平均分数 时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最底分后再求平 均分.试设计一个算法,解决该问题,要求画出程序框图,写出程序(假定分数采用 10 分制, 即每位选手的分数最高分为 10 分,最底分为 0 分). 19.目前高中毕业会考中,成绩在 85~100 为“A”,70~84 为“B”,60~69 为“C”,60 分 以下为“D”.编制程序,输入学生的考试成绩(百分制,若有小数则四舍五入),输出相应的 等级. x=5 y=-20 IF x<0 THEN x=y-3 PRINT x ELSE y=y+3 PRINT y END IF END (第 15 题) (第 1 题) 20.给出 30 个数:1,2,4,7,……,其规律是:第 1 个数是 1,第 2 个数比第 1 个数大 1, 第 3 个数比第 2 个数大 2,第 4 个数比第 3 个数大 3,依此类推.要计算这 30 个数的和, 现已给出了该问题算法的程序框图(如图所示),(I)请在图中判断框内(1)处和执行框中的 (2)处填上合适的语句,使之能完成该题算法功能;(II)根据程序框图写出程序.[来源:Zxxk.Com] 21.有 10 个互不相等的数,写出找出其中一个最大数的算法和程序. 必修 3 第 1 章 算法初步 §1.4 算法初步单元测试 1.右边的程序框图(如图所示),能判断任意输 入的数 x 的奇偶性: 其中判断框内的条件是( ) A.m=0 B.x=0 C.x=1 D.m=1 2.算法的过程称为“数学机械化”,数学机械化的最大优点 是可以让计算机来完成,中国当代数学家在这方面研究处于 世界领先地位,为此而获得首届自然科学 500 万大奖的是( ) A.袁隆平 B.华罗庚 C.苏步青 D.吴文俊 INPUT t IF t<= 4 THEN c=0.2 ELES c=0.2+0.1(t-3) END IF PRINT c END (第 11 题) a=1 b=3 a=a+b b=a-b PRINT a ,b (第 5 题) 3.算法 S1 m=a S2 若 b20 B.i<20 C.i>=20 D.i<=20 9.用秦九韶算法计算多项式 6 5 4 3 2( ) 3 4 5 6 7 8 1f x x x x x x x       当 4.0x 时的值时,需 要做乘法和加法的次数分别是 ( ) A.6 , 6 B.5 , 6 C.5 , 5 D.6 , 5 10.给出以下一个算法的程序框图(如图所示),该程序框图的 功能是( ) A.求输出 a,b,c 三数的最大数 B.求输出 a,b,c 三数的最小数 C.将 a,b,c 按从小到大排列 D.将 a,b,c 按从大到小排列 11.若输入 8 时,则下列程序执行后输出的结果是 . [来源:学科网 ZXXK] 12.下左程序运行后输出的结果为_________. x=5 y=-20 IF x<0 THEN x=y-3 ELSE y=y+3 END IF j=1 n=0 WHILE j<=11 j=j+1 IF j MOD 4=0 THEN n=n+1 END IF a=0 j=1 WHILE j<=5 a=(a+j) MOD 5 j=j+1 WEND PRINT a END (第 4 题) 13.用直接插入排序法对:7,1,3,12,8,4,9,10 进行从小到大排序时,第四步得到的一组数为: _ _ . 14.求方程 3 20xx  的近似根,要先将它近似地放在某两个连续整数之间,则应当在区间 上. 15.学了算法你的收获有两点,一方面了解我国古代数学家的杰出成就,另一方面,数学的 机械化,能做许多我们用笔和纸不敢做的有很大计算量的问题,这主要归功于算法语句 的 . 16.上右程序输出的 n 的值是____________. 17.函数 y=       0. 3 ,0 0 ,0 1 xx x xx 请设计算法流程图,要求输入自变量,输出函数值. 18.某电信部门规定:拨打市内电话时,如果通话时间不超过 3 分钟,则收取通话费 0.2 元,如果通话时间超过 3 分钟,则超过部分以每分钟 0.1 元收取通话费(通话不足 1 分钟时 按 1 分钟计),试设计一个计算通话费用的算法.要求写出算法,画出程序框图,编写程序. 19.把“五进制”数 (5)1234 转化为“十进制”数,再把它转化为“八进制”数. 20.给定一个年份,写出该年是不是闰年的算法,程序框图和程序. 21.已知正四棱锥的底面边长为 3,高为 4,求正四棱锥的体积和表面积,写出算法的伪代 码,并画出相应图. 参考答案 第1章 算法初步 §1.1-2 算法的含义、程序框图 经典例题: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(单位:分钟)表示通话时间, 则依题意有 0.2, 0 3 0.2 0.1( 3), 3 t c tt       算法步骤如下:第一步,输入通话时间 t;第二步,如果 t≤3,那么 c = 0.2 ;否则令 c = 0.2+0.1 (t-3);第三步,输出通话费用 c . (第 20 题) 19. 20. (第 19 题) 21. §1.3 算法基本语句 经典例题:根据题意可知,第一个月有 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”就是所求结果. 流程图和程序如下: 开始 输入 a,b,c 输出 12,xx 2 4b ac   0 1 2 2 2 bx a bx a       结束 输出无 实数根 是 否 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 (第 21 题) s=0 k=1 max=0 min=10 DO INPUT x s=s+x IF max<=x THEN max=x END IF IF min>=x THEN min=x END IF k=k+1 LOOP UNTIL k>12 s1=s-max-min a=s1/10 PRINT a END (第 18 题程序) i=1 p=1 s=0 WHILE i<=30 s=s+p p=p+i i=i+1 WEND PRINT a END (第 20 题程序) 当堂练习: 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; 18. 由于共有 12 位评委,所以每位选手会有 12 个分数,我们可以用循环语句来完成这 12 个分数的输入,同时设计累加变量求出这 12 个分数的和,本问题的关键在于从这 12 个输入 分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于 0 分 和 10 分之间,去我们可以先假设其中的最大数为 0,最小数为 10,然后每次输入一个评委 的分数,就进行一次比较,若输入的数大于 0,就将之代替最大数,若输入的数小于 10,就 用它代替最小数,依次下去,就能找出这 12 个数中的最大数与最小数,循环结束后,从总 和中减去最大数与最小数,再除以 10,就得到该选手最后的平均数. 程序框图如上图所示. 19. I=1 WHILE I=1 INPUT “shu ru xue sheng cheng ji a=”;a IF a<60 THEN PRINT “D” ELSE IF a<70 THEN PRINT “C” ELSE IF a<85 THEN PRINT “B” S=1 Q=1 I=3 WHILE I<=12 F=S+Q Q=S S=F I=I+1 WEND PRINT F END (经典例题) 开始 输出 F 结束 I=I+1 Q=S S=F F=S+Q I≤12 I=3 S=1 Q=1 N Y (第 21 题) ELSE PRINT “A” END IF END IF END IF INPUT “INPUT 1,INPUT 2”; I WEND END (第 19 题) 20.该算法使用了当型循环结构,因为是求 30 个数的和,故循环体应执行 30 次,其中 i 是 计数变量,因此判断框内的条件就是限制计数变量 i 的,故应为 30i  .算法 中的变量 p 实 质是表示参与求和的各个数,由于它也是变化的,且满足第 i 个数比其前一个数大 1i ,, 第 1i 个数比其前一个数大 i,故应有 p p i.故(1)处应填 30i ;( 2)处应填 p p i 21.S1:输入一个数,放在 MAX 中 S2:i=1 S3:输入第 1 个数,放入 x 中 S4:若 x>MAX,则 MAX=z S5:i=i+1 S6:若 i≤9,返回 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. INPUT t IF t<= 3 THEN c=0.2 ELSE c=0.2+0.1(t-3) END IF PRINT c END (第 18 题程序) (第 18 题) INPUT x IF x=100k(k 是正整数)THEN IF x=400k(k 是正整数)THEN PRINT“x 是闰年” ELSE“x 不是闰年” END ELSE IF x=4k(k 是正整数)THEN PRINT“x 是闰年” ELSE“x 不是闰年” END 开始 结束 输入x 输 y出 x<0 x>0yx= +3 yx=- +1y=0 Y Y N N 18.解 我们用 c(单位:元)表示通话费,t(单位:分钟)表示通话时间, 则依题意有      3),3(1.02.0 30,2.0 tt tc 算法步骤如下:第一步,输入通话时间 t;第二步,如果 t≤3, 那么 c = 0.2 ;否则令 c = 0.2+0.1 (t-3); 第三步,输出通话费用 c ; 程序框图如图所示 19.解:① )5(1234 321 5 2 5 3 5 4 194        ; ② 2 (8)194 3 8 3 303    20.S1:输入一个年份 x S2:若 z 能被 100 整除,则执行 S3 否则执行 S4 S3:若 x 能被 400 整除,则 x 为闰年,否则 x 不为 闰年 S4:若 x 能被 4 整除,则 x 为闰年,否则 x 不为闰 年 21. ' 2 2 2 1 1 ' 2 12 3 4 () 2 1 3 14 2 int , a h ahh Sa V S h S ah S S S pr V S        w.w.w.g.k.x.x.c.o.m 开始 结束 3a 4h 22' )2(ahh  2 1 aS  hSV 13 1 ' 2 2 14 ahS  21 SSS  输出 V,S 第 21 题
查看更多

相关文章

您可能关注的文档