高一数学必修三算法初步.docx
高一数学必修三算法初步第十一章算法初步与框图一、知识网络二、考纲要求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计算L1×3×5××n100成立时n的最小值解析:为了正确地理解程序框图表示的算法,能够将执行经过分解,分析每一步执行的结果.能够看出程序框图中含有当型的循环构造,故分析每一次循环的情况,列表如下:第一次:13,5Si=?=;第二次:135,7Si=?=;第三次:1357,9Si=?=,此时100S例4.画出求222111123100+L的值的程序框图.分析:这是一个有规律的数列求和问题,每次都进行了一样的运算,故应用循环构造进行算法设计.解:程序框图如下:(1)当型循环(2)直到型循环评注:(1)解题关键是选择好计数变量i和累加变量S的初始值,并写出用i表示的数列的通项公式是;(2)循环构造主要用在一些有规律的重复计算的算法中,如累加求和,累乘求积等问题.在循环构造中,要注意根据条件,设计合理的计数变量、累加(积)变量以及它们的初始值等,十分要注意循环构造中条件的表述要恰当、准确,以免出现多一次或少一次循环.3循环构造分为两类:一类是当型循环构造,如下左图所示;另一类是直到型循环构造,如下右图所示.变式训练画出求222111147100+L的值的程序框图.解:程序框图如下:例5.某工厂2005年的生产总值为200万元,技术改良后估计以后后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预期年生产总值超过300万元的最早年份及2005年到此年份之前(不包此年份)的年生产总值的和.分析:本例可用循环构造来实现.(1)确定“循环体:设a为某年的年生产总值,n为年份,S为年产值的总和,则循环体为(2)初始化变量:n的初始值为2005,a的初始值为200,S的初始值为0.(3)设定循环控制条件:300a>解:程序框图如下:评注:本问题的关健是设计好循环体,注意SSa=+与n之间的对应关系.此题若将SSa=+放在1nn=+之后,则输出时须重新赋值1nn=-,否则n的值为超过300万的年份的下一年.此题可以用当型循环构造来表示.变式训练:设计一个程序框图,求使1235000Sn=?>L的最小n的值,并输出此时S的值.解:程序框图如下:基础自测一、选择题1下列讲法正确的是A算法就是某个问题的解题经过;B算法执行后能够产生不同的结果;C解决某一个详细问题算法不同结果不同;D算法执行步骤的次数不能够很大,否则无法施行解析:选项A,算法不能等同于解法;选项B,例如:判定一个正整数能否为质数,结果为“是质数和“不是质数两种;选项C,解决某一个详细问题算法不同结果应该一样,否则算法构造的有问题;选项D,算法能够为很屡次,但不能够无限次选B2、如下图的程序框图中,则第3个输出的数是()A1B.3D.53如图给出的是求201614121+?+的值的一个程序框图,其中判定框内应填入的条件是>102010选4.(2007年高考山东卷)浏览右边的程序框图,若输入的n是100,则输出的变量S和T的值依次是A2550,2500B2550,2550C2500,2500D2500,25504.解析:根据框图可得T=+=.选A.S=+=,999795(12500)1009896(22550)52006年1月份开场施行的(个人所得税法)规定:全月总收入不超过1600元的免征个人工资、薪金所得税,超过1600元部分需征税设全月总收入金额为x元,前三级税率如下左表所示:当工资薪金所得不超过3600元,计算个人所得税的一个算法框图如图.则输出、输出分别为()A0.05;0.1xxB0.05;0.1185xx-C0.0580;0.1;xx-D0.0580;0.1185xx-5解析:设全月总收入金额为x元,所得税额为y元,则y与x之间的函数关系为0(01600)(1600)5%(16002100)25(2100)10%(21003600)xyxxxx10.88+>,此时4n=,输出,故填4.某地区为了解7080-岁的老人的日平均睡眠时间单位:h,随机选择了50位老人进行调查,下表是这50位老人睡眠时间的频率分布表:在上述统计数据的分析中一部分计算见算法流程图,则输出的S的值为解析:由流程图1122334455SGFGFGFGFGF=+4.50.125.50.206.50.407.50.28.50.08=?+?+?+?+?6.42=故填.8.假如执行右面的程序框图,那么输出的S=8解析:2461002550S=+=L三、解答题9请浏览下面程序框图,讲明此程序的功能解:程序功能是求s的值.26122.2s=+,并输出s10已知函数22(2)(0)4(0)(2)(0)xxyxxx?+?,请画出程序框图,要求输入自变量x的值,输出函数值y.10.解:11画出一个计算151015100?L的程序框图.11解:程序框图如下12、甲、乙两位同学为解决数列求和问题,试图编写一程序.两人各自编写的程序框图分别如图1和如图2.根据图1和图2,试判定甲、乙两位同学编写的程序框图输出的结果能否一致当n20时分别求它们输出的结果;若希望通过对图2虚框中某一步或几步的修改来实现“求首项为2,公比为3的等比数列的前n项和,请你给出修改后虚框部分的流程图.第二节算法的基本语句及算法案例图2开场否图1知识回首1任何一种程序设计语言都包含五种基本的算法语句,2.输入语句、输出语句、赋值语句基本对应于程序框图中的顺序构造;条件语句、循环语句分别用来表达程序框图中的条件构造和循环构造.3.常用符号4.算法案例1辗转相除法和更相减损术.1.2(假设进行了k次)原来约简的2k即为所求两数的最大公约数.2秦九韶算法秦九韶算法是求多项式值的优秀算法.设1110()nnnnfxaxaxaxa-=+L,改写为如下形式: ()fx设0101,nnvavvxa-=+21232310nnnnvvxavvxavvxa-=+=+=+L这样求n次多项式()fx的值就转化为求n.当多项式中有些项不存在时,可将这几项看做0nx?,补齐后再利用秦九韶算法进行计算.对于一个n次多项式,只需做次乘法和.3K进制数的基数为k,k将十进制的数转化为k110110(0,0,)nnnnkaaaaakaaak-典例精析例1写出用循环语句描绘求111111S=-+-+-L的值的算法程序.请写出y与m的函数关系,并求排放污水150吨的污水处理费用.解:这个程序反映的是一个分段函数由于150100,y=+-=,故该厂应缴纳污水处理费1400元.m=>所以15025(150100)1400评注:解决分段函数要用条件语句来处理.此题可画出程序框图帮助理解.例3求三个数72,120,168的最大公约数.解法1:用辗转相除法先求120,168的最大公约数,由于168120218,12048224,48242=?+=?+=?或例4.用秦九韶算法求多项式5432()23456fxxxxxx=+在2x=时的值.分析:先改写多项式,再由内向外计算.5432:()23456(2)3)4)5)6fxxxxxxxxxxx=+=+解010*,243114265576120vvvxvvxvvxvvxvvx=+=+=+=+=+=评注:用秦九韶算法求多项式值,关健是正确将多项式改写,然后由内向外计算求得.此题可以简写为下式:12345622822521144112657120例5.完成下列进制的转化解:420(3)(10)(1)10202132323101=?+?+?=(2)用8反复去除101,直到商为0止,所得的余数(从末位读起)就是十进制数101的8进制表示评注:将k进制的数转化为k'进制的数的方法是先将k进制的数转化为十进制的数,再将这个数转化为k'进制的数.变式训练:下面是把二进制数(2)11111化为十进制数的一个程序框图,判定框内应填入的条件是().5?.4?.4?.5?AiBiCiDi>>解:432(2)11111121212121=?+?+?+?+,故判定框内应填入的条件4i>.选C.基础自测一、选择题1下列给出的赋值语句中正确的是A4M=BMM=-C3BA=D0xy+=1.解析:赋值语句的功能.选B2当2=x时,下面的程序输出的结果是()A3B7C15D172解析:0211,1213,3217,72115?+=?+=?+=?+=.选C3运行下列程序:,0INPUTmnDOrmMODnmnnrLOOPUNTILrPRINTmEND=10411isWHILEissxiiWENDPRINTIsUxETNNPD=的最大公约数,故选D4下边程序运行后输出的结果为()A50B5C25D04.解析:1,1;2,3;3,1;4,0;5,0jajajajaja=.选D二、填空题5三个数324,243,135的最大公约数是_5解析:324243181,13581154,8154127,54272=?+=?+=?+=?.填276.浏览下列程序:15()51ajWHILEjaajMODjjWENDPRINTaEND=8解析:22,-22520033,xyIFxTHENxyELSEyyENDIFPRINTxyyxEND=-的最小的正整数n.10解:11若(2)(6)(9)111111,210,85abc=,试判定,abc的大小关系,并将c化为7进制的数.6.解析:(10)(10)(10)63,78,77abcbca=>>3分钟,则收取话费元;假如通话时间超过3分钟,则超出部分按每分钟元收取通话费,缺乏一分钟按一分钟计算.设通话时间为t分钟,通话费用y元,怎样设计一个程序,计算通话的费用.(提示:INT(x)表示不大于x最大整数,如INT=3)