《算法描述教学设计.docx》由会员分享,可在线阅读,更多相关《算法描述教学设计.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法描述、学习内容分析算法就是解决问题的方法与步骤。程序设计时,首先分析所要解 决的问题,然后进行算法设计,再选用一种计算机语言来描述算法, 形成计算机程序,因此算法是程序设计的基础。设计了一个算法之后, 不能只是心知肚明,还必须准确清楚地将它记录下来,或提供交流, 或依之编写程序供计算机执行。表示算法的方法有很多,常用的有自 然语言、流程图、伪代码等。解决同一个问题的算法可能有多种,也 会有优劣之分。二、学习者分析本课的学习对象是高一年级学生,具有可塑性、主动性和独立性 特点。他们有一定的生活经验,处于皮亚杰认知理论阶段的形式运算 阶段,好奇心强,有一定的探索能力和表达欲望,并且能够在原有知
2、 识的基础上进行迁移。在学习算法之前,绝大多数学生没有接触过程 序设计,即使接触过程序设计,也不够熟悉.很少有学生用计算机实 现过算法,从生活算法出发,可以帮助学生形成算法的概念,但难以 形成全面、透彻的认识。虽然学生在日常生活中经常遇到各种各样的 流程图,对流程图的认识只是停留在直观感受的层面,也不知道如何 规范的使用流程图符号来描述算法。三、学习目标理解算法的概念,明确算法对于程序设计的重要性。学会使用自然语言和流程图描述算法。应用,更快适应时代的步伐。算法是对特定问题求解步骤的一种精确 描述,算法这种确定性的特征,使得算法的学习对于提高学生逻辑思 维能力具有直接的促进作用。然而,初学者对
3、算法概念及流程图的图 形符号既熟悉又陌生,老师的教学往往过于注重算法形式的学习而淡 化对算法本质的理解,学生虽然也能明白教科书上的算法案例,却不 能正确应用算法来解决问题。为了克服前述缺乏,本节课的教学具有 以下几个方面的特色:一是关注了计算机算法的本质特征。算法可分为三种形式,第一 种是生活算法,即完成某一项工作的方法和步骤;第二种是数学算法, 即数学运算法那么和解题规那么;第三种是计算机算法,即是求解某一类 问题的一个运算序列。由于生活算法与计算机算法有非常相似的地方, 许多老师常常使用生活算法来类比计算机算法,例如“狼羊过河”的 问题,通过游戏的方式模拟狼羊过河的步骤引出算法的概念,这里
4、呈 现的过河的过程并不是算法实施的结果,这个问题实际上人事先已经 解决好了。而计算机算法那么强调通过一系列的运算之后,由计算机输 出问题解决的结果,例如在用递归法解决“汉诺塔”问题时,计算机 给出的移动金盘的过程就是算法实施的结果,所以说,计算机算法实 际上是使用机械化的方法进行问题的自动求解,我们并不能简单地把 生活算法映射到计算机算法。本课那么回到了计算机信息处理的原始含 义一一数值计算,通过计算图书付款额这个“现实”中的问题,引导 学生对问题进行分析,找到解决问题的方法和步骤,其中内隐了计算 机解决问题的基本过程:输入信息一一处理一一输出信息,既引出了 算法的概念,又较好的表达了计算机算
5、法的本质。二是创设真实的问题情境。以往的算法教学,算法的三种基本结 构常常以去情境化的方式教给学生,学生未能经历可信可靠的“真正 的学习”,难以形成解决实际问题的能力。本课那么创设了 “购买图书 付款”的真实问题,设计了系列的四个活动,活动1对“购买图书付 款”的一般过程进行分析,通过用自然语言精确描述解决这个问题的 步骤引出算法的概念;活动2那么将活动1中用自然语言描述的算法转 化为流程图,并执行该算法从而引出顺序结构;活动3中学生在对优 惠购书方式进行分析的基础上,尝试用分支结构进行描述,以解决优 惠购书问题;活动4是用循环结构解决“计算购买多种图书的付款额” 问题。学生在不断尝试的过程中
6、,逐步学会运用算法解决实际问题, 理解和掌握算法的三种基本结构。三个子问题的复杂度是不断增加的, 学生又较好的体会到了运用迭代思维解决疑难问题的思路和方法。三是使用画程工具降低算法学习的门槛o算法学习存在两大障碍, 一是在用自然语言描述算法之后,怎么把它转化为流程图,无论是用 纸笔,还是用Word、Visio等软件,都比拟费时费力;二是画好的流 程图,怎么转化为程序?流程图是人与人之间交流算法思想的工具, 对于初学者来说,还不会编写程序,因此无法写出代码验证算法,最 终使算法学习沦为纸上谈兵。画程软件较好的解决了这两个问题,只 用拖拽图标的方式就能轻松地绘制流程图,这个流程图还是可以执行 的,
7、学生能够通过算法的实施来检验问题解决的效果,那么在研究和 设计算法时,就可以暂时不理会程序设计的细节,只需专注于算法思 想,大大降低了算法入门的门槛。四是通过实验体会算法程序设计中的地位和作用。对于同一个问 题,可能有多种算法,这些算法虽然功能相同,但性能却可能不完全 一样,也就是说,算法也有优劣之分。最后的“按码索价”活动,通 过思想实验的方式进行推演,在没有编程的情况下,对这两种算法“顺 序查找”和“二分查找”进行比拟,感受优秀的算法可以提高解决问 题的效率,从而真正理解“算法是程序的灵魂”这句话的含义。理解算法的三种基本结构。在用不同方法解决查找问题的过程中,体会算法的效率。四、教学重点
8、及难点教学重点:使用自然语言和流程图描述算法,明确算法对于程序设计 的重要性。教学难点:使用流程图描述算法。五、教学过程(一)感知生活,走进算法腹有诗书气自华,最是书香能致远。4月23日是世界读书日。近年 来,习近平总书记在国内外不同场合,不止一次讲述过他的读书故事, 也每每在演讲中引经据典,信手拈来,让听者叹服。读书可以让人保 持思想活力,让人得到智慧启发,让人滋养浩然之气。活动L为了营造良好的阅读环境,小明去新华书店为班级采购书籍。思考以下问题:生活中买书的流程是什么?选书;付款。购买了某种图书后,如何计算付款额?购书数量和书籍单价;将数量乘以单价;得出付款额。小结:这种为解决一个问题而采
9、取的方法和步骤,就称为算法。 买书的流程、计算付款额的步骤,其实就是算法。设计意图:通过计算图书的付款额这个“现实”中的问题,引导学生对问题进行分析,找到解决问题的方法和步骤,感知生活中的算法, 从而揭开算法的神秘面纱,了解和掌握算法的概念。(二)解决问题,描述算法为便于交流,设计好算法之后,还必须把它准确清楚的表示出来。 描述算法的方法有多种,活动1采用的是自然语言,也就是日常生活 中使用的汉语、英语等语言。还可以用流程图描述算法,流程图是用 一组规定式样的几何图形、简明扼要的文字和带箭头的流线来表示算 法。活动2:用流程图描述“计算付款额”的算法。结合生活经验,说一说表1中各流程图符且的出
10、中图1 “计算付款额”流程图图1 “计算付款额”流程图( 开始 )pay=x*y(结束j教师演示“画程”软件中的图标工具及使用方法。学生参照自然语言描述的算法,尝试绘制“计算付款额”的流程图。(图书数量为X,单位为y,付款额为pay)观察并执行“计算付款金额”流程图,总结该算法的结构特点。小结:(1)算法可以用自然语言和流程图来进行描述;(2)这个流程图 中的各个动作能够自上而下顺序执行,因此称为顺序结构。活动3: “五一”到了,新华书店搞优惠促销活动,全场享受九折优 惠,凡购书满200元打八五折。请用流程图来描述优惠购书时计算付 款额的算法。用自然语言描述打折算法。输入书的数量x (本)和单
11、价y (元);计算 pay=xXy;判断:如果()成立,那么打九折,pay二payX0. 9,否那么打八五折,();输出付款金额pay o参照自然语言描述的算法,使用“画程”软件绘制流程图,执行图2 优惠购书”流程图.85该流程图,输入不同的购书数量及单价,思考:用哪种图形符号实现条件判断?这个问题中的条件是什么?条件成立时执行什么操作?不成立 又执行什么操作?小结:虚线框内利用“判断一选择”框对条件进行判断,根据给 定的条件是否成立,从两个分支路径中选择执行其中之一,这种控制 结构称为分支结构(或选择结构)。活动4:小明在新华书店看到了多种喜爱的图书,于是决定全部购买 下来,又该如何计算付款
12、额呢?思考分析:假如小明买了两种书,如何计算付款额?有多种书,又如何计算付款 额呢?如何实现循环,又该如何结束循环?(以输入的图书的数量0作为结 束循环的标志)请用自然描述该算法。付款额pay清0;输入书的数量x (本)和单价y (元);如果()成立,贝I:计算 pay=xXy+pay;( );回到,重复执行;否那么结束循环;输出付款金额pay。使用“画程”软件绘制流程图,执行流程图,输入各种图书的数图S “购买多种图书”衣程量及单价,思考:用什么图形符号可以描述重复执行的过程?该流程图是如何执行的?小结:虚线框内利用“判断_循环”框对条件进行判断,假设条件 成立,重复执行某个操作,这种控制结
13、构称为循环结构。通过计算购书付款额系列问题,我们发现:自然语后描述算法谷 易理解;(2)流程图描述算法直观、简洁、易懂,并且逻辑关系清晰; (3算法有三种基本结构:顺序结构、分支结构和循环结构。在实际 编程过程中常将这三种结构进行组合以实现各种算法。设计意图:从分析购书计算付款额的问题出发,分别利用自然语言及 流程图来描述算法,并体会自然语言、流程图描述算法的特点。在解 决计算“购买一种图书付款额” “优惠购书” “购买多种图书”付款额 等系列问题过程中,理解算法的三种基本结构:顺序结构、分支结构、 循环结构;学生分析问题、解决问题的能力也得到提升。选用“画程” 工具来绘制流程图,学生只用拖拽
14、图标的方式就能轻松地绘制流程图, 而且这个流程图是可以执行的,以验证算法是否可行,使得算法学习 能够以“学生”和“思维”为中心,在没有接触程序设计语言的情况 下,也能够研究和设计算法,大大降低了算法学习的门槛。(三)实例分析,再认算法前面图书的单价都是由用户输入的,而在实际生活中,往往是通 过输入商品编码,从数据库中查找对应商品的单价。活动5:根据图书ISBN编码,在表2”图书信息表”中查找图书单价表2图书信息表序号图书名称ISBN编码单价(7L)1中华智彗故事978-7-2060-6455-519.82激流三步曲978-7-5120-0008-71053傲慢与偏见978-7-5385-387
15、9-325.830强者的智力闯关游戏978-7-8076-9227-022.8(表中的图书信息是按照图书ISBN编码从小到大排序的)。如果查找到该图书信息,那么输出单价,如果没有查找到,那么输出“未入库!请你设计一种实现图书单价查询的算法。(1)先结合日常经验说一说你的查找方法;选择几种图书,使用你所选定的查找方法,根据“ISBN编码”在表3查找算法的比拟“图书信息表”中查询该编码对应的书价,并记录相关数据。图书名称ISBN编码查找方法开始位置查找次数查找结果傲慢与偏见978-7-5385-3879-3复活978-7-80568-821-3八月的忧愁978-7-8072-4172-0与同学交流
16、,比拟各种查找算法的效率。小结:解决问题的算法可能有多种,不同的算法效率也不同,因 此算法具有多样性和优劣之分。我们在设计算法时要尽可能地对算法 进行优化,以提高程序的效率。设计意图:通过按码索价活动初步体验算法的应用,感受算法的价值。 各组学生根据搭建的支架探究解决查找问题的方法,如顺序查找和二 分查找,通过这些查找方法的比拟,学生感受到同一个问题可能有多 种解决方法,而且方法也有优劣之分,优秀算法能提高解决问题的效 率,从而更好地理解“算法是程序的灵魂”这句话的含义。(四)思维导图,梳理知识课件展示,引导学生利用思维导图对算法知识加以梳理。自上施下按序执行”(5: 台籍:人格:nffi?i
17、 n.wS 累上司 更 福美f冷一台”松不0一4,何久外之句自依”W54W 衰率结构天道行条体制看, 襟痛同新结果再连 窿执行施布令纲2环0付无遨行条件划断.当举并成文教复执行A指受纲,否那么更出海环图4算法的概念与描述结束语:算法是程序的灵魂。在用计算机编程解决问题时,首先 要分析问题,确定算法,然后才能用计算机语言编写程序。著名计算 机科学家李国杰院士对算法作了精辟论述:“算法设计是人类智慧的 结晶,计算机的知识创新,主要就是算法的创新,创立一种新算法其 意义不亚于建造一种新机型。”设计意图:借助思维导图,引导学生将关键知识点整合并以图形化方 式呈现,进一步巩固学生的认知结构。最后借用李国杰院士的一段话 作结束语,凸显出算法是程序的灵魂,让学生更加清晰的了解算法在 程序设计中的地位和作用,为后续学习作好铺垫。评析:在信息化社会中,生产、生活中许多问题的解决需要运用 各种信息化设备,而这些设备的运作都是靠人用程序来指挥的,而程 序只是用某种计算机语言所描述或表达的算法。所以说,算法是计算 机信息处理的核心和基础。掌握算法的基本思想,可以更好的理解这 些信息化设备的内在运行机制,从而更有利于掌握各种智能化产品的
限制150内