您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > 解析算法及程序实现教学设计
解析算法及程序实现教学设计一、设计思想根据《新课标》的要求,本课“解析算法”的学习目的是使学生进一步体验算法设计思想。为了让学生更易理解其算法的思想:用解析法找出数学表达式,用它来描述问题的原始数据与结果之间的关系。本堂课的设计思路:通过一元二次方程求解实例引入主题——认知主题——实践体验主题——扩展与提高这几个阶段层层深入的递进式方法使学生充分掌握解析算法。从而使学生形成解析算法的科学逻辑结构。二、教材分析本课的课程标准内容:结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。掌握使用解析算法设计程序解决问题的方法基本要求:1.初步掌握解析算法。2.初步掌握解析算法的程序实现。教材中很多例子,但是考虑到课时,具体采用了“计算1900年开始的任意一天是星期几”的问题。三、学情分析学生对程序的3种基本模式已有一个了解的基础,对于简单的程序段也有一定的认知意识。并且已学习了枚举算法,这对本节课的教学产生积极的作用。但学生还是会觉得算法设计比较难掌握,困难之处在于,如何将题目的设计思想转化为流程图,根据流程图写出相应的代码并通过自己编制程序上机实践来体验。因此在课堂分析过程中,学生应当从听课认识——分析理解——实践探究这些过程中全面掌握解析算法的设计思想,并能用此算法来解决日常生活问题及与其他学科有所关联的一些简单问题。四、教学目标知识与技能:理解解析算法的概念和特点,通过分析了解解析算法的解题结构,初步掌握对解析算法的程序实现。过程与方法:通过具体问题分析,归纳解析算法的基本思想和方法,确定解题步骤。让学生理解如何用3步法来解决实际问题(提出问题——分析问题——解决问题);情感态度与价值观:通过小组合作,增进学生间的学习交流,培养合作能力,激发学生学习能动性;感受解析算法的魅力,养成始终坚持、不断积累才能获得成功的意志品质。五、重点与难点重点:通过计算1900年开始的任意一天是星期几,让学生理解解析算法的思想,初步培养学生如何运用3步法来解决实际问题;难点:用解析法找出数学表达式六、教学策略与手段1.教学线索:通过一元二次方程求解提出问题---解析问题-----归纳解析算法特征------具体实践解决问题。2.学习线索:分解问题---归纳问题---实践提升,在三个阶段的不断推进中明确解析算法,总结规律七、课前准备1.上课环境:多媒体电脑房;2.上课工具:幻灯片(解析算法.ppt课件);辅助教学软件;八、教学过程(一)、创设情景,引入问题(引入主题)幻灯片展示:求解一元二次方程?教师:各位同学,对于一元二次方程方程的求解我们是非常熟悉的。下面我们大家就自己来完成对它的求解。学生:学生很快完成一元二次方程的解题,而且全部正确。教师:我们这么快完成对它的求解,我们是如何来解题的呢?学生1:对于一元二次方程的求解,我是通过acb42来对它进行分析的,如果(acb42)0,有2个不同的实数解,(acb42)=0,有2个相同的实数解;(acb42)0,无实数解。然后根据数学公式x=aacbb242来完成求解。教师:很好,我们解决一元二次方程的解就是找到了相应的数学公式(表达式),我们把这类问题的解决方法称为:解析算法。教师:现在谁能告诉我解析算法的要点是什么吗?学生2:解析算法的要点:运用恰当的数学公式(表达式),用它来描述问题的原始数据与结果之间的关系。(认知主题)(二)、学习新课(体验主题)幻灯片展示:计算1900年开始的任意一天是星期几?教师:首先,我们一起来分析一下:(与学生互相讨论的过程)在日常生活中,我们忘记了某天是星期几,一般会从一个已知星期几的某天开始算,计算出两个日期相差的天数,然后用相差的天数除以7取出余数,就可以推算出星期几了。但是我们在计算天数时会发现由于可能会经历平年(365天)、闰年(366天),每年的不同月份天数也不相同,这样计算量是很大的,计算也十分困难。学生:老师,那有没有更快捷、准确的方法呢??教师:当然有呀,德国数学家克里斯蒂安·蔡勒(ChristianZeller,1822~1899)在1886年推导出了一个解决此问题的著名的蔡勒公式,w=[c/4]-2*c+y+[y/4]+[13*(m+1)/5]+d-1其中,c是年份的前2位,y是年份的后两位,m是月份,d是日数,[]表示取整。如果月份是1月或2月,那么要按上一年的13月或14月来算。学生:哦,原来这也有公式可寻呀。(课堂气氛一下子就活跃起来了)教师:我们已经通过提出的问题,分析了问题,也找到了解决问题的方法,下面请一位同学上台来完成算法流程图填空?(要求:流程图填空,我事先在课件中画好流程图,红色的字体为挖掉的空。见下图)学生:w=[c/4]-2*c+y+[y/4]+[13*(m+1)/5]+d-1w←wmod7教师:很好,那现在如何把流程图转化成程序代码让计算机实现呢?下面,我们就一起来完善下列的程序代码:PrivateSubCommand1_Click()DimyearAsInteger,month,day,w,c,y,m,d,okAsInteger开始输入年月日计算c,y,m,dw=[c/4]-2*c+y+[y/4]+[13*(m+1)/5]+d-1w←wmod7输出结果星期几结束year=Val(Text1.Text)month=Val(Text2.Text)day=Val(Text3.Text)Ifmonth=1Ormonth=2Thenyear=year-1month=month+12EndIfc=__________'取年份的前两位y=yearMod100'取年份的后两位m=monthd=dayw=________________'蔡勒公式w=(w+700)Mod7+1'求除以7的余数,w加上700保证余数一定是整数Text4.Text=WeekdayName(w)EndSub函数WeekdayName()可将值转换成星期形式:值1234567返回值星期日星期一星期二星期三星期四星期五星期六学生活动:课上到这个时候,学生都想自己尝试让计算机来解决问题,教师可以按一下要求让学生实践巩固解析算法。1、①新建工程,创建窗体。界面设计可参照下图,属性设置参照表10-1。表10-1窗体中主要控件属性设置对象属性名称属性值Form1Caption星期几计算Label1Caption输入日期Label2Caption年Label3Caption月Label4Caption日Label5Caption输出结果:TextlText(空白)Text2Text(空白)Text3Text(空白)Text4Text(空白)Command1Caption开始计算2、计算按钮的代码窗口中输入刚才已完善的程序代码3、调试运行程序,测试数据参考如下:测试数据运行结果第一组1905年1月1日星期日第二组1988年8月8日星期一第三组2006年9月10日星期日第四组2006年2月29日第五组教师活动:教师走动,察看学生完成情况,及时帮助学生所碰到的问题。活动目的:让学生通过此体验,加深流程图的理解,充分正确理解解析算法的思想。学生:老师,我的第四组数据测试怎么出错了呀。学生:老师,第四组数据2月份没有29天呀。这日期不正确呀。教师:是呀,那我们如何增加代码来判断日期是否有效[扩展与提高]教师:判断日期是否有效我们可以采用VB的日期函数来实现。请同学们查阅相关资料来完成此功能。(提示:可采用Isdate或者Cdate函数)(六)、课堂小结(以问题的形式用幻灯片展示,学生与教师一起回答的方式)1、解析算法的基本思想是什么?2、用解析算法解决问题的时候需注意的点3、画流程图及程序实现(从提出问题—分析问题—解决问题)(七)、课后作业教学反思:1.采用一起分析问题,画流程图的方式来完成算法的实现,降低了知识的难度。掌握学生的学习情况和知识点,根据其基础来讲授算法实现,也让学生体会到了算法学习带来的乐趣和成就感,增加了学习兴趣。2.例子现实生活中很多,但是很多是要考虑学生的知识结构,作为教学的例子要激发学生的学习积极性。
本文标题:解析算法及程序实现教学设计
链接地址:https://www.777doc.com/doc-2096789 .html