第一篇:算法教学设计
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的最大公约数,来体会和总结辗转相除法和更相减损术的区别。
Ⅲ课堂小结
学生回顾总结两种方法的步骤,教师加以补充和点评。
第五篇:算法的概念 教学设计
算法的概念教学设计 杭州二中分校陈海玲执笔 一.内容和内容解析
本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法。
算法是一种解决问题的方法,是数学及其应用的重要组成部分,也是计算机科学的重要基础。算法的思想有着广泛的应用性。
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
在算法概念的表述中,有范围限定词“在数学中”,因此学习的内容均为数学中的问题。有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则”指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性。“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别。“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的。
算法有多种表示方法,其中自然语言描述与人的表达方式最接近,是学习其它描述方法的基础。
中国古代数学是以算法为主要特征,并蕴涵着丰富的算法思想。现代信息技术的发展使算法唤发出新的生机和活力,并使之成为当代社会必备的基本知识。算法进入高中必修内容正是反应了时代的需要。
算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料。算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材。因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系。又由于算法的具体实现上可以和信息技术相结合。因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让他们知道如何利用现代技术解决问题。
二.目标和目标解析
本节课的教学目标是:
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表示.第五步,判断是否成立,若是,则算法结束;否则,返回第三步.本文是“‘中学数学核心概念、思想方法结构体系及其教学设计研究’课题成果”