一、内容和内容解析
本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法.
算法是一种解决问题的方法,是数学及其应用的重要组成部分,也是计算机科学的重要基础.算法的思想有着广泛的应用性.
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
在算法概念的表述中,有范围限定词 “在数学中”,因此学习的内容均为数学中的问题.有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则” 指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性.“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别.“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的.
算法有多种表示方法,其中自然语言描述与人的表达方式最接近,是学习其它描述方法的基础.
中国古代数学是以算法为主要特征,并蕴涵着丰富的算法思想.现代信息技术的发展使算法唤发出新的生机和活力,并使之成为当代社会必备的基本知识.算法进入高中必修内容正是反应了时代的需要.
算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料.算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材.因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系.又由于算法的具体实现上可以和信息技术相结合.因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让他们知道如何利用现代技术解决问题.
二、目标和目标解析
本节课的教学目标是:
1.在解特殊的二次一次方程组到得出一般二元一次方程组的解法的过程中,让学生对算法的概念有一个初步认识,并了解算法是如何表示的.
2.在判定7,35和整数n (n>1)是否为质数的过程中,进一步理解算法的概念,学习算法的自然语言表示,认识算法的特征、作用和优势.
3.在得出用二分法求方程一个近似解的算法的过程中,初步运用算法概念,体会算法自然语言描述形成的过程,会初步用自然语言描述算法.
在实现上述目标的过程中,需要适时、恰当地借题发挥,使学生体会算法的思想,了解算法的基本逻辑结构,培养观察、表达能力和逻辑思维能力.
因此,本节课教学重点是,通过一些具体问题,引导学生变过去关注解决问题为关注解决问题过程的逻辑结构,通过解法与算法的比较,体会算法思想,形成算法概念,并会用自然语言描述一些具体问题的算法.
三、教学问题诊断
算法对学生来说并不遥远.比如列方程解应用题,证明函数的单调性,求曲线的方程,等,都是学生碰到过的算法的问题,但是,在此之前并没有明确提出“算法”的概念,学生原有的经历为算法学习提供了良好的条件.由于算法至今没有公认的定义,算法概念的建立需要与认识它的特征相联系,这拉大了算法概念与学生原有体验之间的距离,从而可能会造成学生概念理解上的偏差.因此,算法概念的形成需要搭建台阶,使学生运用已知建立新知,与此同时还要特别注意防止算法概念的泛化.
算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序.这决定了算法概念的形成与学生的观察能力,表达能力和逻辑思维能力有着直接联系.在以班级为单位的教学中,面临能力发展不平衡,产生部分学生算法学习有困难,因此,需要在教学中把握好适应面较广、符合学生认知基础的切入点.
通常,特殊问题的解的过程只是解法而不是算法,算法是解决一般(一类)问题(要与数学有关)的,即不进入到一般问题的层面就得不到算法,而一般问题往往远离学生原有的基础,需要通过搭建解决特殊问题这一台阶,帮助学生进入一般问题.在这样的情境中,学生的关注点需要由特殊转到一般,这对许多学生来讲是有困难的,需要教师设计问题或情境帮助学生加以克服,因此,这是本节课的教学难点之一.解决这一难点需要在教学中设计好问题,并给学生提供思维的时间,并在问题引导下,实现关注点的转移.
算法是一种解决问题的方法,特别擅长处理具有条件、循环结构的问题,有其特有的作用和价值,这是学生原来没有体会过的,若教学中对此忽视,学生算法学习时的关注会缺少思维量,只停留在低层次上.因此,需要教师结合问题创设学生活动情境,促成学生关注算法中存在的逻辑结构,并予以揭示.
算法的自然语言描述与高中学生具备的表达方式虽有不同但也有联系,相比算法的其它描述方法,自然语言描述最接近学生现有的表达方式.因此,对只有顺序结构的算法描述时,学生是容易写出这类问题算法的.教师在小结时,只需指出:写算法要按顺序,每步要明确(可执行),总体是有限步即可.对涉及条件、循环结构的算法时,由于需要表示算法中存在的结构,而学生原来没有接触过这种表达,因此,这也是本节课的一个教学难点.解决这一难点,需要在教学中给学生提供尝试的机会,在他们发生困惑,产生问题后给予指导,帮助他们学会用递归语言描述算法.
四、教学支持条件分析
为了有效实现教学目标,条件许可,可以借助计算机或者计算器来参与运算或表达算法.通过计算机演示帮助学生体会算法学习的作用和价值.
五、教学过程设计
(一)课题引入
问题1.看章头图,回答问题.
教师介绍:图中的后景取自宋朝数学家朱世杰的数学作品《四元玉鉴》,前景有算筹、算盘、计算机.
提问:为什么要把这些放在一起成为本章的起点?请把你的想法,用条目方式写在纸上.
设计意图:要充分挖掘章头图教学价值,它至少可以体现:1)算法概念的由来;2)我们将要学习的算法与计算机有关;3)展示中国古代数学的成就;4)激发学生学习算法兴趣.5)借问题自然引出课题
给学生1分钟时间
教师问,哪位同学写出的条目超过10条?超过5条,超过2.5条?
请写了最多的学生介绍自己观点后,教师根据设计意图,回答问题,引入课题
(二)问题情境,引出算法概念
问题2:你能写出求解二元一次方程组:
设计意图:从学生具备的认识水平出发,归纳解二元一次方程组的求解步骤.从而让学生经历算法分析的基本过程,并在此过程中引导学生关注更具一般性解法,形成解法向算法过渡的准备,为建立算法概念打下基础.
师生活动:让学生解方程组.
教师:请把解的过程用步骤表示出来.
教师:投影用加减消元法求解的步骤,问:参照本题解法,你能完成下面问题吗?请一试.
问题3:写出求方程组
设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,为建立算法的概念做好铺垫.
师生活动:让学生写出求解步骤后,
教师:投影显示解题步骤:.
第一步,
第二步,解
第三步,
第四步,解
第五步,得到方程组的解为:
教师:
1.引导学生分析上述解题过程的结构.
2.提出以上步骤就是求一般的二元一次方程组的解的算法.
3.说明:把它编成程序就可以用计算机来解二元一组方程组了.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.
(三)分析归纳,得到算法概念
问题4.到底什么是算法?如何表达算法的含义?
设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.
师生活动:教师在提出问题后,一定要给学生思考时间,让学生先用自己的语言表达对算法概念的理解,在学生思考、交流、回答的基础上,教师进行归纳,帮助学生认识算法的概念.
教师指出:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
教师:结合问题3做初步解读.
(四)解决问题,促进理解算法概念,学习算法自然语言描述
问题5 ,写出判断7是否为质数的步骤.
设计意图:由学生已有的认识水平出发,创设学生可以完成的体验情境,认学生认识求解结构中存在“重复”.为导出一般问题的算法创造条件,也为学习算法的自然语言表示提供时机..
师生活动:
教师提问:
1.什么是质数?(引导学生回忆质数概念)
2.如何判断一个数是不是质数?如何把判断过程的基本步骤有条理的写出来?
给学生写出判断过程的时间,请学生完成.
纠正学生所写基本步骤后,教师接着提出问题:
3.把7改成35,再写出判断过程的基本步骤,请按纠正时教师提出的要求做.
学生完成后;教师提问:
4.两个解法有何相同之处?有何不同之处?
教师在学生回答后小结:对7是在试完1到6后才知道是质数,对35在试到5时,也就是在试的过程中,就得出不是质数,故没试完;不管哪个数,判断过程都是按一定规则有序进行的,都存在着“重复”这样的结构.
问题6.任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断?
设计意图:在问题5学生活动的基础上,通过学生活动,得出该问题的算法,从而促进学生对算法概念的进一步理解,感受算法的作用和优势,学习算法的自然语言描述,同时,引入学生关注算法中存在的结构.
师生活动:给出2分钟,请学生参照问题5的解法写出算法.教师巡视了解学生情况.
教师:投影下面的判断过程:
解:
第一步,给定大于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是质数.
教师提问:这是不是解决问题6的算法?
给出时间让学生思考.
教师提问:为什么不是算法?
教师:这里的“… …”是不明确的,计算机是不会识别这样的语言的.从而突出算法“明确性”
求解步骤中,这样一个特点.从2~(n-1)都在重复同一件事,而我们现在学习的算法是最擅长处理这类问题的,然后指导学生用递归语言进行表达.
得出问题6算法(见教材例1算法)后,教师提问
此时,你是如何理解算法的?
教师小结:扣住下面问题.
1.用四步就可以解决问题6的算法,虽然没有使我们直接看到结果,但可以由计算机去解决了.(理解定义中:算法通常可以编成计算机程序,让计算机执行并解决问题)
即学习了算法,我们又增加了一种解决问题的方法(当然要借助计算机,说明算法的作用与优势)
2.算法可以用自然语言描述,描述算法的步骤一定是有限的,这是算法有限性特征;描述的算法具有“按部就班”的特点,这是算法“有序性”的特征;算法的第一步的表达要求“明确”,以便于编程让计算机执行,这是算法明确性的特征;
3.在解决问题过程中,对于反复进行的步骤,可以用递归语言进行描述. 此时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.这类问题的背后含有算法的基本逻辑结构.
问题7.写出用 “二分法”求方程
设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.通过此例可以让学生进一步了解算法的逻辑结构,领会算法的思想,体会算法的的特征.同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平.
师生活动:教师借助特殊问题,引导学生回顾二分法求方程近似解的方法,
得出下面结论:
1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,
2.二分法分的是什么?
3.如何确定新区间的端点?
在此基础上,请学生尝试写出用 “二分法”求方程
在学生思维活动后,教师提出,在现有条件下,可以得到方程根存在的区间会越来越小,但我们的操作则永远不能停止.
因此,需要引入能够控制,使算法具备有“有限”的量,这就是精确度.
教师与学生共同得出本题算法:
第一步,令
第二步, 给定区间
第三步,取中间点
第四步,若
第五步, 判断
在完成上述算法表达的基础上,教师指出:
1.如果没有精确度要求,该算法将无法终止.(通过精确度强调算法的“有限性”).
2.引导学生分析该算法的逻辑结构.(了解算法中存在的顺序、条件和循环结构)
3.给出精确度
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.
第二步,令
第三步,用
第四步,给
第五步,判断是否成立,若是,则算法结束;否则,返回第三步.
本文是“中学数学核心概念、思想方法结构体系及其教学设计研究”课题成果.
联系客服