描述算法 编制流程
【教材分析】
九年义务教育三年制初级中学 《网络技术应用》(华中科技大学出版社)九年级上册第二课《描述算法 编制流程》同课异构
【教学课题】
农夫过河
【教学目的】
一、知识与技能
1、了解算法和程序的基本概念,常用的算法描述方法有自然语言描述法、流程图表示法及伪代码等。
2、认识程序开发中常用基本流程图图形符号及其名称和意义。
二、方法与过程
1、通过自主探究法,引导学生在Flash教育游戏中锻炼分析问题和解决问题的能力。
2、通过小组合作任务驱动法,让学生练习用自然语言及流程图描述算法。
三、情感态度和价值观
1、培养学生合作、讨论、观摩、交流和自主学习的能力。
2、培养学生计算思维,提高他们对程序学习的兴趣。
【教学重点】
教学难点是熟练掌握用流程图描述算法。
【教学难点】
教学难点是熟练掌握用流程图描述算法。
【教学方法】
任务驱动法、自主探究法。
【教学准备】
具有广播教学功能的局域网,教学所需PPT及相关文字及图片。
【计划课时】
1课时。
【教学过程】
教学环节 教师活动
学生活动 设计意图
情 景
导
入
(
5
分
钟
) 导入: 嘟嘟嘟,谁的电话响了?
原来有一个农夫来电,一起听一听农夫的电话。
农夫遇到一个难题,请求帮助。
请同学们玩一个flash动画版本的狼羊菜过河游戏。帮助农夫并思考:
1、开始时,计算机提示了哪些信息?
2、完成任务后有什么提示信息,任务是否终止了?
3、用自己的语言表示每一个步骤。 1、学生回答:是屏幕上的铃声
2、自主尝试动画游戏,体验计算机根据动作完成任务的过程
3、思考老师给出的引导问题 1.以农夫的电话语音导入,瞬间吸引学生注意力。算法的概念比较抽象,难以理解,但我们可以将知识点巧妙地融入到时下非常热门的教育小游戏当中,寓乐于教,学生会感到亲切,教学效果更佳。
2、游戏可以激发学生的学习兴趣,引导问题可以促使学生积极思考,更有利于对算法概念的理解,
同时也为下一环节知识内容的学习作好准备。
( 3
分钟展示) 提问:有没有学生一边操作一边描述你的过河方案呢?
有没有不一样的?现在我们请这位同学在黑板上贴出他的算法。
像这样的描述,我们称之为自然语言,他是算法的描述的一种。 1、学生思考
2、学生经历用自然语言描述一个算法
1、自然语言描述算法是显而易见的一种描述算法的形式,每个学生都可以用自己的语言描述出一个算法。
算法的概念和简算法的描述 (
8
分钟
) 那究竟什么是算法呢?
一、给出算法的概念(结合过河案例展示这些算法的特性。(输入,输出,确定性,可行性,有穷性)
通过刚刚的游戏,我们知道完成任务的方法有很多种,教师这里有一种方法,大家请看。
二、引出算法的第二种描述方式--引入流程图的概念。
大家自主练习第二种过河方案的流程图。
展示。
大家来比一比,他们各有什么优缺点呢?
(自然语言描述算法的优缺点:这种描述方法通俗易懂,但有其局限性:语句一般很长、容易造成歧义、复杂算法比较难清晰表示出来,也不能被计算机直接执行。)
(流程图描述算法的优缺点:用流程图描述的算法清晰简洁,容易表达复杂的算法,有利于转化成不同的程序设计语言。)
三、还有其他方法可以描述算法吗?
(有,比如伪代码、N—S图、PAD图、示意图等等。)
1、观看幻灯片,加强记忆并回答算法的特性。
2、学生思考并回答,通过比较,学生可以描述不同形式算法的优缺点。
1、强化解决问题的步骤和方法,让学生加深对概念的理解
2、问题的设置,在于让学生通过实践,理解问题的算法不是唯一的。
3、伪代码形式描述算法,因为学生的认知水平的关系,本节课不需要学生能自己掌握,学生可以了解这种描述方式,对后续课程也有很大的帮助
流程图的 描述教学
+探究实践(
15分钟) 大家回忆一下,老师的流程图有哪些图形?大家知道他们分别代表什么含义么?
一个完整的流程图包含很多部分
给出流程图的基本图形及其功能,学生一起记忆并理解(连一连)
2、大家掌握这些了么?有不懂的请举手提问。
农夫再一次来电,新的难题。
3、同学们分组合作,思考新的过河问题,分别用自然语言和流程图描述解决方法和步骤。
4、最后,布置任务单,同学们实践练习(做一做) 1、学生迅速回忆,思考问题,回答椭圆,线,菱形,矩形,平行四边形,理解流程图的基本图形及其功能。
2、学生观察、操作,了解流程图的绘制的过程。
3、学生自主完成算法设计和描述的整个过程
1、学生在数学模块中已经见过流程图,但是没有仔细分析学习其图案的具体含义。
2、实际操作,带动学生动手实践。
3、新的过河问题,呼应情景引入中的案例,学生更易接受。
练习巩固展示评价 (约
6
分钟) 1、学生完成学习任务单
2、完成之后与其他小组对比展示,看哪些小组设计的算法是最优的。尝试找出最优的算法。
提示学生:同一个问题设计不同的算法,可以得到不一样的结果,可见,算法是程序设计的核心,是程序设计的灵魂,算法的好坏直接影响着整个问题解决是否完美。 1、回忆总结本节课的知识
2、讨论完成算法的概念以及算法的各种描述方式的优缺点。
3、在探究过程中表达思想、与同学、老师交流观点、经验。
4、对比其他小组设计的算法,尝试找出最优的算法 1.设计不同难度的任务,让学生有自主选择的空间,使不同层次的学生均学有所得。
2.培养学生发现知识的规律、方法并把它运用到解决实际问题中去的能力,并初步形成严谨的逻辑思维习惯。
3.在课堂上,通过师生之间,学生之间的协作、交流,培养学生的合作意识、互助精神、与人沟通能力。
4、初步渗透最优化的思想
小结 约
3
分钟)
本节课你们学会了什么?
学习了算法的概念,同时学会了用自然语言和流程图描述算法,在后面的学习过程中,我们将进一步学习编写程序,让计算机去实现你们设计的算法。 1、积极回答学习了算法的概念,同时学会了用自然语言和流程图描述算法、学习了流程图的基本图形等等。
2、回忆总结本节课的知识 承上启下,明白这节课在整个程序设计过程中的重要性
【流程+板书设计】