第一篇:《算法的概念》教学案例
《算法的概念》教学案例
高二数学组
王博 案例背景:《算法的概念》这一节内容是出自必修3的第一章,在现代社会信息技术发展的很快,算法在科学技术、社会发展发挥着越来越大的作用,已经深入到了社会生活的方方面面。而这节内容主要是让学生理解算法的概念,理解其特有的思想,并用之解决现实生活中的问题。对这节课的准备事先还是要从背景,具体的生活实例中寻找契合点,从而激发学生的兴趣。然后再呈现一些简单的算法问题,比如解二元一次方程组,一元二次方程,过河问题,做出解决这些问题的步骤,在渗透从特殊到一般的数学思想,用一些简单的数学问题体现本节课的主题。
在讲这节课前,也进行了充分的准备,因为要针对文科班的学生,所以对一些计算问题进行了取舍。以下是部分实录:
案例描述:师:同学们,大家上午好。今天我们进入新学期的第一课:算法。那算法的概念是什么呢。我们小学学过四则运算口诀是什么?
生:先乘除后加减,有括号先去括号。
师:大家回答得很好,其实这就是一个算法。我们生活中还有许多这样的例子,比如我们炒菜的时候是先干什么,后干什么?这时气氛比较热烈了,有同学抢着说:“是先放油,后炒菜,最后放调料。”
很好,看来大家是做过饭的。这炒菜做饭也是算法。然后,我又说,大家都焖过米饭吧?具体步骤怎么做?
生经过讨论后答:先洗锅,在放米,淘米,通上电源。
师:很好,这也是算法,那算法的概念应该怎么去说呢,通过刚才举的这些例子。
在我引导下,学生最终得出算法是我们解决问题明确和有限的步骤。
师:现在大家了解了究竟何谓算法,在生活中我们经常接触到算法,而现代社会我们用的最多的工具—计算机,它的基础便是算法。有些同学爱玩电脑游戏,它的基础也是算法(说到这里的时候,有些男同学是比较感兴趣的)。回到我们数学中来,我们数学中的问题是怎么通过算法得来的,来看下面的问题:
接着我展示了课件上的一道关于求解二元一次方程的问题。
问:这是一个什么方程?我们以前是怎么解决这个问题的?有几种方法?
生:这是二元一次方程,解决这个问题需要消元,有两种方法,一种是加减消元,一种是代入消元。
看着课堂渐渐活跃,学生积极性很高。我感到很满意
师:很好,现在我们一块来用加减消元解一下。在师生共同的努力下,解题的过程在黑板上呈现出来。接着我说:那么这算法的步骤该如何去写?算法其实就是你在解决问题时做了哪些工作,你的解题思路就是算法。于是我在相邻的版块间又将算法步骤罗列出来,与前面的解题过程一一对照。
通过这种对照,学生渐渐明白了。于是展示出课件上的题,让学生自己练习怎么写算法。巡视时发现学生掌握的情况还不错。
师:好,这个是求解方程组的问题,那么对于一元二次方程,它的算法又该如何解决呢?这里我展示出一个具体的方程。
这时,学生的意见不是很统一了,有的说因式分解,有的说先判断。在我的引导下最终得出结论:如果用求根公式的话:第一步是先化为一般式,然后判断△,最后是利用求根公式去求解。
师:好,那我们来看一个具体的问题,请大家写出算法步骤来。于是,我将题目展示与电子白板上,边引导学生思考怎么去解决解一元二次方程的问题。经过一段时间的努力,大部分同学做的还算不错。
最后,师生一块总结了算法的设计是有一定的要求的,根据学生书写的情况:(1)写的算法一定是要解决某个问题,不能盲目乱写,或与问题无关的。(2)算法要尽量简单,言简意赅。
(3)要保证写出的算法的正确性,使计算机能够执行。同学们最终对算法有了一个比较深入的了解。
师:好,让我们来看下面这个比较有趣的问题,就是过河问题:一个农夫带着一条狼狗、一只羊和一筐白菜过河......如何解决这个问题。当提出这个问题时同学们很是兴奋。都在积极的参与到这个问题中来,最终,在热烈的气氛之中,本节课宣告圆满结束。
案例反思:1.本节课相对简单,难点不多。主要是通过这节课能够让学生们对于所学的知识感兴趣。所以在开始,在引入上做了很多的工作。从实际的生活例子中找到数学的影子,这无疑更加生活化,也更切合实际。重要的是通过这些例子能够激发出学生的求知欲以及对数学的兴趣,被动接受在记忆时长和理解程度上远不如主动学习获得的知识。一位教育家曾说过:教育成功的艺术就在于使学生对你所教的东西感到有趣。让学生主动地参与进来,带着兴趣去学习,可能会起到事半功倍的效果。而平时因为各方面原因,在导入上不是很重视,通过这节课才明白它的重要性。2.在内容材料的选取上,考虑到学生的实际情况,我没有把其他必修的东西引进来增加学生的负担。只是针对这节课对先前所做的准备进行了筛选。把一些计算量大的题目删减,有些概念较多的也进行了简化。我认为一个教师这节课的成败不在于给学生呈现并解决了多少的问题,而在于学生是不是有效的掌握了多少,理解了多少问题。当然因为毕竟还是个新手,在对材料的选择和提取上还是欠缺些经验,可能没有老教师那样得心应手,在这一点上好要在以后的工作和学习中不断地加强。
第二篇:算法的概念 教学设计
算法的概念教学设计 杭州二中分校陈海玲执笔 一.内容和内容解析
本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法。
算法是一种解决问题的方法,是数学及其应用的重要组成部分,也是计算机科学的重要基础。算法的思想有着广泛的应用性。
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
在算法概念的表述中,有范围限定词“在数学中”,因此学习的内容均为数学中的问题。有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则”指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性。“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别。“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的。
算法有多种表示方法,其中自然语言描述与人的表达方式最接近,是学习其它描述方法的基础。
中国古代数学是以算法为主要特征,并蕴涵着丰富的算法思想。现代信息技术的发展使算法唤发出新的生机和活力,并使之成为当代社会必备的基本知识。算法进入高中必修内容正是反应了时代的需要。
算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料。算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材。因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系。又由于算法的具体实现上可以和信息技术相结合。因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让他们知道如何利用现代技术解决问题。
二.目标和目标解析
本节课的教学目标是:
1.在解特殊的二次一次方程组到得出一般二元一次方程组的解法的过程中,让学生对算法的概念有一个初步认识,并了解算法是如何表示的。
2.在判定7,35、1949和整数n(n>1)是否为质数的过程中,进一步理解算法的概念,学习算法的自然语言表示,认识算法的特征、作用和优势。
3.在得出用二分法求方程一个近似解的算法的过程中,初步运用算法概念,体会算法自然语言描述形成的过程,会初步用自然语言描述算法。
在实现上述目标的过程中,需要适时、恰当地借题发挥,使学生体会算法的思想,了解算法的基本逻辑结构,培养观察、表达能力和逻辑思维能力。
因此,本节课教学重点是,通过一些具体问题,引导学生变过去关注解决问题为关注解决问题过程的逻辑结构,通过解法与算法的比较,体会算法思想,形成算法概念,并会用自然语言描述一些具体问题的算法。
三.教学问题诊断
算法对学生来说并不遥远。比如列方程解应用题,证明函数的单调性,求曲线的方程,等,都是学生碰到过的算法的问题,但是,在此之前并没有明确提出“算法”的概念,学生原有的经历为算法学习提供了良好的条件。由于算法至今没有公认的定义,算法概念的建立需要与认识它的特征相联系,这拉大了算法概念与学生原有体验之间的距离,从而可能会造成学生概念理解上的偏差。因此,算法概念的形成需要搭建台阶,使学生运用已知建立新知,与此同时还要特别注意防止算法概念的泛化。
算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这决定了算法概念的形成与学生的观察能力,表达能力和逻辑思维能力有着直接联系。在以班级为单位的教学中,面临能力发展不平衡,产生部分学生算法学习有困难,因此,需要在教学中把握好适应面较广、符合学生认知基础的切入点。
通常,特殊问题的解的过程只是解法而不是算法,算法是解决一般(一类)问题(要与数学有关)的,即不进入到一般问题的层面就得不到算法,而一般问题往往远离学生原有的基础,需要通过搭建解决特殊问题这一台阶,帮助学生进入一般问题。在这样的情境中,学生的关注点需要由特殊转到一般,这对许多学生来讲是有困难的,需要教师设计问题或情境帮助学生加以克服,因此,这是本节课的教学难点之一。解决这一难点需要在教学中设计好问题,并给学生提供思维的时间,并在问题引导下,实现关注点的转移。
算法是一种解决问题的方法,特别擅长处理具有条件、循环结构的问题,有其特有的作用和价值,这是学生原来没有体会过的,若教学中对此忽视,学生算法学习时的关注会缺少思维量,只停留在低层次上。因此,需要教师结合问题创设学生活动情境,促成学生关注算法中存在的逻辑结构,并予以揭示。
算法的自然语言描述与高中学生具备的表达方式虽有不同但也有联系,相比算法的其它描述方法,自然语言描述最接近学生现有的表达方式。因此,对只有顺序结构的算法描述时,学生是容易写出这类问题算法的。教师在小结时,只需指出:写算法要按顺序,每步要明确(可执行),总体是有限步即可。对涉及条件、循环结构的算法时,由于需要表示算法中存在的结构,而学生原来没有接触过这种表达,因此,这也是本节课的一个教学难点。解决这一难点,需要在教学中给学生提供尝试的机会,在他们发生困惑,产生问题后给予指导,帮助他们学会用递归语言描述算法。
四.教学支持条件分析
为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法学习的作用和价值.五.教学过程设计
(一)课题引入
教师介绍:图中的前景有算筹、算盘、计算机,介绍计算机领域的重大贡献,引出计算机的工作原理——算法。后景取自宋朝数学家朱世杰的数学作品《四元玉鉴》,借此介绍我国古代数学在算法方面的伟大成就。纵观章头图,从古到今,算法始终扮演着重要的时代角色。
提问:什么是算法?引出课题。
设计意图:要充分挖掘章头图教学价值,它至少可以体现:1)算法概念的由来;2)我们将要学习的算法与计算机有关;3)展示中国古代数学的成就;4)激发学生学习算法兴趣。5)借问题自然引出课题。
(二)问题情境,引出算法概念
问题1:你能写出求解二元一次方程组:的步骤吗?
设计意图:从学生具备的认识水平出发,归纳解二元一次方程组的求解步骤。从而让学生经历算法分析的基本过程,并在此过程中引导学生关注更具一般性解法,形成解法向算法过渡的准备,为建立算法概念打下基础。
师生活动:让学生解方程组。收集学生的不同解答,再与教科书上的解答作比较。
问题2 你们所写的解答和教科书有什么不同?教科书提供的解答有什么特点?
设计意图:旨在引导学生关注书上表达方式的明显地步骤性特征,关注解的过程的逻辑结构,让学生明白解法和算法的差异
师生活动:教师引导学生从表达方式上、解的方法上进行对比,让学生对比后回答1。同学们写的是解法,关注的是解,书上写的是解题步骤具有明显的步骤性特征2。同学们用的是加减代入消元法解方程组,书上两次用的读是加减消元法等。
教师:投影用加减消元法求解的步骤,问:参照本题解法,你能完成下面问题吗?请一试。
问题3:写出求方程组的解的步骤.设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,为建立算法的概念做好铺垫.师生活动:让学生写出求解步骤后,教师:投影显示解题步骤:
第一步,得.第二步,解,得.第三步,得.第四步,解,得.第五步,得到方程组的解为:.教师:
1.引导学生分析上述解题过程的结构。
2.提出以上步骤就是求一般的二元一次方程组的解的算法.3.说明:把它编成程序就可以用计算机来解二元一组方程组了。用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.(三)分析归纳,得到算法概念
问题4。到底什么是算法?如何表达算法的含义?
设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.师生活动:教师在提出问题后,一定要给学生思考时间,让学生先用自己的语言表达对算法概念的理解,在学生思考、交流、回答的基础上,教师引导学生看书,让同学们看看自己所归纳的算法的概念和课本中概念的差异,帮助学生初步认识算法的概念.算法的概念:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
教师:结合问题3你能说说这里面关键词的含义吗?
(四)解决问题,促进理解算法概念,学习算法自然语言描述
过渡语:联系时事、地域与质数有关的问题,激发学生的好奇心和求知欲。
问题5,写出判断7是否为质数的步骤.设计意图:由学生已有的认识水平出发,创设学生可以完成的体验情境,认学生认识求解结构中存在“重复”。为导出一般问题的算法创造条件,也为学习算法的自然语言表示提供时机。.师生活动:
教师提问:
1.什么是质数?(引导学生回忆质数概念)
2.如何判断一个数是不是质数?如何把判断过程的基本步骤有条理的写出来?
让学生写算法的步骤,交流并点评学生写的算法步骤.体会如何从算法的角度思考质数的判定,体会算法的特征,知道下列表述的步骤是不明确的,所以都不是算法:
(1)因为2至6的整数都不能整除7,所以7是质数.(2)第一步,用2除7,得到余数不为0,所以2不能整除7.第二步,同理,3至6的整数都不能整除7,所以7是质数.纠正学生所写基本步骤后,教师接着提出问题:
问题6 你能写出判定35是否为质数的算法吗?
设计意图:35是偶数的代表,为判断任意给定一个大于2的整数是否为质数奠定基础。
师生活动:让学生试着写一写,可能会出现不同情况.教师有针对性地进行相应讲解.第一步,用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不是质数
学生完成后;教师提问:
两个解法有何相同之处?有何不同之处?
教师在学生回答后小结:对7是在试完1到6后才知道是质数,对35在试到5时,也就是在试的过程中,就得出不是质数,故没试完;不管哪个数,判断过程都是按一定规则有序进行的,都存在着“重复”这样的结构。
问题7 你能写出判断1949是否是质数的算法吗?
设计意图:1949是一个具体的数字,而且是一个比较大,无法用几个顺序结构的步骤就能表达清楚的算法问题,设计1949过渡,让学生从具体数的质数判断过程中认识循环结构,为一般的质数判断问题做准备。
师生活动:数字太大,像判定7是否为质数那样去判定1949是否为质数是一件很困难的事情.因此,学生可能会写出下列步骤:
第一步,用2除1949,得到余数为1.因为余数不为0,所以2不能整除1949.第二步,用3除1949,得到余数为2.因为余数不为0,所以3不能整除1949.第三步,用4除1949,得到余数为1.因为余数不为0,所以4不能整除1949
„„
第一千九百四十七步,用1948除1949,得到余数为1.因为余数不为0,所以1948不能整除1949因此,1949是质数.但是,上述表述的过程不是算法.事实上,“„„”你知我知,对计算机来说就是不明确的。
从问题7知道,一个算法步骤中不能出现类似“„„”的步骤,但对于像1949这样大的数,要像判定7是质数那样的写出判定其是质数的所有步骤是不现实的.那么,在不改变“规则”的前提下怎样表达这个算法呢?
引导学生分析并认识到,在问题5中,判定7是否为质数的每一个步骤,除了除数不同外其余的内容是一致的.如果用i表示除数,那么所有步骤都包含以下内容:
“用i除7,得到余数为r.因为r不为0,所以i不能整除7.”
在问题6中,只要把被判定的数7改为1949,则每一步均包含以下内容:
“用i除1949,得到余数为r.因为r不为0,所以i不能整除1949.”
因此,我们可以把判定1949是否为质数的算法写为:
第一步,令i=2.第二步,用i除1949,得到余数为r.第三步,判断r是否为0.若是,则1949不是质数;否则把i的值增加1仍记为i.第四步,判断“i>1948”是否成立.若是,则1949是质数;若否,返回第二步..问题8 任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断?
设计意图:在问题7学生活动的基础上,通过学生活动,得出该问题的算法,从而促进学生对算法概念的进一步理解,感受算法的作用和优势,学习算法的自然语言描述,同时,引入学生关注算法中存在的结构。
师生活动:让学生将1949改为任意大于2的整数,改写算法,得出“判定整数n(n>2)是否为质数”的算法.得出问题8算法(见教材例1算法)后,教师提问
此时,你是如何理解算法的?
教师小结:扣住下面问题。
1.用四步就可以解决问题6的算法,虽然没有使我们直接看到结果,但可以由计算机去解决了。(理解定义中:算法通常可以编成计算机程序,让计算机执行并解决问题)
即学习了算法,我们又增加了一种解决问题的方法(当然要借助计算机,说明算法的作用与优势)
2.算法可以用自然语言描述,描述算法的步骤一定是有限的,这是算法有限性特征;描述的算法具有“按部就班”的特点,这是算法“有序性”的特征;算法的第一步的表达要求“明确”,以便于编程让计算机执行,这是算法明确性的特征;
3.在解决问题过程中,对于反复进行的步骤,可以用递归语言进行描述.此时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.这类问题的背后含有算法的基本逻辑结构。问题9.写出用“二分法”求方程x2-2=0(x>0)的近似解的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.通过此例可以让学生进一步了解算法的逻辑结构,领会算法的思想,体会算法的的特征。同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平.师生活动:教师引导学生分析在二分法求方程近似解过程中所包含的基本逻辑结构,尤其关注其中的循环结构和条件结构。然后展示其算法。(主要考虑时间比较紧)
在设计算法的时候可以先不考虑精确度,在学生活动后,教师提出,在现有条件下,可以得到方程根存在的区间会越来越小,但我们的操作则永远不能停止。
因此,需要引入能够控制,使算法具备有“有限”的量,这就是精确度。
教师与学生共同得出本题算法:
第一步,令.给定精确度.第二步, 给定区间,满足.第三步,取中间点.第四步,若则含零点的区间为;否则含零点的区间为.将新得到的含零点的仍然记为.第五步, 判断的长度是否小于或者是否等于0.若是,则是方程的近似解;否则,返回第三步.
在完成上述算法表达的基础上,教师指出:
1.如果没有精确度要求,该算法将无法终止。(通过精确度强调算法的“有限性”)。
2.引导学生分析该算法的逻辑结构。(了解算法中存在的顺序、条件和循环结构)
3.给出精确度,指导领学生看教材,结合必修3第4页上有关内容.说明按以上步骤,我们将依次得到表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都是满足假设条件的原方程的近似解.4.改变输入的函数表达式,给定精确度后,上面算法可以求所有方程的近似解,因此,它是算法。通过“二分法”求方程的近似解的算法与解法的比较,发现算法一般都是没有具体结果的,而解法结果都是确定的,从而强调算法通常是针对解决一类问题而言的。
(五)归纳小结 将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的.
问题1:你能举出更多算法的例子吗?
设计意图:以举例的形式使学生体会算法的思想,以此评价他们对算法的概念以及特征的领会情况.师生活动:学生举例,师生共同评价.问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?
设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、明确、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力.师生活动:在学生回答的基础上,引导他们归纳:与一般解决问题的步骤相比,算法具有有序性、明确性、有限性等特点.六.目标检测设计
1.课堂检测
第1题.课本第6页练习1。
第2题.有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:
第一步:检验6=3+3
第二步:检验8=3+5
第三步:检验10=5+5
„„
利用计算机无穷地进行下去!请问,利用这种程序能够证明猜想的正确性吗?这是一个算法吗?
设计意图:促进学生进一步了解算法的概念及特征的,体会算法的思想。
活动方式:学生独立思考,在学生回答的基础上,教师予以评点。
答:这不是算法问题,不符合算法概念中提到的“有限性”。
2.课后检测
第1题.写出求一元二次方程根的一个算法.设计意图:巩固学生已领会的算法的思想,促进学生用自然语言正确表达算法。
第一步,计算。
第二步,如果,则原方程无实数解;
第三步:输出或无实数解的信息.第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力.第一步,给定一个大于1的整数n.第二步,令i=1.第三步,用i除n,得到余数为t,若t=0,则i是n的一个因数输出i;否则,不输出i.第四步,给i增加1仍然用i表示.第五步,判断是否成立,若是,则算法结束;否则,返回第三步.本文是“‘中学数学核心概念、思想方法结构体系及其教学设计研究’课题成果”
第三篇:算法的概念的教学设计
算法的概念的教学设计
杭二中分校 陈海玲
一.内容和内容解析
算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤内解决问题而建立的可重复应用的计算过程。(概念的内涵 广义)
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。(概念的内涵 狭义)
算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础。(内容及在本章的地位)
算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习本章程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础.由于程序框图体现的是算法的思想,故其思想方法可运用到数学的各个领域之中.(在学科中地位)
算法也是数学及其应用的重要组成部分,算法是连接人和计算机的纽带。是计算机科学的基础,利用计算机解决问题需要算法。首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节。(体现其应用性)
二.目标和目标解析
本节课通过对解决具体问题的过程与步骤的分析,让学生体会算法的思想,了解算法的含义。具体目标为:
1. 要求学生了解算法的含义,体会算法的思想。2. 在分析实例的基础上了解算法的基本特征。3. 能够用自然语言描述一些具体问题的算法。
本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.三.教学问题诊断
本节算法对学生来说并不陌生。生活中很多问题是按照指定的要求一步步解决的;小学的四则混合运算所遵循的先乘除、后加减的规则,括号的处理规则等,都是学生最初接触到的算法实例。初中学习的方程组的解法等,也是算法的典型体现。高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划的解题规律等更成了算法的经典问题。还有数列的求和、质数的判定、最大公约数和最小公倍数的求法等,都涉及到算法。同时,在其他学科、甚至生活中也离不开算法。
算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序。这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤。不过这种经验并没有得到应有的升华。只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识。算法是对解题方案的准确而完整的构造性的描述。算法并不是容易理解和掌握的内容。教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达,由于学生初次接触,更加难以掌握。
教师可以首先通过实际生活中的生动有趣的例子帮助学生了解算法的含义,明白算法是规则系统一种循序渐进解决问题的过程。在此基础上通过引导学生在具体情境之下回顾特殊的二元一次方程组的求解,自然展示求解的“步骤”,从而帮助学生进一步明白算法是在有限步骤内解决问题而建立的可重复应用的计算过程,并能够编成计算机可以执行的程序让计算机执行并解决问题的。
在建立了算法的概念以后,教师可以通过进一步介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想。
接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法,质数的判断是学生小学就接触过的,用二分法求近似解在必修1中学生也已经学习过,因此这两个问题学生都是熟悉的。这里重点是通过设计理解算法概念,而不在于算法所涉及问题本身。教学时可以先让学生回顾问题的解题过程,再让他们整理出步骤,并有条理的用自然语言表达出来。通过这样的教学使学生体会算法设计的基本思路。
在例题之后,借助课本中的思考,得出算法的特征,并通过练习促进对算法概念的理解与掌握。通过案例的运用,引导学生体会算法的核心是一般意义上的解决问题策略的具体化。
本节课教学,要围绕算法概念,立足于用自然语言描述解决问题过程中的明确顺序。根据这节课的教学内容、教学目标,结合以上分析,本节课建议采用以教师引导分析讲授为主,着重一个“导”字,并通过适量的练习加以巩固。四.教学支持条件分析
为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法。通过计算机演示帮助学生体会算法研究的价值。五.教学过程设计
(一)结合章头图对学生进行数学史教育,同时让学生认识算法研究的价值。1.看章头图,介绍图中在春秋时期盛行的算筹;明朝时期已广泛使用直至今日仍在发挥作用的算盘;当今时代已进入各个领域的计算机。
2.提出问题:是什么把这三这联系在一起?引出算法。
3.从古到今算法始终扮演着重要的时代角色。我国古代数学在世界数学史中曾一度占领先地位。通过介绍我国古代部分数学成就,加强对学生进行爱国主义教育,同时体会算法的研究价值。4.从为了了解计算机的工作原理,引出课题——算法的概念。
(二)问题情境,引出算法概念:
问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.设计意图:通过这个学生容易感兴趣的问题,让学生有一个对算法的初步认识。
师生活动:教师可以在学生看后引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法。
第一步,农夫带羊过河.第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河.当然,也有可能学生提出第二套过河方案.第一步,农夫带羊过河.第二步, 农夫独自回来.第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础是整理出一个解决问题的步骤即可.(三)解决问题,建立算法概念 “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题:
问题1:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?
设计意图:通过学生熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法。为下面学习复杂问题中用自然语言描述算法打好基础。
师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案。
1.小学里解决方法:兔的只数,(94235)212
351223可以得到鸡的只数。在此基础上归纳出一般结论。
2.中学解决方法:设立未知数,建立方程,解方程。解:设有x只鸡,y只兔,则xy35(1)
2x4y94(2)(1)2(2)得:2y24(3),解(3)得y12
将y12代人(1)求得x23。
答:笼子里有鸡23只,兔12只。
3.从上述解决问题的过程看,解决以上问题可以分若干步完成: 第一步,设有x只鸡,y只兔,xy35(1)第二步,列方程:
2x4y94(2)第三步,解方程求得:x23,y12
第四步,答:笼子里有鸡23只,兔12只。
教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法。同时指出:第一步,设.第二步,列.第三步,解.第四步,答.这四个步骤构成了一般的列方程解应用题的算法。
问题2:你能写出求解二元一次方程组: xy352x4y94(1)(2)的步骤吗?
设计意图:在上述“鸡兔同笼”问题中涉及解具体二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤.自然过渡得到解一般的二元一次方程组的步骤,为建立算法概念打下基础。
师生活动:教师先提出问题,让学生对求解过程一步步表达出来。
解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,教师引导学生用加减消元法写出它的求解过程,然后让学生尝试用代入消元法表达出解决问题的步骤。
解:第一步:(1)2(2)得:2y24(3)第二步:解(3)得y12 第三步:将y12代人(1)求得x23。
无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲.教师只要和学生共同整理出一个解方程的步骤即可.教师在学生回答的基础上指出:
1.以上求解的步骤就是解二元一次方程组的算法.2.本题的算法也适合一般的二元一次方程组的解法.3.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.
a1xb1yc1问题2:写出求方程组a2xb2yc2(1)(2)a1b2a2b10的解的步骤
设计意图:在复习解具体二元一次方程组基本步骤的基础上.进一步分析解一般的二元一次方程组的步骤,并指出上述步骤构成了解二元一次方程组的一个算法,从而加深学生对算法的了解。通过教师事先编好的程序的演示,让学生感受算法研究的价值。
师生活动:教师在提出问题后,可以让学生来说出其解题步骤,教师用投影给出求解过程步骤。解:第一步:(2)×a1-(1)×a2,得:a1b2a2b1ya1c2a2c1(3)
第二步:解(3)得 ya1c2a2c1;
a1b2a2b1第三步:将ya1c2a2c1bcb1c2代入(1),得x21.a1b2a2b1a1b2a2b1在完成求解一般的二元一次方程组步骤的基础上教师指出:
1.本题的步骤就是求一般的二元一次方程组的解法的算法.2.在写出此步骤基础上,我们将上述步骤进一步用计算机能够识别的语言表达出来并输入计算机就可以解决用计算机求二元一次方程组的解了。这里老师事先按照上述步骤编写了程序,同学们可以跟老师一起来看看。
3.让学生输入数据,计算机直接给出方程组的解。
(四)分析归纳,得到算法概念
问题3:到底什么是算法?如何表达算法的含义?
设计意图:在提出算法这一概念后,学生自然想进一步了解到底什么是算法。教师在此处设问,目的不是要求学生直接作答,而是为了自然过渡到对算法的更进一步研究上。
用上面几个学生熟悉的问题来帮助学生建立算法的概念,降低难度,有利于学生正确理解算法的概念。
培养学生体会发现、抽象、总结的能力。
师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念。
教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。
教师可以通过进一步从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想。
例1.写出交换两个大小相同的杯子中的液体(A水、B酒)的一个算法. 例2.写出求一元二次方程ax2bxc0(a0)根的算法.(五)算法的应用:
问题1设计一个算法,判断7是否为质数。
设计意图:在给出算法的概念后,教师在此处安排这样一个问题,目的强化化学生对算法思想的领会,使学生体会到算法并不抽象,实际上是我们从前解题步骤的总结。然后通过一连串问题的追问,由浅入深,由特殊到一般,培养学生体会发现、抽象、总结的能力。通过计算机演示,让学生感受算法研究的价值。
师生活动:教师引导学生回忆质数的概念,提出如下一系列问题帮助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计。
1.什么是质数?
2.如何判断一个数是不是质数?
3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、操作过程?
在学生回答这个问题的基础上,教师接着提出问题:
4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法.5.能否设计一个算法,判断35是不是质数?
6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同?
6.任意给定一个大于1的整数n,能否设计一个算法对n是否为质数做出判断?
这时候学生知道要判断一个大于2的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数。
有了前面的基础,这里学生多数可能回答用2~(n-1)去除n,于是将判断的过程表达出来就形成了解决问题的这样一个算法: 第一步,给定大于2的整数n.第二步,用2去除n,得到余数t.若t=0,则2能够整除n, n 不是质数,算法结束;否则,进入第三步.第三步,用3去除n,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,进入第四步.„„
第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,算法结束;否则, n是质数.教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里
从2~(n-1)都在重复同一件事,象这种情况在设计算法时经常遇到,然后教会学生用递归语言进行表达.在完成上述算法表达的基础上教师指出:
1.用自然语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述,每一步做一件事情.这样描述的算法体现按部就班程序性的特点.对于在解决问题过程中反复进行的步骤,同学们要学习用递归语言进行描述.用递归语言进行描述时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.2.教师用事先按照上述步骤编写的程序演示,判断学生说出的数是否为质数。
问题2.用二分法设计一个求方程x20的近似根的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点。因此在这里安排这样一个例题既可以巩固前面已形成的用自然语言描述的算法,也可以提高用自然语言描述的算法的表达水平。
2师生活动:教师引导学生回顾二分法求方程近似根的方法,回忆二分法的基本思想。教师提出精确度要求,然后引导学生说出解决该问题的每一个步骤,形成本例算法。
教师可以通过以下一连串问题的设问,引导学生完成二分法求方程近似解的算法设计。
1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做?
2.二分法分的是什么? 3.如何确定新区间的端点?
4.如何表达出反复二分区间的过程?(引导学生学习用递归语言表达)解:设所求近似根与精确解的差的绝对值不超过0.005,算法: 第一步,令fxx22.给定精确度d.第二步, 给定区间a,b,满足f(a)f(b)0.第三步,取中间点mab.2第四步,若f(a)f(m)0则含零点的区间为a,m;否则含零点的区间为m,b.将新得到的含零点的仍然记为a,b.第五步, 判断a,b的长度是否小于d或者f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
在得到算法后教师可以带领学生看书,阅读课本第4页上有关内容,并
说明按以上步骤,我们将依次得到课本第4页的表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都满足假设条件的原方程是近似根.(五)小结:
将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的. 问题1:你能举出更多算法的例子吗?
设计意图:为了学生掌握算法的思想,所以这里让学生充分结合具体问题,以举例的形式来表达算法,以此评价他们对算法特征的理解情况,并让他们联系已经学习过的内容学会用算法的思想方法去解决问题.
师生活动:教师应尽可能让更多的学生举出不同的实例,并引导他们认识到算法的几个特征. 问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?
设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、确定、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力。
师生活动:如果学生不能回答提出的问题,可让他们在本节课已有问题的基础上进行思考.并进行归纳总结.算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.与一般解决问题的步骤相比,算法具有程序性、有限性、构造性、精确性等特点。六.目标检测设计 1.课堂检测
课本第6页练习1 2.课后检测
第1题.一位商人有9枚银元,其中有1枚略轻的是假银元。你能设计用天平(不用砝码)将假银元找出来的算法吗?
设计意图:检查学生是否真正了解算法的思想。通过本题评价学生能否结合实际问题,用本节课所学的算法的思想用自然语言表达算法.
第一步,将9枚金币平均分成三组,将其中两组放在天平的两边.如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组.第二步,将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边.第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.设计意图:检查学生是否会用自然语言正确表达算法。通过本题评价学生是否真正掌握判断给定一个正整数是否是质数的方法,同时也训练学生的应变能力。解:算法步骤:
第一步,依次以2~(n-1)为除数去除n,检查余数是否为0.若是,则是n的因数;若不是,则不是n的因数.第二步,在n的因数中加入1和n.第三步,输出n的所有因数.第3题.写出解方程x2x30的两个不同的算法.设计意图:检查学生能否用自然语言正确表达算法。本题写两个不同的解决方案,让学生体会算法的不唯一性,而且通过比较知道今后在解决问题过程中合理地进行选择.体现研究算法的价值.分析:本题是求一元二次方程的解的问题,方法很多,下面分别用配方法、判别式法写出这个问题的两个算法.解:算法1:
第一步,移项,得:x2x3 ① 第二步,①式两边同加1并配方,得:x-14 ② 第三步,②式两边开方得: x12 ③ 第四步,解③得: x3或x1.算法2:
第一步,计算方程的判别式并判断其符号,243160.2222bb24ac第二步,将a1,b2,c3代入求根公式x.得:x3或x1.2a
第四篇:算法的概念的教学设计
算法的概念的教学设计
一.内容和内容解析
算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤内解决问题而建立的可重复应用的计算过程.
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础.算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础.
算法是连接人和计算机的纽带,是计算机科学的基础,利用计算机解决问题需要算法.首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节.二.目标和目标解析
本节课通过对具体问题的解决过程与步骤的分析,让学生体会算法的思想,了解算法的含义.具体目标为:
1. 要求学生了解算法的含义,体会算法的思想.2. 在分析实例的基础上了解算法的基本特征.3. 能够用自然语言描述一些具体问题的算法.本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.三.教学问题诊断
本节算法对学生来说并不陌生.生活中很多问题是按照指定的要求一步步解决的.初中学习的列方程解应用题的步骤、求二元一次方程组的解的过程等,都是算法的典型体现.质数的判定,高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划问题的解决过程等更成了算法的经典问题.算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤.不过这种经验并没有得到应有的升华.只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识.算法是对解题方案的准确而完整的构造性的描述.算法并不是容易理解和掌握的内容.教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达.当然,由于学生初次接触,要想学生在这节课就完全掌握用递归语句描述算法是很困难的,在后面的程序框图和基本的算法语句中这种表达还将得到进一步强化.教师可以首先通过实际生活中的例子和复习回顾二元一次方程组的求解过程,自然展示求解的“步骤”,从而帮助学生建立算法的概念.在建立了算法的概念以后,教师可以通过从算法的角度介绍学生熟悉的例子,帮助学生进一步领会算法的思想.接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法.这里要注意:重点是通过设计帮助学生领会算法概念,而不在于算法所涉及问题的本身.教学时可以先让学生回顾问题的解题过程,再让他们整理出步骤,并有条理的用自然语言表达出来.通过这样的教学使学生体会算法设计的基本思路.本节课教学,要围绕算法概念,立足于用自然语言描述解决问题过程中的明确顺序.根据这节课的教学内容、教学目标,结合以上分析,本节课建议采用以教师引导分析帮助学生建立算法概念,着重一个“导”字,并通过适量的练习加以巩固.四.教学支持条件分析
为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法研究的价值.五.教学过程设计
(一)课题引入设计
1.看章头图,介绍图中算筹、算盘、计算机.2.提出问题:是什么把这三者联系在一起?引出算法.3.介绍后景朱世杰的《四元玉鉴》,引出介绍我国古代部分数学成就,对学生渗透爱国主义教育.4.从为了了解计算机的工作原理,让学生体会算法的研究价值.引出课题——算法的概念.(二)问题情境,引出算法概念
问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.设计意图:通过这个学生感兴趣的问题,让学生有一个对算法的初步认识.师生活动:教师可以引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法.第一步,农夫带羊过河.第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河.当然,也有可能学生提出第二套过河方案.第一步,农夫带羊过河.第二步, 农夫独自回来.第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础上整理出一个解决问题的步骤即可.(三)解决问题,建立算法概念
“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题,从学生熟悉的鸡兔同笼问题解决引出数学中的算法问题:
问题1:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?
设计意图:通过对学生所熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法.为建立算法的概念,以及下面学习复杂问题中用自然语言描述算法打好基础.师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案.从解决问题的过程看,解决以上问题可以分若干步完成: 第一步,设有x只鸡,y只兔,第二步,列方程:xy352x4y94x23
y12(1)(2)
第三步,解方程求得:第四步,答:笼子里有鸡23只,兔12只.教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法.同时指出:“第一步,设.第二步,列. 第三步,解.第四步,答.”这四个步骤构成了一般的列方程解应用题的算法.问题2:你能写出求解二元一次方程组: xy352x4y94(1)(2)的步骤吗?
设计意图:在上述“鸡兔同笼”问题中涉及解二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤,为建立算法概念做好准备.师生活动:教师先提出问题,让学生对求解过程一步步表达出来.解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲.教师只要和学生共同整理出一个解方程的步骤即可.教师在学生回答的基础上指出:
1.以上求解的步骤就是解二元一次方程组的算法.2.本题的算法也适合一般的二元一次方程组的解法.问题2:写出求方程组a1xb1yc1a2xb2yc23
(1)(2)a1b2a2b10的解的步骤.设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,从而提高学生对算法的普遍适用性的认识,使学生认识到算法往往适合解决的是一类问题,为建立算法的概念做好铺垫.通过教师事先编好的程序的演示,让学生感受算法研究的价值.师生活动:教师在提出问题后,可以让学生来说出其解题步骤.第一步,(1)b2(2)b1,得(a1b2a2b1)xb2c1b1c2第二步,解(3),得x(3).b2c1b1c2.a1b2a2b1(4).第三步,(2)a1(1)a2得(a1b2a2b1)ya1c2a2c1第四步,解(4),得ya1c2a2c1.a1b2a2b1b2c1b1c2xa1b2a2b1第五步,得到方程组的解为:.ya1c2a2c1a1b2a2b1在完成求解一般的二元一次方程组步骤的基础上教师指出:
1.本题的步骤就是求一般的二元一次方程组的解的算法.2.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.(四)分析归纳,得到算法概念
问题3:到底什么是算法?如何表达算法的含义?
设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念.教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
教师可以通过从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想.例1.写出交换两个大小相同的杯子中的液体(A水、B酒)的一个算法.
例2.写出求一元二次方程axbxc0(a0)根的一个算法.(五)算法的应用
问题1设计一个算法,判断7是否为质数.设计意图:帮助学生学习算法的自然语言描述.然后通过一连串问题的追问,由浅入深,由特殊到一般.学习用递归语言表达有循环的算法问题.通过计算机演示,让学生感受算法研究的价值.师生活动:教师引导学生回忆质数的概念,提出如下一系列问题帮助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计.1.什么是质数?
2.如何判断一个数是不是质数?
3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、加工过程?
在学生回答这个问题的基础上,教师接着提出问题:
4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法.5.能否设计一个算法,判断35是不是质数?
6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同?
7.任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断? 这时候学生知道要判断一个大于2的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.有了前面的基础,这里学生多数可能回答用2~(n-1)去除n,于是将判断的过程表达出来就形成了解决问题的这样一个算法: 第一步,给定大于2的整数n.第二步,用2去除n,得到余数t.若t=0,则2能够整除n, n 不是质数,算法结束;否则,进入第三步.第三步,用3去除n,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,进入第四步.„„
第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,算法结束;否则, n是质数.教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里
从2~(n-1)都在重复同一件事,像这种情况在设计算法时经常遇到,然后教会学生用递归语言进行表达.在完成上述算法表达的基础上教师指出:
1.用自然语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述,每一步做一件事情.这样描述的算法体现按部就班程序性的特点.对于在解决问题过程中反复进行的步骤,同学们要学习用递归语言进行描述.用递归语言进行描述时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.2.教师用事先按照上述步骤编写的程序演示,判断学生说出的整数是否为质数.问题2.写出用 “二分法”求方程x20(x0)的近似解的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.安排这样一个例题既可以让学生进一步领会算法的思想,同时也可以达到巩固用自然语言描述的算
法,提高用自然语言描述算法的表达水平.师生活动:教师先引导学生回顾二分法求方程近似解的方法,然后引导学生说出解决该问题的每一个步骤,形成本例算法.教师可以通过以下一连串问题的设问,引导学生完成二分法求方程近似解的算法设计.1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做?
2.二分法分的是什么? 3.如何确定新区间的端点?
4.如何表达出反复二分区间的过程?(引导学生学习用递归语言表达)
第一步,令fxx2.给定精确度d.2第二步, 给定区间a,b,满足f(a)f(b)0.第三步,取中间点mab.2第四步,若f(a)f(m)0则含零点的区间为a,m;否则含零点的区间为m,b.将新得到的含零点的仍然记为a,b.第五步, 判断a,b的长度是否小于d或者f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
在得到算法后,教师可以带领学生看书,阅读课本第4页上有关内容.并说明按以上步骤,我们将依次得到课本第4页的表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都是满足假设条件的原方程是近似解.(六)归纳小结
将本节的主要内容以问题的形式呈现,让学生通过思考和回答问题,达到回顾和总结的目的.
问题1:你能举出更多算法的例子吗?
设计意图:以举例的形式使学生体会算法的思想,以此评价他们对算法的概念以及特征的领会情况.师生活动:学生举例,师生共同评价.问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?
设计意图:通过让学生思考回答来评价他们对算法的特征中顺序、确定、有限的步骤的领会情况.同时提高学生的总结、归纳、表达能力.师生活动:在学生回答的基础上,引导他们归纳:与一般解决问题的步骤相比,算法具有程序性、有限性、构造性、精确性等特点.六.目标检测设计
1.课堂检测
课本第6页练习1 2.课后检测
第1题.一位商人有9枚银元,其中有1枚略轻的是假银元.你能设计用天平(不用砝码)将假银元找出来的算法吗?
设计意图:通过本题评价学生能否结合实际问题,运用本节课所学的算法的思想,会用自然语言表达算法.
解:第一步,将9枚金币平均分成三组,将其中两组放在天平的两边.如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组.第二步,将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边.第2题.任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.设计意图:检查学生是否会用自然语言正确表达算法,训练学生的应变能力.第一步,给定一个大于1的整数n.第二步,令i1.第三步,用i去除n,得到余数为t,若t0,则i是n的一个因数输出i;否则,不输出i.第四步,给i增加1仍然用i表示.第五步,判断是否成立,若是,则算法结束;否则,返回第三步.第3题.写出解方程x2x30的两个不同的算法.设计意图:巩固用自然语言正确表达算法,了解算法的不唯一性.
分析:本题是求一元二次方程的解的问题,方法很多,下面分别用配方法、判别式法写出这个问题的两个算法.算法1: 第一步,移项,得:x2x3 ①
第二步,①式两边同加1并配方,得:x-14 ② 第三步,②式两边开方得: x12 ③ 第四步,解③得: x3或x1.算法2: 第一步,计算方程的判别式并判断其符号,243160.2222bb24ac第二步,将a1,b2,c3代入求根公式x.得:
2ax3或x1.7
第五篇:算法案例教学设计
算法案例——辗转相除法与更相减损术
唐劲松
一、教材解读
本节内容是在学习了算法的基础知识上,探究古代典型的算法案例——辗转相除法和更相减损术,巩固算法三种描述性语言(算法步骤,程序框图和程序语言),使学生对算法中的迭代思想有一个初步的认识。一方面以辗转相除法及更相减损术为载体,使学生通过模仿,操作,探索经历算法设计的全过程,帮助学生进一步体会算法的基本思想,感受算法在解决实际问题中的重要作用,另一方面让学生体会中国古代数学家对现代数学发展的贡献。
二、教学重难点
重点:辗转相除法与更相减损术的方法和步骤;
难点:辗转相除法的原理及其程序。
三、教学过程
Ⅰ引入新课
简单回顾短除法求两个数的最大公约数,并提出问题:当两个数较大时(如:8251与6105),如何求它们的最大公约数?引出课题——辗转相除法。
Ⅱ知识探究
1、以求8251与6105的最大公约数的过程为例,讲解如何利用辗转相除法求两个数的最大公约数。对于辗转相除法的原理,书本介绍的不是很详细,学生容易产生疑惑,需要教师讲解清楚。
2、通过这个实例,让学生能够模仿求任意两个数的最大公约数,体会这种迭代的思想,并能与前面学习的循环结构联系起来。
3、训练(学生演排),了解学生的掌握情况,及时指出问题。
4、简单介绍欧几里得其人,增强学生人文素养。
5、引导学生根据前面的过程画出辗转相除法的程序框图,并编写出程序。灵活运用直到型循环结构及当型循环结构,并能转化成语句。完成课本P45练习1:用辗转相除法求下列两个数的最大公约数:(1)225,135;(2)98,196;(3)72,168;(4)153,119.并用程序进行演示判断是否正确。
6、巩固提高:
(1)求三个数:324,243,135的最大公约数;(2)求228与1995的最小公倍数。
7、介绍另一种求最大公约数的方法——更相减损术,简单介绍相关数学史的知识,对学生进行数学文化熏陶,增强民族自豪感。
8、通过实例:求98与63的最大公约数 来理解更相减损术的原理和过程。
9、分别用辗转相除法和更相减损术求168与93的最大公约数,来体会和总结辗转相除法和更相减损术的区别。
Ⅲ课堂小结
学生回顾总结两种方法的步骤,教师加以补充和点评。