当前位置:文档之家› 高一数学必修三算法初步【复习提纲+习题】

高一数学必修三算法初步【复习提纲+习题】

第十一章算法初步与框图(理)一、知识网络二、考纲要求1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想.(2)理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.2.基本算法语句理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义.三、复习指南本章是新增内容,多以选择题或填空题形式考查,常与数列、函数等知识联系密切.考查的重点是算法语句与程序框图,以基础知识为主,如给出程序框图或算法语句,求输出结果或说明算法的功能;或写出程序框图的算法语句,判断框内的填空等考查题型.难度层次属中偏低.第一节算法与程序框图※知识回顾1 2..3. 4.5.算法的基本特征:算法的“前一步”是“后一步”的前提, “后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题.※典例精析例1.如图所示是一个算法的程序框图,则该程序框图所表示的功能是解析:首先要理解各程序框的含义,输入a,b,c三个数之后,接着判断a,b的大小,若b小,则把b 赋给a,否则执行下一步,即判断a与c的大小,若c小,则把c赋给a,否则执行下一步,这样输出的a是a,b,c三个数中的最小值.所以该程序框图所表示的功能是求a,b,c三个数中的最小值.评注:求a,b,c三个数中的最小值的算法设计也可以用下面程序框图来表示.例2.下列程序框图表示的算法功能是()(1)计算小于100的奇数的连乘积(2)计算从1开始的连续奇数的连乘积(3)计算从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数(4)计算1×3×5××n100成立时n的最小值解析:为了正确地理解程序框图表示的算法,可以将执行过程分解,分析每一步执行的结果.可以看出程序框图中含有当型的循环结构,故分析每一次循环的情况,列表如下: 第一次:13,5S i =⨯=; 第二次:135,7S i =⨯⨯=;第三次:1357,9S i =⨯⨯⨯=,此时100S <不成立,输出结果是7,程序框图表示的算法功能是求使≥1×3×5××n 100成立时n 的最小值. 选D.评注:通过列表,我们能清楚了解程序的每一步中的各个变量是怎样变化的,这正是程序运行的本质所在.本题若要求编写求使≥1×3×5××n 100成立时n 的最小值的程序框图或程序时,很容易弄错输出的结果,应注意.例3.在音乐唱片超市里,每张唱片售价为25元,顾客如果购买5张以上(含5张)唱片,则按九折收费,如果购买10张以上(含10张)唱片,则按八折收费,请设计算法步骤并画出程序框图,要求输入张数x ,输出实际收费y(元).分析:先写出y 与x 之间的函数关系式,有25(5)22.5(510)20(10)x x y x x x x <⎧⎪=≤<⎨⎪≥⎩,再利用条件结构画程序框图.解: 算法步骤如下:第一步,输入购买的张数x ,第二步,判断x 是否小于5,若是,计算25y x =;否则,判断x 是否小于10,若是,计算22.5y x =;否则,计算20y x =. 第三步,输出y . 程序框图如下:评注:凡必须先根据条件做出判断,然后再决定进行哪一个步骤的问题,在画程序框图时,必须引入判断框,采用条件结构设计算法.如果变量分三级(或以上)时,就需要用到条件结构的嵌套,不能忽视结果中“是”、“否”的书写,否则不知道执行哪一条路径.一般地,分n 段的分段函数,需要引入1n -个判断框.条件结构有以下两种基本类型.例4.画出求222111123100++++的值的程序框图. 分析:这是一个有规律的数列求和问题,每次都进行了相同的运算,故应用循环结构进行算法设计.解:程序框图如下:(1)当型循环 (2)直到型循环评注: (1) 解题关键是选择好计数变量i 和累加变量S 的初始值,并写出用i 表示的数列的通项公式是;(2)循环结构主要用在一些有规律的重复计算的算法中,如累加求和,累乘求积等问题.在循环结构中,要注意根据条件,设计合理的计数变量、累加(积)变量以及它们的初始值等,特别要注意循环结构中条件的表述要恰当、精确,以免出现多一次或少一次循环.(3)循环结构分为两类:一类是当型循环结构,如下左图所示;另一类是直到型循环结构,如下右图所示.变式训练画出求222111147100++++的值的程序框图. 解:程序框图如下:例5.某工厂2005年的生产总值为200万元,技术改进后预计以后后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预期年生产总值超过300万元的最早年份及2005年到此年份之前(不包此年份)的年生产总值的和.分析:本例可用循环结构来实现. (1) 确定“循环体”:设a 为某年的年生产总值,n 为年份,S 为年产值的总和,则循环体为(2)初始化变量:n 的初始值为2005,a 的初始值为200,S 的初始值为0. (3)设定循环控制条件:300a > 解:程序框图如下:,0.05,1.S S a a a a n n =+=+=+评注:本问题的关健是设计好循环体,注意S S a=+=+与n之间的对应关系.本题若将S S a 放在1n n=-,否则n的值为超过300万的年份的下一年.n n=+之后,则输出时须重新赋值1本题也可用当型循环结构来表示.变式训练:设计一个程序框图,求使1235000S n=⨯⨯⨯⨯>的最小n的值,并输出此时S的值.解:程序框图如下:※基础自测 一、选择题1.下列说法正确的是()A .算法就是某个问题的解题过程;B .算法执行后可以产生不同的结果;C .解决某一个具体问题算法不同结果不同;D .算法执行步骤的次数不可以很大,否则无法实施.1.解析:选项A ,算法不能等同于解法;选项B ,例如:判断一个正整数是否为质数,结果为“是质数”和“不是质数”两种;选项C ,解决某一个具体问题算法不同结果应该相同,否则算法构造的有问题;选项D ,算法可以为很多次,但不可以无限次.选B .2、如图所示的程序框图中,则第3个输出的数是( )A .1 B. 3C.2D. 53.如图给出的是求201614121+⋅⋅⋅+++的值的一个程序框图, 其中判断框内应填入的条件是() A.i>10? B.i<10? C.i>20? D.i<20?4.(2007年高考山东卷)阅读右边的程序框图,若输入的n是100,则输出的变量S和T的值依次是()A.2550,2500B.2550,2550C.2500,2500D.2500,25504.解析:依据框图可得T=++++=.选A.S=++++=,999795 (12500)1009896 (22550)5.2006年1月份开始实施的《个人所得税法》规定:全月总收入不超过1600元的免征个人工资、薪金所得税,超过1600元部分需征税.设全月总收入金额为x元,前三级税率如下左表所示:当工资薪金所得不超过3600元,计算个人所得税的一个算法框图如图. 则输出①、输出②分别为( ).A .0.05;0.1x xB .0.05;0.1185x x -C .0.0580;0.1;x x -D .0.0580;0.1185x x -- 5.解析:设全月总收入金额为x 元, 所得税额为y 元,则y 与x 之间的函数关系为0(01600)(1600)5%(16002100)25(2100)10%(21003600)x y x x x x <≤⎧⎪=-<≤⎨⎪+-<≤⎩选D. 二、填空题6.(2008年高考山东卷)执行右边的程序框图,若p =0.8,则输出的n =________..6.解析:第一次循环后,10.82S =<,此时n =2;第二次循环后,110.824S =+<,此时n =3;第三次循环后,1110.8248S =++>,此时4n =,输出,故填4.某地区为了解7080-岁的老人的日平均睡眠时间(单位:h ),随机选择了50位老人进行调查,下表是这50位老人睡眠时间的频率分布表:开始 结束输入x输出0输出①输出②0<x ≤1600?1600<x ≤2100?2100<x ≤3600?否否否是是是在上述统计数据的分析中一部分计算见算法流程图,则输出的S 的值为▲ 解析:由流程图1122334455S G F G F G F G F G F =++++4.50.125.50.206.50.407.50.28.50.08=⨯+⨯+⨯+⨯+⨯ 6.42=故填6.42.8.如果执行右面的程序框图,那么输出的S =8.解析:2461002550S =++++=序号i 分组(睡眠时间) 组中值(i G ) 频数(人数) 频率(i F ) 1 [4,5) 4.5 6 0.12 2 [5,6) 5.510 0.20 3 [6,7) 6.520 0.40 4 [7,8) 7.510 0.20 5 [8,9] 8.54 0.08 开始 S=0 输入G i ,F ii=1 S= S +G i ·F i i ≥5? i= i +1NY 输出S 结束三、解答题9.请阅读下面程序框图,说明此程序的功能解:程序功能是求s 的值. 26122...2s =++++,并输出s10.已知函数22(2)(0)4(0)(2)(0)x x y x x x ⎧+<⎪==⎨⎪->⎩,请画出程序框图,要求输入自变量x 的值, 输出函数值y . 10.解:11.画出一个计算151015100⨯⨯⨯⨯⨯的程序框图.11解:程序框图如下12、甲、乙两位同学为解决数列求和问题,试图编写一程序.两人各自编写的程序框图分别如图1和如图2.(Ⅰ)根据图1和图2,试判断甲、乙两位同学编写的程序框图输出的结果是否一致?当n =20时分别求它们输出的结果;(Ⅱ)若希望通过对图2虚框中某一步(或几步)的修改来实现“求首项为2,公比为3的等比数列的前n 项和”,请你给出修改后虚框部分的流程图.12、解:(Ⅰ)输出结果一致. 当n =20时,图1的结果为2+4+6+…+38+40=2×(1+2+3+…+20)=420 图2的结果为2+4+6+…+38+40=2×(1+2+3+…+20)=420 (Ⅱ)修改后虚框部分的流程图为第二节算法的基本语句及算法案例图2图1※知识回顾1.任何一种程序设计语言都包含五种基本的算法语句,2.输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序框图中的条件结构和循环结构.3.常用符号4.算法案例(1)辗转相除法和更相减损术.(1).2(假设进行了k 次)原来约简的2k 即为所求两数的最大公约数. (2)秦九韶算法秦九韶算法是求多项式值的优秀算法. 设1110()n n n n f x a x a x a x a --=++++,改写为如下形式:()f x 1210(())).n n n a x a x a xa x a --++++ 设0101,n n v a v v x a -==+21232310n n n n v v x a v v x a v v x a ---=+=+=+这样求n 次多项式()f x 的值就转化为求n .当多项式中有些项不存在时,可将这几项看做0n x ⨯,补齐后再利用秦九韶算法进行计算.对于一个n 次多项式,只需做次乘法和. (3K 进制数的基数为k ,k 01k -之间的数字构成的将十进制的数转化为k 110110(0,0,,)n n n n k a a a a a k a a a k --<<≤<把进制数化为十进制数的方法为1110()110n n k n n a a a k a k a k a --=++++.※典例精析例1.写出用循环语句描述求11111123499100S =-+-++-的值的算法程序.解:算法程序如下:(1)当型循环 (2)直到型循环请写出y 与m 的函数关系,并求排放污水150吨的污水处理费用. 解:这个程序反映的是一个分段函数因为150100,m =>所以15025(150100)1400y =+-=,故该厂应缴纳污水处理费1400元. 评注:解决分段函数要用条件语句来处理.本题可画出程序框图帮助理解. 例3. 求三个数72,120,168的最大公约数. 解法1:用辗转相除法先求120,168的最大公约数,因为168120148,12048224,48242=⨯+=⨯+=⨯13(50)5015(50)(50100)15025(100)(100)m m y m m m m ≤⎧⎪=+-<≤⎨⎪+->⎩或例4.用秦九韶算法求多项式5432()23456f x x x x x x =+++++在2x =时的值. 分析:先改写多项式,再由内向外计算.5432:()23456((((2)3)4)5)6f x x x x x x x x x x x =+++++=+++++解010*********,243114265576120v v v x v v x v v x v v x v v x ==+==+==+==+==+= 评注:用秦九韶算法求多项式值,关健是正确将多项式改写,然后由内向外计算求得. 本题也可简写为下式:12345622822521144112657120例5.完成下列进制的转化解:420(3)(10)(1)10202132323101=⨯+⨯+⨯=(2)用8反复去除101,直到商为0止,所得的余数(从末位读起)就是十进制数101的 8进制表示评注:将k 进制的数转化为k '进制的数的方法是先将k 进制的数转化为十进制的数,再将这个数转化为k '进制的数.(3)(10)(10)__________(8)(1)10202____(2)101==变式训练:下面是把二进制数(2)11111化为十进制数的一个程序框图,判断框内应填入的条件是( ).5?.4?.4?.5?A iB iC iD i>≤>≤解:432(2)11111121212121=⨯+⨯+⨯+⨯+,故判断框内应填入的条件4i>.选C.※基础自测一、选择题1.下列给出的赋值语句中正确的是()A4M=B M M=-C3B A==D0x y+=1.解析:赋值语句的功能.选B2当2=x时,下面的程序输出的结果是( )A3B7C15D172解析:0211,1213,3217,72115⨯+=⨯+=⨯+=⨯+=. 选C3.运行下列程序:,INPUT m nDOr m MOD nm nn r===1411isWHILE is s xi iWENDPRINTIsU xETNNPD==<==*+=+当输入56,42时,输出的结果是 A.56B.42 C.84D.143.解析:该程序的功能是用辗转相除法求正整数,()m n m n >的最大公约数,故选D 4下边程序运行后输出的结果为( )A 50B 5CD 04.解析:1,1;2,3;3,1;4,0;5,0j a j a j a j a j a ==========.选D 二、填空题5三个数324,243,135的最大公约数是_________________6.阅读下列程序:15()51a j WHILE j a a j MOD j j WENDPRINT aEND ==<==+=+当程序输入x 值为123时,问运行的结果是_____________.6.解析:算术运算符\和MOD 分别用取商和余数.该程序的功能是把一个三位数各位上的数字颠倒过来.所以运行的结果是321.7.(2005年高考北京卷理14)已知n 次多项式1011()n n n n n P x a x a x a x a --=++++,如果在一种算法中,计算0k x (k =2,3,4,…,n )的值需要k -1次乘法,计算30()P x 的值共需要9次运算(6次乘法,3次加法),那么计算100()P x 的值共需要次运算.下面给出一种减少运算次数的算法:0011(),()()k k k P x a P x xP x a ++==+(k =0, 1,2,…,n -1).利用该算法,计算30()P x 的值共需要6次运算,计算100()P x 的值共需要次运算. 1n a x -+++_______________8.解析: 22,-22520033,x y IF x THEN x y ELSE y y END IF PRINT x y y x END ==-<=-=+-- 1001000\100(100)\101010010INPUT x IF x AND x THEN a x b x a c x MOD x c b a PRINT x END IF END ><==-*==*+*+三、解答题9.用秦九韶算法求多项式5432()34157678f x x x x x x =+-+++在2x =-时的值.543201021324354:()34157678((((34)15)76)7)83,421511769871898386f x x x x x x x x x x x v v v x v v x v v x v v x v v x =+-+++=+-+++==+=-=-=-=+==+=-=+=9.解10.设计程序,求出满足11111023n+++⋯+>的最小的正整数n. 10.解:11 若(2)(6)(9)111111,210,85a b c ===,试判断,,a b c 的大小关系,并将c 化为7进制的数.6.解析:(10)(10)(10)63,78,77a b c b c a ===∴>>3分钟,则收取话费0.2元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t (分钟),通话费用y (元),如何设计一个程序,计算通话的费用.(提示:INT(x)表示不大于x 最大整数,如INT(3.2)=3)。

相关主题