高中数学 第二章 算法初步 2_1 算法的基本思想教案 北师大版必修31

上传人:san****019 文档编号:11975365 上传时间:2020-05-04 格式:DOC 页数:8 大小:2.44MB
返回 下载 相关 举报
高中数学 第二章 算法初步 2_1 算法的基本思想教案 北师大版必修31_第1页
第1页 / 共8页
高中数学 第二章 算法初步 2_1 算法的基本思想教案 北师大版必修31_第2页
第2页 / 共8页
高中数学 第二章 算法初步 2_1 算法的基本思想教案 北师大版必修31_第3页
第3页 / 共8页
点击查看更多>>
资源描述
第二章算法初步算法是数学及其应用的重要组成部分,是计算科学的重要基础随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并融入社会生活的方方面面,算法思想已经成为现代人应具备的一种数学素养需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想在这一章中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验算法框图在解决问题中的作用;通过模仿、操作、探索,学习设计算法框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力算法作为新名词,在以前的数学教科书中没有出现过,但是算法本身,同学们并不陌生解方程的算法、解不等式的算法、因式分解的算法,都是同学们熟知的内容只是算法的基本思想、特点,学习算法的必要性等问题没有专门涉及因此,本章中的算法的基本思想,将针对同学们熟悉的一些问题,分析解决这些具体问题的算理,整理出相应问题的解决步骤,然后抽象概括出更具一般意义的算法通过这个过程,让学生体会算法的程序化思想同时,针对同样的问题,我们给出不同的算法,让同学们意识到:同一个问题可能存在着多种算法,算法之间有优劣之分接下来,通过求方程近似解,让同学们意识到学习算法的必要性将问题的解决过程即算法交给计算机完成,能够极大地提高效率接下来,介绍算法的基本结构顺序结构和选择结构是学生比较容易接受的,循环结构则比较难以理解分析造成理解困难的原因之一是变量以及对变量的处理赋值在循环结构的学习中,总结了循环结构的三个要素循环变量、循环体和循环的终止条件,并提供了可供学生模仿、操作的算法算法框图排序算法可以说是应用最广泛的算法了,而且又易于理解,便于接受,是算法教学的良好素材教科书选择这个问题作为专题来讨论,给学生提供了一个完整的分析、设计算法的过程,也给了学生一个应用前面所学的关于变量和结构的知识的机会在前面的学习中,我们分别用自然语言和算法框图来描述算法,这两种方式各有优缺点要将算法最终交给计算机执行,需要用程序语言来表述算法,程序语言有很多种,但是有一些基本语句是这些语言都要用到的:输入输出语句、赋值语句、条件语句、循环语句,在本章的最后介绍了这几种基本语句值得注意的是:1注重对算法基本思想的理解算法是高中数学课程中的新内容,其思想非常重要,但并不神秘例如,运用消元法解二元一次方程组、求最大公因数等的过程本质上就是算法本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成算法框图;为了能在计算机上实现,还需要将自然语言或算法框图翻译成计算机语言本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力不要将此部分内容简单处理成程序语言的学习和程序设计2算法教学必须通过实例进行使学生在解决具体问题的过程中学习一些基本逻辑结构和语句有条件的学校,应鼓励学生上机尝试运行程序在实例的选择中,我们要把握这样一些原则:亲和原则:选取的例子要贴近学生,或者来自学生的生活实践,或者是学生所学过的数学知识趣味性原则:选取的实例一般要有丰富的背景,本身要有趣味性基础性原则:问题本身的算理并不难,只要蕴涵丰富的算法思想即可可操作性原则:所选取问题的算法一般能在计算机上实现3.算法教学要注意循序渐进,先具体再抽象,先了解算理,再描述算法通常,我们说一个算法越是抽象,有一般意义,应用就越广泛,越能体现算法本身的应用价值但是,作为教学意义上的算法则不同,一定要从具体问题出发分析算法的算理及算法步骤,然后抽象概括出一般意义的算法,画出算法算法框图,并在这个过程中,学习使用变量、赋值,学习更好地表述算法,以便在计算机上操作执行算法的教学中,变量的理解、赋值的应用、循环结构的理解是重点和难点,教师要注意分散这些难点学生对算法思想的认识、概念的把握、知识的灵活应用及能力的形成不是一次完成的,而是要把这些作为教学目标渗透在整章的学习中本章教学时间约需8课时,具体分配如下(仅供参考):1算法的基本思想约1课时2算法框图的基本结构及设计约4课时3几种基本语句约2课时1算法的基本思想教学分析算法在中学数学课程中是一个新的概念,但其没有一个精确化的定义,教科书只对它作了如下描述:“算法是解决某一类问题的步骤和程序”为了让学生更好地理解这一概念,教科书用5个例子来说明算法的实质教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固三维目标1正确理解算法的概念,掌握算法的基本特点2通过例题教学,使学生体会设计算法的基本思路3通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣重点难点教学重点:算法的含义及应用教学难点:写出解决一类问题的算法课时安排1课时导入新课思路1.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊此人如何将动物完好地转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容算法思路2.大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念思路3.算法不仅是数学及其应用的重要组成部分,也是计算科学的重要基础在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具如听音乐、看电影、玩游戏、打字、画卡通画、处理数据都能通过计算机实现,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始推进新课1解二元一次方程组有几种方法?2结合实例 总结用加减消元法解二元一次方程组的步骤3结合实例 总结用代入消元法解二元一次方程组的步骤4请写出解一般二元一次方程组的步骤5根据上述实例谈谈你对算法的理解6请同学们总结算法的特征7请思考我们学习算法的意义讨论结果:1代入消元法和加减消元法2回顾二元一次方程组的求解过程,我们可以归纳出以下步骤:第一步,2,得5x1.第二步,解,得x.第三步,2,得5y3.第四步,解,得y.第五步,得到方程组的解为 3用代入消元法解二元一次方程组我们可以归纳出以下步骤:第一步,由得x2y1.第二步,把代入,得2(2y1)y1.第三步,解得y.第四步,把代入,得x21.第五步,得到方程组的解为 4对于一般的二元一次方程组其中a1b2a2b10,可以写出类似的求解步骤:第一步,b2b1,得(a1b2a2b1)xb2c1b1c2.第二步,解,得x.第三步,a1a2,得(a1b2a2b1)ya1c2a2c1.第四步,解,得y.第五步,得到方程组的解为 5算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法,等等在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤现在,算法通常可以编成计算机程序,让计算机执行并解决问题6算法的特征:确定性:算法的每一步都应当做到准确无误、“不重不漏”“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行7在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法也就是说,算法实际上就是解决问题的一种程序性方法算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果因此算法是计算科学的重要基础思路11在给定素数表的条件下,设计算法,将936分解成素因数的乘积(4 000以内的素数表见教科书附录1)分析:1.查表判断936是否为素数:(1)如果936是素数,则分解结束;(2)如果936不是素数,则进行第2步2确定936的最小素因数:2.9362468.3查表判断468是否为素数:(1)如果468是素数,则分解结束;(2)如果468不是素数,则重复上述步骤,确定468的最小素因数重复进行上述步骤,直到找出936的所有素因数解:算法步骤如下:1判断936是否为素数:否2确定936的最小素因数:2.9362468.3判断468是否为素数:否4确定468的最小素因数:2.93622234.5判断234是否为素数:否6确定234的最小素因数:2936222117.7判断117是否为素数:否8确定117的最小素因数:3.936222339.9判断39是否为素数:否10确定39的最小素因数:3.9362223313.11判断13是否为素数:13是素数,所以分解结束分解结果是9362223313.点评:以上步骤是解决素因数分解问题的一个过程,只要依照这一系列步骤,都能解决这个问题我们把这一系列步骤称为解决这个问题的一个算法.变式训练设计一个算法,求840与1 764的最大公因数分析:我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的解答这个问题需要按以下思路进行首先,对两个数分别进行素因数分解:84023357,1 764223272.其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1 764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2.同样,可以确定出公因数3和7的指数均为1.这样,就确定了840与1 764的最大公因数为22317184.解:算法步骤如下:1先将840进行素因数分解:84023357;2然后将1 764进行素因数分解:1 764223272;3确定它们的公共素因数:2,3,7;4确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5最大公因数为22317184.例2 一位商人有9枚银元,其中有1枚略轻的是假银元你能用天平(不用砝码)将假银元找出来吗?分析:最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元图1解:按照下列步骤,就能将假银元找出来:1任取2枚银元分别放在天平的两边如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则进行第2步2取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元这种算法最少要称1次,最多要称7次是不是还有更好的办法,使得称量次数少一些?我们可以采用下面的方法:图21把银元分成3组,每组3枚2先将两组分别放在天平的两边如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里3取出含假银元的那一组,从中任取两枚银元放在天平的两边如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元点评:经分析发现,后一种算法只需称量2次,这种做法要明显好于前一种做法当然,这两种方法都具有一般性,同样适用于n枚银元的情形这是信息论中的一个模型,可以帮助我们找出某些特殊信息从上面的问题中可以看出,同一个问题可能存在着多种算法,其中一些可能要比另一些好在实际问题和算法理论中,找出好的算法是一项重要的工作思路2例1 (1)设计一个算法,判断7是否为质数;(2)设计一个算法,判断35是否为质数分析:(1)根据质数的定义,可以这样判断:依次用26除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是否为质数还可以,如果判断1 997是否为质数就比较麻烦了,因此,我们需要寻找更实用的算法步骤.变式训练请写出判断n(n2)是否为质数的算法分析:对于任意的整数n(n2),若用i表示2(n1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作这个操作一直要进行到i的值等于(n1)为止解:1.给定大于2的整数n.2令i2.3用i除n,得到余数r.4判断“r0”是否成立若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示5判断“i(n1)”是否成立若是,则n是质数,结束算法;否则,返回第3步.例2 写出用“二分法”求方程x220 (x0)的近似解的算法分析:令f(x)x22,则方程x220 (x0)的解就是函数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内的数可以作为方程的近似解解:1.令f(x)x22,给定精度d.2确定区间a,b,满足f(a)f(b)0.3取区间中点m .4若f(a)f(m)0,则含零点的区间为a,m;否则,含零点的区间为m,b将新得到的含零点的区间仍记为a,b5判断a,b的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步当d0.005时,按照以上算法,可以得到下表:ab|ab|12111.50.51.251.50.251.3751.50.1251.3751.437 50.062 51.406 251.437 50.031 251.406 251.421 8750.015 6251.414 062 51.421 8750.007 812 51.414 062 51.417 968 750.003 906 25于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精度为0.005时的原方程的近似解实际上,上述步骤也是求的近似解的一个算法点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续变式训练求方程f(x)x3x210在区间0,1上的近似解,精度为0.01.解:根据上述分析,可以通过下列步骤求得方程的近似解:1因为f(0)1,f(1)1,f(0)f(1)0,则区间0,1为有解区间,精度1010.01;2取0,1的区间中点0.5;3计算f(0.5)0.625;4由于f(0.5)f(1)0,可得新的有解区间0.5,1,精度10.50.50.01;5取0.5,1的区间中点0.75;6计算f(0.75)0.015 625;7由于f(0.75)f(1)0,可得新的有解区间0.75,1,精度10.750.250.01;当得到新的有解区间0.75,0.757 82时,由于|0.757 820.75|0.007 820.01,该区间精度已满足要求,所以取区间0.75,0.757 82的中点0.753 91,它是方程的一个近似解.例3 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊此人如何将动物转移过河?请设计算法分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中应尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势解:具体算法如下:算法步骤:1人带两只狼过河,并自己返回2人带一只狼过河,自己返回3人带两只羚羊过河,并带两只狼返回4人带一只羚羊过河,自己返回5人带两只狼过河点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的这就要求我们在写算法时应精练、简洁、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的问题经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使问题变得简单,而且可以提高工作效率.变式训练喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶如何安排这几个步骤?请给出两种算法,并加以比较分析:本题主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题解:算法一:1洗刷水壶2烧水3洗刷茶具4沏茶算法二:1洗刷水壶2烧水,烧水的过程当中洗刷茶具3沏茶上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.设计算法判断一元二次方程ax2bxc0是否有实数根解:算法步骤如下: 1输入一元二次方程的系数:a,b,c.2计算b24ac的值3判断0是否成立若0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法点评:用算法解决问题的特点是:具有很好的程序性,是一种通法,并且具有确定性、逻辑性、有穷性中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算设通话时间为t(分钟),通话费用为y(元),如何设计一个程序,计算通话的费用?解:算法分析:数学模型实际上为y关于t的分段函数关系式如下:y 其中t3表示取不大于t3的整数部分算法步骤如下:1输入通话时间t.2如果t3,那么y 0.22;否则判断tZ 是否成立,若成立执行y 0.20.1 (t3);否则执行y 0.20.1( t31)3输出通话费用y.1正确理解算法这一概念2结合例题掌握算法的特点,能够写出常见问题的算法课本本节练习1、练习2.本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习算法是本章的重点也是本章的基础,是一个较难理解的概念为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练本节的事例有古老的经典算法,也有几何算法等,因此这是一节很好的课例备选习题中国古代有一个著名的算法案例:鸡兔49个头,100条腿往地里走,问鸡兔各多少?请写出计算鸡兔数的算法分析:求解鸡兔的问题简单直观,却包含着深刻的算法思想应用解二元一次方程组的方法来求解鸡兔同笼问题解:算法如下:1设有鸡x只,兔y只,则有 2将方程组中的第一个方程两边乘以2加到第二个方程中去,得到解得y1.3将y1代入,得x48.因此鸡有48只,兔有1只
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!