1、算法的概念及描述【课程标准】l 从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。l 通过解决实际问题,感受算法的效率。【教学目标】l 根据项目需求分析设计算法,理解并熟悉利用自然语言、流程图和伪代码描述算法的方法。(数字化学习与创新)l 选用恰当的描述方法和控制结构表示算法,增强用算法解决问题的意识。(计算思维、信息意识)l 通过对生活中某一逻辑关系问题的对比探究,掌握枚举算法解决问题的方法,并比较数理思维方式与计算思维方式解决同一问题的效率差异,逐步养成用计算思维解决问题的习惯,提高工作效率。(计算思维)【学业要求】依据解决问题的需要,设计和表示简单算法。【学
2、情分析】高中学生已经有了一定的逻辑推理能力,且从小接受的教育使之形成了根深蒂固的数理思维模式,本课内容为学生打开了解决生活实际问题的另一扇窗。前面学习了用计算机解决问题的一般过程,以及算法的概念、特征等基本知识,为本节课尝试用简单的算法解决问题做了铺垫。由于学生之前没有系统地学习过算法的概念,尤其对计算机算法知之甚少,考虑到这一点,本节课提供了程序文件,让学生在比较中认识计算思维的优势,从而转变观念。【教学重点】掌握三种常见的描述算法的方法,选用恰当的描述方法和控制结构表示算法。【教学难点】根据实际问题需求设计算法,描述枚举算法。【教学方法】教学方法:主要采用比较法、分组讨论法、师生互动探究模
3、式、项目式驱动模式组织教学。软硬件资源:网络机房、流程图绘制软件、教学课件。【教学过程】教学环节教学内容学生活动设计意图问题导入1提出问题:为完善本章第1节提到的思考活动“红灯变绿灯”的功能,如何将“倒计时15s”的算法描述出来?2引导学生用自然语言描述该问题的求解算法。思考回答通过项目式驱动,提出问题需求,引出本课的主题算法的描述。通过直接回答解题步骤,初步掌握自然语言描述算法的方法。师生交流,认识算法的表示方法归纳自然语言描述算法:1用自然语言描述算法的方式;2用自然语言描述算法的特点。思考归纳这部分的知识难度不大,但全部是新知识,而且是本节课的重点内容,教师依据学生特点,能引导的引导,需
4、要讲述的讲述,逐步推进教学进度,使学生初步掌握算法的三种描述方法以及算法的三种基本控制结构的流程图画法,为后续实践提升部分做好准备。学习流程图描述算法;1提问:还可以用哪些方式来描述算法呢?2介绍流程图的常用符号及其功能;3利用课件分析流程图描述算法的三种基本控制结构;4师生归纳出“倒计时15s”算法的流程图;5总结用流程图描述算法的特点。思考回答聆听讨论交流归纳总结学习伪代码描述算法:1指导学生阅读教科书中的“倒计时15s”算法的伪代码表示,提问:伪代码表示的算法有何特点?2归纳并对比三种算法表示方法的优缺点;3深入思考解决同一问题是否只有一种算法,需要考虑哪些因素。阅读思考交流归纳总结回答
5、问题实践活动,体验不同的算法设计任务1:根据“六人跳舞”问题描述,设计算法找出各自的舞伴。1问题描述。同学们跳集体舞,其中三位男生为a,b,c,三位女生为x,y,z。有人不知道谁和谁搭档跳舞,于是询问了其中的三位,听到的回答是这样的:a说他将和x搭档;x说她的舞伴是c;c说他将和z搭档。这人听后知道他们在开玩笑,全是假话。请找出他们各自的舞伴。2师生归纳解题方法:刚刚用到的方法属于数理思维方式,即用逻辑推理的方式直接想出或是用手工算出结果。教师提出还可以用枚举法来求解本题。3教师介绍枚举法解决该问题的思路,师生共同设计出相应的伪代码表示算法。4教师提供对应的程序文件,指导学生对照伪代码表示的算
6、法理解程序功能,并运行程序解决问题。5师生交流两种问题解决方法的特点,强调用计算机实现枚举算法的优势:枚举算法在常人看来可能是一种“笨”方法,因为要一一列举判断,我们会感觉麻烦;但计算机具有超强的运算能力,而且它不会对重复的操作感到厌倦,所以运行效率较高。枚举法是计算机解决问题的一种常用方法,体现了计算思维求解问题的特点。理解问题参与交流聆听学习程序体验反思交流本活动案例来源于生活,却又不是普通的生活算法可以解决的,因此学生只能另辟蹊径,寻求新的解题思路,从而认识枚举算法。该算法易于理解和实现,教师用该案例进行练习提升较为合理,但该算法会用到复杂的循环嵌套结构,对于没有程序设计基础的学生来说,
7、用伪代码描述相对简单,加之教师给出“六人跳舞”的伪代码,后面只需修改成“八人跳舞”即可,学生可以独立完成。且该案例是学生熟悉的逻辑推理题,学生能快速利用数理思维解出该题,增强信心,为下一环节两种思维方式的分组竞技做好知识与技能的储备。深入探究分组竞技任务2:根据“八人跳舞”问题描述,设计算法找出各自的舞伴。1问题描述。同学们跳集体舞,其中四位男生为a,b,c,d,四位女生为x,y,z,k。有人不知道谁和谁搭档跳舞,于是询问了其中的四位,听到的回答是这样的:a说他将和x搭档;x说她的舞伴是c;c说他将和z搭档;d说他将和x搭档。这人听后知道他们在开玩笑,全是假话。请找出他们各自的舞伴。2组织学生
8、选择任意方法(数理思维或计算思维)解决问题,分组竞赛。3教师统计完成人数及效率,提问学生解题的过程及效率,引导学生分析数理思维与计算思维的异同。4展示“八人跳舞”程序,引导学生思考,如果换一个条件,如“d说他将和y搭档”,利用两种思维方式解题的效率又如何?引导学生关注用计算思维解题在问题的可扩展性方面的优势理解问题小组竞赛完成任务交流讨论思考问题反思归纳随着案例问题中条件的逐渐增加或改变,学生在分组竞技的过程中会不断体会到两种方式的不同,利用计算思维解决逻辑关系问题的优势逐渐体现总结提升教师总结:本节课学习了算法描述方法中的自然语言、流程图和伪代码三种方法,了解了各自的特点,比较出了计算思维在解决逻辑关系问题时的优势。除了逻辑关系问题外,生活中还有很多问题都可以用计算思维来解决,希望同学们今后多尝试并习惯用计算思维来解决实际问题,做一名数字化时代的真正参与者总结、梳理、展望,引导学生多尝试用计算思维解决实际问题