十五、算法初步1(必修三)
- 格式:doc
- 大小:643.50 KB
- 文档页数:3
第一章算法初步本章教材分析算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”也是高考考查重点.本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而提高自己数学能力.因此应从三个方面把握本章:(1)知识间的联系;(2)数学思想方法;(3)认知规律.本章教学时间约需12课时,具体分配如下(仅供参考):1.1.1 算法的概念约1课时1.1.2 程序框图与算法的基本逻辑结构约4课时1.2.1 输入语句、输出语句和赋值语句约1课时1.2.2 条件语句约1课时1.2.3 循环语句约1课时1.3算法案例约3课时本章复习约1课时1.1 算法与程序框图1.1.1 算法的概念整体设计教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排 1课时教学过程导入新课思路1(情境导入)一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法. 思路2(情境导入)大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上. 上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念. 思路3(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 推进新课 新知探究 提出问题(1)解二元一次方程组有几种方法? (2)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用加减消元法解二元一次方程组的步骤.(3)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用代入消元法解二元一次方程组的步骤.(4)请写出解一般二元一次方程组的步骤.(5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果:(1)代入消元法和加减消元法. (2)回顾二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 的求解过程,我们可以归纳出以下步骤: 第一步,①+②×2,得5x=1.③ 第二步,解③,得x=51. 第三步,②-①×2,得5y=3.④ 第四步,解④,得y=53.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x(3)用代入消元法解二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 我们可以归纳出以下步骤: 第一步,由①得x=2y -1.③第二步,把③代入②,得2(2y -1)+y=1.④ 第三步,解④得y=53.⑤ 第四步,把⑤代入③,得x=2×53-1=51. 第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x(4)对于一般的二元一次方程组⎩⎨⎧=+=+)2(,)1(,222111c y b x a c y b x a其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤: 第一步,①×b 2-②×b 1,得 (a 1b 2-a 2b 1)x=b 2c 1-b 1c 2.③ 第二步,解③,得x=12212112b a b a c b c b --.第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y=a 1c 2-a 2c 1.④ 第四步,解④,得y=12211221b a b a c a c a --.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧--=--=.,1221122112212112b a b a c a c a y b a b a c b c b x(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路1例1 (1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.算法如下:(1)第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7.第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.(2)类似地,可写出“判断35是否为质数”的算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤.变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i表示2—(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.算法如下:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步. 例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f(a)·f(b)<0)“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)<0.第三步,取区间中点m=2ba.第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d=0.005时,按照以上算法,可以得到下表.a b |a-b|1 2 11 1.5 0.51.25 1.5 0.251.375 1.5 0.1251.375 1.437 5 0.062 51.406 25 1.437 5 0.031 251.406 25 1.421 875 0.015 6251.414 062 5 1.421 875 0.007 812 51.414 062 5 1.417 968 75 0.003 906 25于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求2的近似值的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……思路2例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:第一步,洗刷水壶.第二步,烧水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壶.第二步,烧水,烧水的过程当中洗刷茶具.第三步,沏茶.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.例3 写出通过尺轨作图确定线段AB一个5等分点的算法.分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.解:算法分析:第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.第二步,在射线上任取一个不同于端点A的点C,得到线段AC.第三步,在射线上沿AC的方向截取线段CE=AC.第四步,在射线上沿AC的方向截取线段EF=AC.第五步,在射线上沿AC的方向截取线段FG=AC.第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.第七步,连结DB.第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点. 点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:第一步,输入一元二次方程的系数:a,b,c.第二步,计算Δ=b2-4ac的值.第三步,判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.解:算法分析:数学模型实际上为:y 关于t 的分段函数. 关系式如下:y=⎪⎩⎪⎨⎧∉>+-+∈>-+≤<).,3(),1]3([1.022.0),,3(),3(1.022.0),30(,22.0Z t T T Z t t t t 其中[t -3]表示取不大于t -3的整数部分. 算法步骤如下:第一步,输入通话时间t.第二步,如果t≤3,那么y=0.22;否则判断t ∈Z 是否成立,若成立执行 y=0.2+0.1×(t -3);否则执行y=0.2+0.1×([t -3]+1). 第三步,输出通话费用c. 课堂小结(1)正确理解算法这一概念.(2)结合例题掌握算法的特点,能够写出常见问题的算法. 作业课本本节练习1、2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.1.1.2 程序框图与算法的基本逻辑结构整体设计教学分析用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.三维目标1.熟悉各种程序框及流程线的功能和作用.2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.3.通过比较体会程序框图的直观性、准确性.重点难点数学重点:程序框图的画法.数学难点:程序框图的画法.课时安排4课时教学过程第1课时程序框图及顺序结构导入新课思路1(情境导入)我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.思路2(直接导入)用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图. 推进新课新知探究提出问题(1)什么是程序框图?(2)说出终端框(起止框)的图形符号与功能.(3)说出输入、输出框的图形符号与功能.(4)说出处理框(执行框)的图形符号与功能.(5)说出判断框的图形符号与功能.(6)说出流程线的图形符号与功能.(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.(6)流程线:表示程序的流向.(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.(8)总结如下表.图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”流程线连接程序框连接点连接程序框图的两部分(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.三种逻辑结构可以用如下程序框图表示:顺序结构条件结构循环结构应用示例例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.解:程序框图如下:点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法. 变式训练观察下面的程序框图,指出该算法解决的问题.解:这是一个累加求和问题,共99项相加,该算法是求100991431321211⨯++⨯+⨯+⨯ 的值.例2 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c ,则三角形的面积为S=))()((c p b p a p p ---),其中p=2cb a ++.这个公式被称为海伦—秦九韶公式)算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法. 算法步骤如下:第一步,输入三角形三条边的边长a,b,c. 第二步,计算p=2cb a ++. 第三步,计算S=))()((c p b p a p p ---.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构. 变式训练下图所示的是一个算法的流程图,已知a 1=3,输出的b=7,求a 2的值.解:根据题意221a a =7, ∵a 1=3,∴a 2=11.即a 2的值为11.例3 写出通过尺轨作图确定线段AB 的一个5等分点的程序框图. 解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数n ,都可以按照这个算法的思想,设计出确定线段的n 等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用. 知能训练有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格.解:用P 表示钢琴的价格,不难看出如下算法步骤: 2005年P=10 000×(1+3%)=10 300; 2006年P=10 300×(1+3%)=10 609; 2007年P=10 609×(1+3%)=10 927.27; 2008年P=10 927.27×(1+3%)=11 255.09; 因此,价格的变化情况表为:年份 2004 2005 2006 2007 2008 钢琴的价格 10 00010 30010 60910 927.2711 255.09程序框图如下:点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图. 拓展提升如下给出的是计算201614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.答案:i>10.课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.作业习题1.1A 1.设计感想首先,本节的引入新颖独特,旅游图的故事阐明了学习程序框图的意义.通过丰富有趣的事例让学生了解了什么是程序框图,进而激发学生学习程序框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.第2课时条件结构导入新课思路1(情境导入)我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构.思路2(直接导入)前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构.推进新课新知探究提出问题(1)举例说明什么是分类讨论思想?(2)什么是条件结构?(3)试用程序框图表示条件结构.(4)指出条件结构的两种形式的区别.讨论结果:(1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.(3)用程序框图表示条件结构如下.条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.图1 图2注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.应用示例例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.。
数学人教B 必修3第一章算法初步知识建构综合应用专题一 算法设计算法的描述可以有不同的方式:可用自然语言或数学语言加以叙述;也可以用高级语言编写程序实现;或可以用框图直观清晰地表达.用自然语言描述算法就是按照一定的顺序、步骤,用我们熟悉的语言形式来加以叙述,只要叙述清楚有条理,别人能看懂即可.它没有严格的语法规则,也没有符号设定,是最简单的一种描述方式.应用根据我国古代流传的天干、地支、属相都可以表示一个人的生日.据你的出生年月,可以知道你是哪个星座.我们知道3月21日到4月19日出生的星座是白羊座,4月20日到5月20日出生的是金牛座,假设其他的星座我们不知道.如:你的出生月日是4月12日,则你就属于“白羊座”.试用算法来解决我们提供的部分星座数据的算法.提示:本题常见错误有比如直接写成:第一步,输入生日的A 月B 日,这样就符合计算机语言的特点,上述操作计算机是无法做到的.只有把输入生日的月日换个思路改写成“月.日”形式(即如“3月21日”写成“3.21”,本题就会迎刃而解.专题二 程序框图及其画法程序框图是算法的一种表达方式,它将算法作出了更直观形象的描述.所采用的符号包括椭圆形框、平行四边形框、矩形框、菱形框、流向线和连接点.只有使用规定图形设计好的程序框图,才可能有好的程序.程序框图一般按照从上到下的执行顺序,但在条件判断或循环判断时根据判断结果与流程线的指向而定,在各图形框内的文字符号描写要简明确切,不能出现两种以上不同的解析,这样,表达的程序结果才会准确.程序框图是程序设计的根本,要理解好程序框图的含义.应用1到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费.设计算法,要求输入汇款额x (元)时,输出银行收取的手续费y (元),画出程序框图.提示:依题意可知y 与x 的关系是y =⎩⎪⎨⎪⎧1, 0<x ≤100,0.01x , 100<x ≤5 000,50, 5 000<x ≤1 000 000,因此可以利用条件分支结构实现算法.应用2某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名,第一名得全部奖金的一半多1万元;第二名得剩余奖金的一半多1万元,第三名再得剩余奖金的一半多一万元,依次类推,到第10名时,只剩下奖金1万元,问科研所总共拿出多少万元作为奖金,试画出程序框图解决这个问题.提示:可设第n 名未拿奖金前的剩余奖金金额为S n ,由题意知有关系式S n -1-12S n -1-1=S n ,因此当第10名奖金金额为S 10=1(万元)时,到第9名时奖金金额为S 9=(1+1)×2=4(万元);到第8名时奖金金额为S 8=(4+1)×2=10(万元);…;到第n 名时奖金金额为S n =(S n +1+1)×2(万元).所以得到递推公式为S 10=1,S n =(S n +1+1)×2,n =1,2,…,9.故可用循环语句来解决. 专题三 用基本算法语句编写程序基本算法语句有输入语句、输出语句、赋值语句、条件语句、循环语句五种,它们对应于算法的三种逻辑结构:顺序结构、条件分支结构、循环结构,用基本算法语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表述以及循环语句中有关变量的取值范围.对于循环语句,一般是,当明确循环次数时用for 语句,不知循环次数时用while 语句.应用1在音乐唱片超市里,每张唱片售价25元,顾客如果购买5张以上(含5张),则按照9折收费;顾客如果购买10张以上(含10张),则按8.5折收费.请设计一个算法,并写出程序,要求输入唱片的张数,输出应收款的金额.提示:用分类的思想先写出收款额y 元与购买张数x 的函数关系为y =⎩⎪⎨⎪⎧25x (x <5),22.5x (5≤x <10),21.25x (x ≥10).编写程序时应画出程序框图,按程序框图再转化为程序语句.应用2高一(3)班共有54名同学参加了数学竞赛,现在已有了这54名同学的竞赛分数.请设计算法,要求将竞赛成绩优秀的同学的平均分计算出来并输出(规定90分以上为优秀),画出程序框图,写出程序.提示:我们可以用循环结构控制输入54名同学的分数,用条件分支结构来判断分数是否高于90分,同时统计累加高于90分的成绩的总和与人数,从而求出平均分.专题四 中国古代数学中的算法案例用等值算法求两个数的最大公约数时,一定要弄清每一次减法中的被减数、减数,同时要掌握这种方法中减法应在何种情况下停止运算,得出结果.用秦九韶方法求多项式的值时,首先要对所给的n 次多项式进行合理的改写,然后由内向外逐次计算,要确保中间计算结果的准确性.应用1 1 734,816,1 343的最大公约数是________.应用2用秦九韶算法求多项式函数f (x )=7x 7+6x 6+5x 5+4x 4+3x 3+2x 2+x 当x =3时的值.提示:根据秦九韶算法,可以把函数化成下面的形式:f (x )=((((((7x +6)x +5)x +4)x +3)x +2)x +1)x ,然后一步一步由里向外计算.真题放送 1.(2011·天津高考)阅读如下的程序框图,运行相应的程序,若输入x 的值为-4,则输出y 的值为( ).A .0.5B .1C .2D .4 2.(2011·福建高考)阅读下图所示的程序框图,运行相应的程序,输出的结果是( ).A .3B .11C .38D .123 3.(2011·北京高考)执行如图所示的程序框图,输出的s 值为( ).A .-3B .-12C .13D .24.(2011·天津高考)阅读如下的程序框图,运行相应的程序,则输出i 的值为( ).A.3 B.4 C.5 D.65.(2011·辽宁高考)执行下面的程序框图,如果输入的n是4,则输出的p是().A.8 B.5 C.3 D.26.(2011·陕西高考)如下图中,x1,x2,x3为某次考试三个评阅人对同一道题的独立评分,p为该题的最终得分.当x1=6,x2=9,p=8.5时,x3等于().A.11 B.10 C.8 D.77.(2011·福建高考改编)运行如图所示的程序,输出的结果是________.8.(2011·湖南高考)若执行如图所示的框图,输入x1=1,x2=2,x3=4,x4=8,则输出的数等于______.9.(2011·安徽高考)如图所示,程序框图(算法流程图)的输出结果是__________.10.(2011·山东高考)执行下图所示的程序框图,输入l=2,m=3,n=5,则输出的y的值是__________.美索不达米亚人的开方算法汹涌湍急的底格里斯河与幼发拉底河所灌溉的美索不达米亚平原,是人类文明的发祥地之一.美索不达米亚人擅长于计算,他们创造了优良的计数系统.美索不达米亚的学者在发展程序化算法方面表现出了熟练的技巧,他们创造了许多成熟的算法,开方计算中有一个例子——求正数平方根的近似值的算法是最有代表性的.他们设计的算法是这样的:(1)确定平方根的首次近似值:a 1;(2)由代数式b 1=aa 1求出b 1(a 可以任取一个正数);(3)取二者的算术平均值a 2=a 1+b 12为第二次近似值; (4)由代数式b 2=aa 2求出b 2;(5)取算术平均值a 3=a 2+b 22作为第三次近似值;……反复进行上述步骤,直到获得满足精确度的近似值. 下面来看看这个算法的原理.设a 1是这个根的首次近似值.由方程b 1=a a 1求出b 1,若a 21<a ,则b 21>a ,反之亦然.接着,再取二者的算术平均值a 2=a 1+b 12,则这个近似值更接近所求的平方根.耶鲁大学收藏的一块古巴比伦泥版(编号7289),其上载有122的近似值,结果准确到六十进制的三位小数,用十进制写出来是1.414 213,这个结果是相当精确的逼近.答案: 专题应用 专题一【应用】 解:算法如下: S1 输入生日的月日A ;S2 如果A <3.21,输出“星座未知”;S3 否则,若A <4.19,则输出“你的星座是:白羊座”; S4 否则,若A <5.20,则输出“你的星座是:金牛座”; S5 否则输出“星座未知”. 专题二【应用1】 解:程序框图如图所示.【应用2】 解:程序框图如图所示.专题三【应用1】解:算法步骤如下:S1输入x;S2若x<5,则y=25x;否则,执行S3;S3若x<10,则y=22.5x;否则y=21.25x;S4输出y.程序框图如图1所示.根据程序框图,用条件语句写出程序如下图2.图1图2【应用2】解:程序框图如图所示.程序如下:S=0;m=0;i=1;w hile i<=54x=input(“x=”);if x>90S=S+x;m=m+1;endi=i+1;endp=S/m;p专题四【应用1】17由等值算法得,(1 734,816,1 343)=(1 734-1 343,1 343-816,816)=(391,527,816)=(391,527-391,816-527)=(391,136,289)=(391-289,136,289-136)=(102,136,153)=(102,136-102,153-136)=(102,34,17)=(102-2×34,34-17,17)=(34,17,17)=(17,17,17),∴1 734,816,1 343的最大公约数是17.故填17.【应用2】解:f (x )=((((((7x +6)x +5)x +4)x +3)x +2)x +1)x , 因为v 0=7,v 1=7×3+6=27, v 2=27×3+5=86, v 3=86×3+4=262, v 4=262×3+3=789, v 5=789×3+2=2 369, v 6=2 369×3+1=7 108, v 7=7 108×3=21 324,故x =3时,多项式f (x )=7x 7+6x 6+5x 5+4x 4+3x 3+2x 2+x 的值为21 324. 真题放送1.C 输入x =-4.∵|-4|>3, ∴x =|-4-3|=7.∵7>3, ∴x =|7-3|=4.∵4>3,∴x =|4-3|=1. ∵1<3,∴y =2x =21=2.2.B 第一次循环:a =3;第二次循环:a =11,故该程序框图运行后输出的结果为11.3.D i 的初始值为0,s 的初始值为2,显然i <4,所以执行语句i =i +1,s =s -1s +1,i的值变为1,s 的值变为13;回到判断框,i <4成立,继续执行循环体i =2,s =-12;i <4成立,执行循环体i =3,s =-3;i <4成立,执行循环体i =4,s =2;i <4不成立,输出s ,得到s 的值为2.4.B 第一次运算:i =1,a =2,a <50;第二次运算:i =2,a =5,a <50;第三次运算:i =3,a =16,a <50;第四次运算:i =4,a =65,a >50.所以输出i =4.5.C 初始值p =1,s =0,t =1,k =1,循环开始,第一次,p =1,s =1,t =1,k =2; 第二次,p =2,s =1,t =2,k =3; 第三次,p =3,s =2,t =3,k =4;此时,k <n 不成立,跳出循环,输出p =3. 6.C ∵x 1=6,x 2=9, ∴|x 2-x 1|=3>2,输入x 3, 假设|x 3-x 1|<|x 3-x 2|成立, 即|x 3-6|<|x 3-9|,解得x 3<7.5,把x 3赋值给x 2,p =x 1+x 22=x 1+x 32=8.5,解得x 3=11, 与x 3<7.5矛盾,舍去;假设|x 3-x 1|≥|x 3-x 2|成立,即|x 3-6|≥|x 3-9|,解得x 3≥7.5,把x 3赋值给x 1,p =x 1+x 22=x 2+x 32=8.5,解得x 3=8,符合要求.7.3 ∵a =1,b =2,a =a +b ,∴a =1+2=3. ∴该程序输出的结果是3.8.3.75 这个程序的作用是求x 1,x 2,x 3,x 4四个数的平均数,1+2+4+84=3.75.9.15 由题意可得T 为求1+2+3+…+k 的值.对于1+2+…+k =k (k +1)2=105,∴k =14或k =-15(舍). ∴输出的结果为:14+1=15.10.68 由程序框图可知,y 的变化情况为y =70×2+21×3+15×5=278,进入循环,显然278>105,因此y=278-105=173;此时173>105,故y=173-105=68. 经判断68>105不成立,输出此时y的值68.。
高考数学必修三算法初步知识点
1、算法的概念:
①由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题。
②算法的五个重要特征:
ⅰ有穷性:一个算法必须保证执行有限步后结束;
ⅱ确切性:算法的每一步必须有确切的定义;
ⅲ可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次即可完成;
ⅳ输入:一个算法有0个或多个输入,以刻划运算对象的初始条件。
所谓0个输入是指算法本身定出了初始条件。
ⅴ输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果。
没有输出的算法是毫无意义的。
2、程序框图也叫流程图,是人们将思考的过程和工作的顺序进行分析、整理,用规定的文字、符号、图形的组合加以直观描述的方法
(1)程序框图的基本符号:
(2)画流程图的基本规则:
①使用标准的框图符号
②从上倒下、从左到右
③开始符号只有一个退出点,结束符号只有一个进入点,判断符号允许有多个退出点
④判断可以是两分支结构,也可以是多分支结构
⑤语言简练
⑥循环框可以被替代
3、三种基本的逻辑结构:顺序结构、条件结构和循环结构
(1)顺序结构:
顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。
(2)条件结构:分支结构的一般形式。
第一章 1.1 算法与程序框图1.1.1算法的概念1.通过回顾二元一次方程组的求解过程,体会算法的基本思想.2.了解算法的含义和特征.3.会用自然语言描述简单的具体问题的算法.知识梳理自主学习题型探究重点突破当堂检测自查自纠知识梳理 自主学习 知识点一 算法的含义及特征1.算法的概念12世纪的算法是指用阿拉伯数字进行 的过程 数学中的算法 通常是指按照 解决某一类问题的 和 的步骤现代算法通常可以编成 ,让计算机执行并解决问题 一定规则 明确 有限算术运算 计算机程序2.算法的特征(1)有限性:一个算法的步骤序列是 的,必须在 的操作之后停止,不能是 的. (2)确定性:算法中的每一步应该是的,并且能有效地执行且得到的结果,而不应当模棱两可. (3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一问题的解法不一定是的,对于同一个问题可以有的算法. 有限 有限 无限 确定 确定 唯一 不同(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.3.算法与计算机 计算机解决任何问题都要依赖于 .只有将解决问题的过程分解为若干个 ,即,并用计算机能够接受的“ ”准确地描述出来,计算机才能够解决问题.算法 明确的步骤 算法 语言知识点二算法的设计1.设计算法的目的设计算法的目的实际上是寻求一类问题的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.2.设计算法的要求(1)写出的算法必须能解决一类问题.(2)要使算法尽量简单、步骤尽量少.(3)要保证算法步骤有效,且计算机能够执行.思考一次青青草原园长包包大人带着灰太狼、懒羊羊和一捆青草过河.河边只有一条船,由于船太小,只能装下两样东西.在无人看管的情况下,灰太狼要吃懒羊羊,懒羊羊要吃青草,请问包包大人如何才能带着他们平安过河?题型探究重点突破题型一算法的概念例1下列关于算法的说法,正确的个数有()C①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1B.2C.3D.4解析由于算法具有有限性、确定性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.跟踪训练1 下列说法中是算法的有________(填序号).①从上海到拉萨旅游,先坐飞机,再坐客车;②解一元一次不等式的步骤是去分母、去括号、移项、合并同类项,系数化为1;③求以A (1,1),B (-1,-2)两点为端点的线段AB 的中垂线方程,可先求出AB 中点坐标,再求k AB 及中垂线的斜率,最后用点斜式方程求得线段AB 的中垂线方程;④求1×2×3×4的值,先计算1×2=2,再计算2×3=6,6×4=24,得最终结果为24; ⑤12x >2x +4.题型二算法的设计例2所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.跟踪训练2判断一个大于2的整数是否为质数的算法步骤如何设计?解第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.题型三算法的应用例3一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?跟踪训练3“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从1~3报数,结果最后一个士兵报2;②又令士兵从1~5报数,结果最后一个士兵报3;③又令士兵从1~7报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数.请设计一个算法,求出士兵至少有多少人.对算法的含义及特征的理解易错点例4计算下列各式中的S值,能设计算法求解的是________.(1)S=1+2+3+ (100)(2)S=1+2+3+…+100+…(3)S=1+2+3+…+n(n∈N*).当堂检测 1 2 3 4 51.下列关于算法的说法中正确的是()A.算法是某个具体的解题过程B.算法执行后可以不产生确定的结果C.解决某类问题的算法不是唯一的D.算法可以无限地操作下去不停止2.下列四种自然语言叙述中,能称为算法的是()BA.在家里一般是妈妈做饭B.做米饭需要刷锅、淘米、添水、加热这些步骤C.在野外做饭叫野炊D.做饭必须要有米解析算法是做一件事情或解决一个问题等的程序或步骤,故选B.3.在用二分法求方程零点的算法中,下列说法正确的是()DA.这个算法可以求所有的零点B.这个算法可以求任何方程的零点C.这个算法能求所有零点的近似解D.这个算法可以求变号零点近似解解析二分法的理论依据是函数的零点存在定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.4.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________.(2)(1)(3)解析算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.5.下面是解决一个问题的算法:第一步:输入x.第二步:若x≥4,转到第三步;否则转到第四步.第三步:输出2x-1.第四步:输出x2-2x+3.当输入x的值为____时,输出的数值最小值为____.课堂小结1.算法的特点:有限性、确定性、顺序性与正确性、不唯一性、普遍性.2.算法设计的要求:(1)写出的算法必须能够解决一类问题,并且能够重复使用.(2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,在有限步后能得到结果.返回本课结束。
1.2基本算法语句(复习课说课稿)一、教材分析(一)在教材的地位和作用计算机完成任何一项任务都需要算法。
自然语言与程序框图表示的算法,计算机是不能理解的,程序语言是计算机可以理解的算法。
学习算法语句,并应用它来实现算法,是让学生经历学习和应用算法过程的重要一环。
本节复习的五种算法语句是为了将算法的控制结构转换为计算机能够理解的程序语言和能在计算机上实现的程序,其作用就是实现算法与计算机程序的转换。
(二)教材内容本节内容主要是复习算法初步的第二部分,内容主要包括五种算法语句及其表达方式、结构、应用。
(三)教学目标1.知识目标(1)正确理解输入语句、输出语句、赋值语句的结构;(2)正确理解条件语句的概念,并掌握其结构及功能;(3)掌握循环语句的具体应用。
2.过程与方法(1)让学生充分地感知、体验应用计算机解决数学问题的方法,并能初步操作、模仿;(2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理的数学方法。
3.情感态度价值观通过本节内容的学习,使我们认识到计算机与人们的生活密切相关,增强计算机应用意识,形成自觉地将数学理论和现代信息技术结合的思想。
(四)教学重点理解五种基本算法语句及其表达方式、结构、用法。
(五)教学难点条件语句以及循环语句在具体问题中的应用。
二、教法分析本节课是基本算法语句的复习课,鉴于这部分内容抽象程度较高,难度较大。
采用问题探究式与计算机实践相结合的教学方式。
在教学过程中通过不断地提出问题让学生思考和实践检验,使学生掌握五种基本语句的内容并能灵活应用。
三、学法分析学生已经学习了基本算法语句,因此引导学生回顾基础知识,教师在对例题分析后,采用小组讨论法,培养学生互助协作的精神,并且通过实践自己发现问题,解决问题,逐步形成探究的习惯。
四、教学过程教学环节大体包括以下几个方面教学环节时间安排(一)创设情境 5分钟(二)基础巩固 14分钟(三)问题探究 15分钟(四)课时小结 5分钟(五)布置作业 1分钟以上教学环节,无绝对严密的界限,主要在于将它们有机灵活地结合,以符合学生学习的规律,调动学生积极参与。
十五、算法初步(必修三)
1.(2012年西城二模 文3)执行如图所示的程序框图,若输入如下四个函数:
①2x y =; ②2x y =-; ③1()f x x x -=+; ④1()f x x x -=-. 则输出函数的序号为( D ) A .① B.② C.③ D.④
2.(2012年朝阳二模文10)运行如图所示的程序框图,输出的结果是 . 答案:5。
(第10题图)
3.(2012年丰台二模文12)执行如右图所示的程序框图,则输出的结果是______. 答案:63。
4.(2012年昌平二模文12)如图给出了一个程序框图,其作用是输入x 的值,输出相应的y 值,若要使输入的x 值和输出的y 值相等,则这样的x 值有___________个. 答案:3。
5.(2012年东城二模文3)执行右图的程序框图,则第3次输出的数为( B )
A.4 B.5 C.6 D.7
6.(2012年海淀二模文4)执行如图所示的程序框图,若输入x的值为10,则输出的x值为( A )
A.4 B. 2 C. 1 D. 0。