第一篇:算法论文:高中数学算法初步的功能分析及教学设计
算法论文:高中数学算法初步的功能分析及教学设计
【中文摘要】随着信息社会和科学技术的发展,计算机在日常生活中起着越来越重要的作用。而算法是计算机工作的基础,了解算法知识及其思想成为现代社会每一个公民所应具备的基本素养。在许多发达国家,算法知识早已成为中学教材的重要内容。2003年4月教育部颁布《普通高中数学课程标准(试验)》,新课程开始陆续实施。作为新课程中首次出现的内容之一,算法的教学问题被人们所关注。湖北省于2010年才第一次进行必修3(含算法初步的内容)的教学。由于算法内容对刚实行新课改地区的中学数学老师来说是比较陌生的,心理上存在着畏惧情绪,在实际教学中缺少有效的教学指导,因此给他们的教学带来了全新的挑战。本文研究了国内外关于算法教学的研究及教学设计理论的发展,重点是国内的“双主”教学设计与“以活动为中心”的教学设计,对高中数学算法初步的内容进行了功能分析。结合教学实际,对算法初步的部分内容进行了教学设计。旨在为自己及同行的教学提供一个有益的探索与尝试。本文所给出算法设计方案只是初步的,有待于在今后的教学实践中进一步检验完善。
【英文摘要】Algorithm is an ancient concept,with the development of computational science,algorithm has become more and more important.The idea of Algorithm has already become a mathematical quality for modern citizens.In many developed countries, Algorithm has become an important part in senior
high school teaching.In April 2003, The Mathematics Curriculum Standard of High School began to be carried on in our country, and algorithm has appeared in the text-books of high school mathematics.But the problem of teac...【关键词】算法 功能分析 教学设计
【英文关键词】algorithm function analysis instructional design 【目录】高中数学算法初步的功能分析及教学设计4-5出8-9910-1111-14ABSTRACT5绪论8-11
摘要
1.1 研究问题的提1.2 研究意义9-101.2.2 研究的实践价值9-102 研究综述11-18
1.2.1 研究的理论意义
1.3 研究方法2.1 算法的研究综述
2.1.2 国内的算2.1.1 国外的算法研究11-13
2.2 教学设计的相关研究综述法研究13-1414-182.2.1 国外教学设计理论的发展14-162.2.2 国内教学设计理论的发展16-1818-20算法初步的功能分析
3.2 有助于3.1 有助于提高学生的信息素养18培养学生的逻辑思维与创造性思维18-19秀的算法传统19-20
3.3 有助于发扬优
4.1 算法初步的教学设计20-40算法初步的教学设计策略20-21析为起点2020
4.1.1 以内容分析和学情分
4.1.2 以现代信息技术为辅助手段
4.1.4 以数学文化为4.1.3 以思维训练为目的20
驱动力20-2121-40
4.2 算法初步的教学设计案例
21-24
4.2.2 程序4.2.3 基本算法4.2.1 算法概念的教学设计框图与算法基本逻辑结构的教学设计语句的教学设计29-3232-35
24-29
4.2.4 循环语句的教学设计教学建4.2.5 秦九韶算法的教学设计35-40
5.1 教学建议议及需要进一步研究的问题40-4240-4142-455.2 需要进一步研究的问题41-42参考文献
附录 附录 A:攻读硕士期间发表的论文45-46
致谢50 B:听课笔记节选46-50
第二篇:算法教学设计
3.4算法及其表示 智能吸尘器算法简单分析
【教材分析】 本节教材的地位、作用等分析。
本节教材位于高中信息技术必修模块第三章中:“算法及其实现”部分内容,本节课的学习目的是使学生体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;体验信息技术中算法的魅力,为学生选修算法模块奠定基础。
【学情分析】
算法是我们信息技术基础模块的最难的一块内容,课时又少,只有两课时,如果初中信息技术正常开展,那么这个内容也容易开展。
【教学目标】
1.知识与技能
理解算法的含义,体会算法在程序设计中的地位; 培养用计算机编程解决现实问题的能力。2.过程与方法
能通过观察吸尘器的工作来分析其算法,培养学生用程序设计的思想来思考产品。3.情感态度与价值观
引导学生了解程序设计的更多知识,体验信息技术的强大魅力; 激发学生对计算机编程解决现实问题的学习欲望,提高学习兴趣。渗透人文教育,懂得感恩。
【重点难点】
教学重点:算法的特征;算法的表示 教学难点:对算法的理解,流程图
【设计思想】
新课标强调要“培养解决问题的能力,倡导运用信息技术进行创新实践”,以前教学中我一直从面到点,先讲算法的定义和特点,再举例,效果不是很好,学生印象不深,往往到学期结束的时候,对算法印象全无。
因此,这次在设计本节内容的时候,在选择实例的时候,我从两点考虑:一是生活化,选择的例子尽可能贴近生活,既要达到吸引学生的目的,又能体现技术的真实内涵(现在的学生,生活自理能力太差了);二是通过把抽象的问题分析成为具体步骤或方法,从而形成算法,让学生理解计算机解决问题的基本过程。
我在选择实例的时候,尽量让这个例子能贯穿整堂课,把一个问题分析透,印象会深刻。
【教学流程】
导入
师:喜欢干家务吗? 生:不喜欢
师:可是有一个人就是无怨无悔的做着家务(渗透人文教育,懂得感恩)生:谁?
师:“马大嫂”,你们认识“马大嫂”吗?每个家庭都有。生:领悟
师: “马大嫂”在我们同学们的年纪时,也是不喜欢干家务的,是什么让他们无怨无悔的干着家务?作为他们的孩子,我们有没有想过替他们分担一点?或者当我们长到“马大嫂”的年龄,我们能不能让家庭生活轻松一些?
生:讨论
师:家庭的智能化脚步离我们越来越近,我们的生活里随处可见,比如有定时功能的家电,洗衣机、洗碗机,今天我给大家推荐一款“买汰扫”的扫:智能吸尘器。(引导学生用计算机编程来解决现实问题)
首先声明,我不是搞推销的,而是带领大家去设计生产产品的。今天我们一起来分析、设计一款智能吸尘器。
首先,我们分析一下原始的手工操作吸尘器的工作需要几步? 新课(先把复杂的问题简单化,得出大的方向,然后逐步细化)生:三步,打开电源、开始工作、关闭电源
师:看来你们都是宋丹丹的徒弟,其实这也是我们用计算机解决实际问题的思维:先设计算法、再编制程序来实现算法。
师:什么是算法呢?算法是解决问题的方法和步骤,同学们用的是自然语言描述的算法,我是用流程图来描述算法。
算法描述的方法和步骤应该是有限的,有开必有关;有Begin必有End;
同学们是不是有被忽悠的感觉?有,就说明了我们的同学想的更远了,是啊,我这个算什么算法,跟本没解决什么问题,对了,算法还有一个定义,解题方法的精确描述,我这个算法的步骤有了,但不够精确描述,所以我们要自顶向下,逐步求精。师:你们说哪个步骤需要细化? 生:第二步
师:那你们觉得吸尘器要体现智能,应该从哪些方面考虑? 生:讨论
归结你们的观点,主要有三个:设定清洁路线模块,躲避障碍物模块,自动充电程序 设定清洁路线模块
师:你们拖过地吗?如果让你来拖地,你会选择怎样的路线既能减少重复路线,又能全部覆盖? 好,我们模拟一下,(用flash 规定几个相同的区域,然后计时擦除)把橡皮擦当成我们的吸尘器,擦除前景颜色并计时,……通过大家的实践,我们可以看出几种方案比较科学,通过这个试验,我们知道解决问题的方法有很多,生活中也一样,关键是要选择合适的一种,达到既快又好.这是我们在最优环境下的情况,没有考虑实际情况。我们看看具体的设计
前面同学们提到躲避障碍物是设计的关键。躲避障碍物模块
师:躲避障碍物模块是体现吸尘器智能的关键一点,我们先分析碰到墙壁怎么处理,只要碰到墙壁能处理,其他的是不是也是一个道理?
现在我请同学们描述一下碰到墙壁这个算法。
真了不起,你们用自然语言描述了这个算法,我习惯用流程图来描述。请看我的算法
这个算法同样比较粗糙,我们一起把它修正一下,首先要确定哪些地方需要细化,对了,是怎样判断“有没有碰到墙壁?”,这是核心,你们认为怎样判断好?请大家在纸上设计设计
还有没有其它需要修正的?对了,怎样“转变方向”也要细化,你们认为怎样改变方向好?
就这个流程图本身,还有什么地方需要修正的吗?Y和N线路里有相同的语句,我们可以把
它提出来,放在合并后的线路中.好,我们把经过大家修改后的算法称为智能清扫模块
自动充电程序
我们还少了一个关键模块,地没扫完,电没了怎么办?
现在请同学们参考智能清扫模块的流程图,画一画碰到电不足了那一刻怎么处理的算法。
学生上台画流程图,根据学生的流程图修正,得到循环结构。回顾小结
现在我们回顾一下我们设计智能吸尘器的过程:首先我们把复杂的问题简单化,设计了一个三步走的算法,然后,选择了一个最优路线,再设计了一个具有智能的障碍物躲避模块和自动充电模块,在第一个流程图里我们提出了算法要有开始和结束,即算法的有限性;最优路线里我们得出了最优算法;障碍物躲避模块我们提出了可行性和没有二义性。
针对以上算法,从开始到结束都离不开这三种情况,就像我们的生活,有可能一路直行、也有可能碰到分叉口、还有就是回到原路,还有没有其他的可能?这就如同我们的算法,所以这三种我们就称为基本结构,由这些基本结构组合成大的程序。
拓展
有了算法,程序实现就容易了,经过我们一起设计的第一代机器人初具模型,请看我们的作品(展示物体碰撞的动画),再看看我写的代码,一些简单的语句你们也看得懂,比如我们的核心模块„„
我们用一节课的时间就已经设计出这样的产品,如果学了一本书,读了四年的大学,你们的产品不知要好到哪里,到时候别忘了给全班同学发一个哦。
课外作业
研究了智能吸尘器,你们有什么启发?那么我们就一起设计一下自己未来的家庭生活吧?
只有想不到的,没有做不到的。想法高于一切,这个想法就是我们今天讲的算法,它不单单存在于我们的计算机行业,生活中处处可见,希望大家做个有心人,好好设计自己未来的生活,设计不好,继续马大嫂的生活。
第三篇:算法教学设计
《基本算法语句》
教学设计
太原市第五十三中学
符权有
基本算法语句
课标要求与教材分析
当今世界,越来越多的事情交付计算机完成,而计算机完成任何一项任务都需要算法,因此算法是计算机科学的基础,但是用自然语言或程序框图描述的算法计算机是无法“明白”的,因此我们还需要将算法用计算机能够理解的语言表达出来,这就是通常驻机构所说的程序和程序设计,教科书中介结了输入语句、输出语句、赋值语句、条件语句、循环语句,尽管不同的程序设计语言有不同的语句形式和语法规则,但基本结构是相同的。因些书中的算法语言稍加改动就可以在某些程序环境下执行。
此外,与其它教学内容相比较,算法学习的一个最大的特点就是操作实践性强,因些对学生动手能力及思维的拓展有一定的帮助。需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
程序是由若干算法语句组成的有序集合,是由表示算法基本逻辑结构的算法语句组成的。任何高级程序设计语言都包含我们这一节所学的输入语句、输出语句、赋值语句、条件语句、循环语句,这五种算法与三种基本结构基本上是相对应的。因此教学中应注意以下几点:1.通过对具体问题的理解、分析,把具体问题的程序框图转换成程序语言,在这个过程中掌握基本算法语句中的输入、输出、赋值、条件、循环语句,从而进一步理解算法语句。2.在学习的过程中通过阅读中国古代数学中的算法案例,体会古代中国数学对世界数学发展的作用,提升民族自豪感。
学情分析
算法是数学与计算机的关联,在数学中有一的地位,学生前一阶段已经学习了算法的自然语言和程序框图设计,在此基础上,进一步把算法的自然语言转换成计算机能够识别的程序语言,使学生有一定的教学基础。
教学目标
1.经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想。
2.会利用输入语句、输出语句、赋值语句、条件语句、循环语句解决具体的问题,编写算法语言。
教学中需要注意的事项
1.重视对学生数学学习过程的评价
关注学生在数学语言的学习过程中,是否对用集合语言描述数学和现实生活中的问题充满兴趣;在学习过程中,能否体会集合语言准确、简洁的特征;是否能积极、主动地发展自己运用数学语言进行交流的能力。
2.正确评价学生的数学基础知识和基本技能
关注学生在本节及今后学习中,让学生集中学习算法的初步知识,主要包括算法的基本结构、基本语句、基本思想等。算法思想将贯穿高中数学课程的相关部分,在其他相关部分还将进一步学习算法。
输入、输出、赋值语句
教学目标
知识与技能目标:
1.正确理解输入语句、输出语句、赋值语句的结构及特点。2.会利用输入语句、输出语句、赋值语句编写简单的程序。
过程与方法目标:
通过对具体问题的探究,尝试用各种不同的方法解决问题,让学生充分感知、体验计算机程序在实际应用中的便利,明白数学与计算机学科的联系,为今后更深入地学习算法打下坚实的基础。情感态度和价值观:
通过本节的学习使学生认识到数学与计算机学科之间的关联,进一步体会到计算机的好处,提高学生对数学学科的兴趣。
教学重点与难点
重点:对输入语句、输出语句、赋值语句三种语句的理解。
难点:对输入语句、输出语句、赋值语句三种语句的熟练应用;能够准确理解赋值语句中的“=”的作用及意义。
教学方法与手段
学生自学为主,教师对学生易错的地方进行讲解,利用计算机等手段增强学生对算法语句中输入、输出、赋值语句的理解和应用。
教学流程
一、新课导入
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语言,使计算机能够识别并运行。为了实现算法中的三种基本的逻辑结构:顺序结构件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:
输入语句、输出语句、赋值语句、条件语句、循环语句
那么今天我们首先来学习前三种:输入语句、输出语句、赋值语句。
二、展示本节学习目标
1.在对实际问题的探究中正确理解输入语句、输出语句、赋值语句的结构及特点。2.在理解三种语句结构的基础上会利用输入语句、输出语句、赋值语句编写简单的程序。
三、探究新知
输入语句、输出语句、赋值语句属于算法结构中的顺序语句,是计算机自上而下执行的语句。它是程序中必不可少的环节。
输入、输出语句分别用来实现算法的输入信息,输出结果的功能,下面我们首先来看这两种语句的特点。通过阅读课本P21-P22页的内容,回答下列问题: 1.在课本中的例子中你们觉得哪些是输入语句、输出语句?
2.请你通过具体的例子总结输入、输出语句的特点。3.尝试着用输入、输出语句写几个具体的算法语言。
[学生]:先看书阅读,然后互相交流、议论、猜想得出结论,并进行尝试性的编写。在此过程中,教师应适当作引导,把学生的重点引到“INPUT”和“PRINT”这两个词语上来。[教师]:1.输入语句:
INPUT “提示内容”;变量
对于多个变量来说
INPUT 变量1,变量2···
和你自己总结出来的语句结构一样吗?如果一样请用它写几个例子;如果不一样请先纠正你的错误,再对它进行应用,编几个具体的例子。
[学生]:对这个格式进行应用,举例,由同桌之间互相进行检查、纠错。[教师]:2.输出语句:
PRINT “提示内容”;表达式
重复上述步骤。
[学生]:再对这个句型进行举例,同桌之间互相讨论、纠错。
[教师]:好了,在掌握了这两种语句的基础上,接下来我们研究赋值语句,请同学们阅读课本P23页最后两段到P24页第一段,总结一下什么是赋值语句,赋值语句的格式是什么? [学生]:先看书阅读,然后互相交流、议论、猜想得出结论,并进行尝试性的编写。[教师]:进行总结: 变量=表达式
这里需要注意是“=”与我们数学中的等号是不完全等同的,在数学中“=”前后的式子表示相等,但是在赋值语句中表示将表达式的值赋给了前面的变量,也就是说先有“=”号之后再有“=”之前,把后给了前。
讨论一个新的问题:对于赋值语句我们在应用的时候应该注意什么? [学生]:先进行分组讨论、分析、总结,然后进行回答:
1.A=B与B=A的意思不相同,前者表示把B的值给了A,后者表示把A的值给了B 2.赋值号左面只能是变量名称,而不能是表达式;也不能用赋值语句进行代数式的演算。
四、应用新知,例题精析
例1.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。
[分析]:要编写一个程序,首先要把这个问题写成算法的基本步骤,然后再转换成程序框图,再用基本算法语句表达出来;尤其在初学的时候更不能一蹴而就。[过程]:先由学生在练习本上探究、修正,然后由我公布答案。解:程序:
INPUT “数学=”;a INPUT “语文=”;b INPUT “英语=”;c y=(a+b+c)/3 PRINT “The average=”;y END [小结]:由学生先进行程序框图的设计,再进行编程。(这里要先让学生进行尝试性的动手,以调动学生学习的积极性,提高学习效率。)例2.阅读下面这个程序,它表示什么? A=10 A=A+10 PRINT A END [学生]:思考并进行解答。[小结]:这个例题要学生明白赋值语句的特点和易错的地方,如果学生将这个程序读懂了表示他基本已经理解了赋值语句。
例3.交换两个变量A和B的值,并输出交换前后的值。[分析]:考察赋值语句的应用,是例2的强化版本。[解答]:INPUT A INPUT B PRINT A,B X=A A=B B=X PRINT A,B END
五、课堂训练:
1.已知华氏温度与摄氏温度的转换公式是:
(华氏温度-32)*5/9=摄氏温度
编写一个程序,输入一个华氏温度,输出其相应的摄氏温度。解: INPUT “请输入华氏温度:”;x y=(x-32)*5/9 PRINT “华氏温度:”;x PRINT “摄氏温度:”;y END [分析]:考察学生对输入、输出、赋值语句的应用
2.编写一个程序,计算两个非0实数的加、减、乘、除运算的结果。解: INPUT “请输入a(a0)=”;a INPUT “请输入b(b0)=”;b X=a+b Y=a-b Z=a*b Q=a/b PRINT a,b PRINT X,Y,Z,Q END [分析]:考察学生对赋值语句的理解
六、小结
1.这节课我们主要学习了输入、输出、赋值语句的理解,掌握输入、输出、赋值语句的应用,明白数学与计算机科目的联系。
2.基中赋值语句是本节课的难点,有部分同学可能不易理解,需要课后的努力。
七、课后作业 学用通第48页: 1题,3题,4题
八、板书设计
输入、输出、赋值语句
一、新课导入
四、应用新知,例题精析
以具体的问题引入新课。对新学知识的典型例题进行讲解。
二、展示学习目标
五、课堂训练
三、探究新知 进行强化练习
以学生自学为主,六、小结 对新知进行探索
七、作业
九、目标落实检测
1.在赋值语句中,n=n+1是
A.没有意义 B.n与n+1相等 C.将的原n值加1再赋值给n,即n的值增加1 2.编写程序,计算甲、乙、丙三人的平均年龄。3.程序: a=1 b=2 c=a+b b=a+c-b PRINT a,b,c END 最后输出的值是谁?等于多少?
十、教学反思
本节课的教学中,主导思想让学生自学为主,教师引导为辅,充分调动学生的学习主动性,在自己探索中学习、成长,掌握本节课的主要知识。由于学生的基础较差,导致在实际的实施中讲的东西较多,练的较少,这应该在以后的教学活动中加以改进,争取在下一阶段的教学中,让学生养成先预习后学习的良好学习习惯,夯实学生的基础,为进一步学数学,学好数学做好充分的准备。
在具体的教学中,发现部分学生不会阅读课文,不能从文中找出相关的、主要的信息,看书以片面的,跳跃的方式来处理信息,由于是新学课,采用这几种方式,很容易将课本中的一些对知识进行总结的话露掉,而这些话又恰恰是非常重要的经验总结,必须要让学生进行理解和应用,因此会看书、读懂题,这是我的学生现在面临的很重要的两个弱点,这需要我在以后的教学中慢慢加以引导,教会学生怎么样从课本中提炼出我们需要的信息及答案,这是一个长期的过程而且对学生今后在数学方面的发展有着重要的作用,应该加以注意。此外,由于这节课我在两个班都进行过教学,第一个班采用的传统的析书形式,第二个班采用的多媒体,很明显,在第一个班最后的教学内容的含量不如在第二个班的教学内容多,而且在第二个班用多媒体学生更容易理解这些生硬的算法语句,可见在一些课时的设计过程式中我们应该应用多媒体进行辅助的教学,有利于学生更好的对知识的理解和把握,提高我们的课堂效率。
个人简介
符权有 2008年毕业于忻州师范学院数学系,同年进入忻州师范学院附属外国语中学担任数学的教学工作以及班主任的教育工作,所带班级成绩优异,学风良好。本人和班级连年受到忻州师范学院的表彰。2010年参加太原市教育局教师招聘考试,被太原市第五十三中录用,到校后担任高中数学的教学工作和班主任的教育工作至今。
第四篇:《枚举算法》教学设计
《枚举算法》教学设计
苍南县成人教育中心学校 陈荣军
一、教学目标
1、知识与技能目标:
理解枚举算法的基本原理,熟悉枚举算法程序设计的基本思路及程序结构特点;学会使用枚举算法解决现实生活、学习中所遇到的问题。
2、过程与方法:
围绕“课堂任务导航程序”,通过课堂任务设计,让学生熟悉用枚举算法求解问题的基本过程,并把它运用到实际生活中去解决问题,学会选择适当的枚举方法多角度分析问题,解决问题。
3、情感态度与价值观:
激发学生的学习热情,提高学生自主学习能力,增强学生创新意识;引导学生关注枚举算法在社会生活中的应用,并以此培养学生将算法思想运用到解决实际问题中去的能力。
二、学情分析
本节内容的教学对象是普通高中高一学生,他们经过半学期的信息技术教学,具备了一定的计算机操作能力;在VB程序设计方面,也已经有所学习,具备一定的基础,但因所上课时不多,学生对VB还只是略知皮毛,语法及编程能力有待于进一步提高。
三、教材分析
1、本节主要内容介绍
枚举算法是程序设计中使用最为普遍、学生必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。用枚举算法解决问题,通常可以从确定范围、逐一列举,验证条件、逐一验证这两个方面进行分析,把这两个方面分析好了,问题自然会迎刃而解。
2、重点难点分析 教学重点:
(1)理解枚举算法的基本原理。
(2)能根据问题描述确定枚举范围,并能用程序正确表示验证条件。(3)枚举算法的程序实现。教学难点:
(1)各种枚举算法的优劣评价。(2)编程实现枚举算法。
四、教学设计理念 采用了以学生的学习和发展为中心,基于建构主义理论的任务驱动、情境教学等教学方法,突出自主、合作、探究等学习方法;强调信息技术与生活实际的联系,培养学生的逻辑思维能力、解决问题的能力以及创新意识等;设置多元化的评价方式,让学生掌握学习内容的同时,形成交流与评价的能力。
主要教学方法:讲授法、演示法、任务驱动、情境教学等 主要学习方法:自主学习,合作探究学习等
五、教学策略
通过“课堂任务导航程序”,在教学过程中,围绕“情境导入→回顾算法思想→任务引领→自主学习→合作探究→交流评价→课堂总结”的教学流程来展开教学活动。
六、教学环境
教师用VB自制的“课堂任务导航程序”(客户端)、教师服务端程序、多媒体网络教室、多媒体教学软件、VB6.0中文企业版等。
七、教学过程
一、情境导入(3分钟)
教师活动:同学们,大家好!首先,很高兴今天能给大家上一节课,希望老师今天的这节课能让大家有所收获。在上新课内容之前,老师想先请同学们帮老师一个忙(教师广播展示VB制作的“QQ登录程序”):老师前段时间申请了个QQ,结果把密码给忘记了,但我记得密码是由六位相同的数字组成,哪位同学能上来帮老师找出密码?
学生活动:学生上台,根据老师的描述,从000000到999999一一测试密码,最终找到密码。教师活动:非常感谢这位同学的帮忙!这位同学能说下,你是怎么找出密码的吗? 学生活动:从000000,111111,222222„„ 999999这样逐个测试。教师活动:很好。像刚才这位同学这样,根据老师给的范围,逐一列举所有可能,并根据程序提示(验证条件)逐一验证,从而找出答案的方法就是今天我们要来共同学习的《枚举算法》。
设计理念:通过学生熟悉的QQ密码破解来引入课堂,增强学生兴趣,也能使学生乐于接受。
二、回顾枚举算法思想,提出课堂任务(5分钟)
教师活动:教师广播展示课件,学习枚举算法的概念,说明枚举算法的两个关键点:
1、确定范围,一一列举(既不遗漏,也不多余);
2、确定条件,逐一验证。教师活动:在了解了枚举算法的概念后,同学们能不能列举几个我们实际生活中用枚举算法解决的问题的例子呢? 学生活动:学生举例(教师根据例子引导分析,重点强调“确定范围、一一列举,根据条件、逐一验证”)
教师活动:非常好!看来大家对枚举算法已经有了一定的理解了,接下来,我们来看下在程序里面,如何实现枚举算法解决问题。请大家打开桌面“学生”文件夹里的“课堂任务导航.exe”,完成“任务一”。(教师简要说明“课堂任务导航程序“使用方法)
三、课堂任务一(10分钟)
学生活动:根据课堂任务导航程序及帮助信息自主完成课堂“任务一”(4分钟)教师活动:教师巡视、个别指导,观察、总结并及时记录学生在完成任务过程中出现的问题。同时,在“教师服务端”程序中观察展示学生任务一的完成情况,及时了解学生的学习进度。
任务反馈:大部分学生能顺利完成任务一,对于不能自主完成的,可由已完成学生帮助完成。
教师活动:很好!大部分同学已经完成任务一了,接下来让我们一起看下我们的程序是如何实现枚举算法的。教师展示任务一程序(广播)教师活动:我们知道要想实现枚举算法,主要是要做到两点:一个是确定枚举范围进行一一列举;还有就是根据条件,逐一验证。我们来看下我们的程序的怎么实现这两点的?
学生活动:观察程序,思考。
教师活动:我们先来看下“确定范围、一一列举”在程序里是如何体现的?(6分钟)
学生活动:使用for语句实现
教师活动:“根据条件,逐一验证”呢? 学生活动:if语句
教师活动:很好!一般实现枚举算法的程序都是由循环结构嵌套分支结构组成。好了,大家现在已经知道了枚举算法的程序结构了,接下来请同学们继续完成任务二。
(设计理念:通过任务一的设计,让学生自主探究学习,培养学生的自主探究学习能力,通过学生互助,培养学生互帮互助的精神;通过对任务一的程序分析,培养学生的善于观察思考、解决问题的能力,并让学生熟悉枚举算法的程序结构特点,以便学生能更加顺利的完成任务二。)
四、课堂任务二(设置陷阱,探讨交流)(15分钟)学生活动:学生先自主完成任务二。(5分钟)
教师活动:教师巡视、个别指导,观察学生在完成任务过程中出现的问题:有些学生能输出58个数,有些学生只输出6个数,原因在哪里?请一个能输出58个数的学生上台演示操作,然后让学生分析输出的这些数都能满足要求吗?经过分析,学生会发现有些数的个位数不符合要求。提出问题:如何修改程序将不符合要求的数去掉?(2分钟)
学生活动:修改程序(由学生小组合作相互探讨完成)。(5分钟)教师活动:当有部分学生输出正确答案后,请一个能输出正确结果的学生分析如何修改,并到教师机上修改刚才错误的程序(算法1); 请一个不同算法的同学来修改程序(算法2);让他们分析各自算法的效率谁更高。然后教师小结,鼓励学生要善于发现问题、深入分析问题、积极解决问题;从不同角度分析问题可以得到不同效率的算法。(3分钟)
(设计理念:设计任务陷阱培养学生善于发现问题、深入分析问题、积极解决问题的能力;通过探讨交流,培养学生的团体协作能力及合作探究精神;设计任务一题多解,培养学生从不同角度分析问题的能力,锻炼学生的发散性思维。通过算法分析,让学生理解算法的执行效率,懂得选择最优算法去解决问题,提高程序的性能。)
五、层层递进,任务拓展(高层次学生做)
拓展任务:在任务二的基础上,增加验证条件:“十位数是3的倍数,百位数是4的倍数”,提出问题:如何将数字里的十位数和百位数分离?
学生活动:学生通过教师提供的帮助材料,讨论分析问题,尝试去完成拓展任务 教师活动:教师观察,引导。
(设计理念:设计拓展任务,提高任务难度梯度,供高层次学生完成,以实施课堂中的分层教学。)
六、提交作品,课堂评价(3分钟)
学生提交作品,教师选择几个作品做总结性评价。
七、归纳总结、布置课后作业(1分钟)
1、通过“教师服务端”程序中学生“自我评价”中的知识点,进行课堂总结:(1)枚举算法的基本原理:
确定范围、逐一列举(既不遗漏,也不多余)(循环语句)确定条件、逐一验证
(条件语句)
(2)枚举算法中范围的确定及列举:循环语句(如for)实现
(3)枚举算法中验证条件的表示:利用if语句进行条件判断;条件表示主要运用VB中的算数运算符及逻辑运算符实现。(4)实现枚举算法的程序结构特点:
外层循环嵌套内层条件判断
2、布置课后作业: 找水仙花数(学生任务导航程序)
(设计理念:通过知识总结,帮助学生将知识系统化,便于学生理解记忆。通过知识的延伸,促使学生将知识内化,并进行能力迁移,进一步提高学生解决问题的能力。)
八、自我评价(1分钟)
让学生利用“课堂任务导航程序”中的自我评价功能进行自我评价。教师活动:展示学生自评结果。
(设计理念:通过评价,引导学生自我反思,加深对所学知识的认识与理解;教师查看学生自我评价结果能及时了解到学生对本堂课所学知识点的掌握情况,以便安排后续教学内容。)
第五篇:算法案例教学设计
算法案例——辗转相除法与更相减损术
唐劲松
一、教材解读
本节内容是在学习了算法的基础知识上,探究古代典型的算法案例——辗转相除法和更相减损术,巩固算法三种描述性语言(算法步骤,程序框图和程序语言),使学生对算法中的迭代思想有一个初步的认识。一方面以辗转相除法及更相减损术为载体,使学生通过模仿,操作,探索经历算法设计的全过程,帮助学生进一步体会算法的基本思想,感受算法在解决实际问题中的重要作用,另一方面让学生体会中国古代数学家对现代数学发展的贡献。
二、教学重难点
重点:辗转相除法与更相减损术的方法和步骤;
难点:辗转相除法的原理及其程序。
三、教学过程
Ⅰ引入新课
简单回顾短除法求两个数的最大公约数,并提出问题:当两个数较大时(如: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的最大公约数,来体会和总结辗转相除法和更相减损术的区别。
Ⅲ课堂小结
学生回顾总结两种方法的步骤,教师加以补充和点评。