算法的概念及描述 | |||
教材内容 | |||
教学目标 | ●掌握算法的概念,明确算法对于程序设计的重要性。 ●掌握算法的基本特征,知道什么样的算法是不合理的。 ●掌握算法的要素。 ●掌握算法的描述方法,学会使用自然语言和流程图描述算法。 | ||
教学重点及难点 | 重点:掌握算法的基本特征、学会描述算法。 难点:使用流程图描述算法 | ||
学习环境 | 有教学控制软件的多媒体机房,需要安装Python编程环境。 | ||
建议课时 | 1课时 | ||
教学活动设计 | 教学环节 | 教学过程 | 设计意图 |
情境导入 | 教师引导学生思考以下两个问题: 问题一:正确的洗手的步骤 这个问题的解决步骤分8步,第1步取洗手液,然后用流动的水按照内-外-夹-弓-大-立-腕七步洗手法,洗手10-15分钟。 问题二:《孙子算经》中鸡兔同笼问题的解题步骤 对于这个问题,我们可以: 1.鸡和兔都变成两个头:35*2=70 2.每只兔子多了两只脚:(94-70)/2=12 3.总的头数-兔子的只数=鸡的只数:35-12=23 我们也可以: 1.先让鸡和兔各抬起一半的脚:94/2=47 2.每只兔子多了一只脚:47-35=12 3.总的头数-兔子的只数=鸡的只数:35-12=23 这两种方法都是解决鸡兔同笼问题的算法,可见,解决同一问题,可能有多种算法,我们要学会择优选择。 | 问题1与问题2的解题步骤都属于算法。通过这两个问题引出本节课的第一个重点内容—算法的概念,同时强调解决同一问题,可能有多种算法,我们要学会择优选择。 | |
新课教学 | ●知识讲解--算法的概念。 通过前两个例子,让学生明白,算法就是解决问题的方法或步骤。 广义地讲,“算法”指的是解决问题或完成任务的一系列步骤集合。 在计算机科学领域,“算法”指的是用计算机解决问题而需要让计算机有序执行的、无歧义的、有限的步骤集合。 ●知识讲解--算法的特征。 算法有5个特征,分别是有穷性、确定性、可行性、有0个或多个输入、有1个或多个输出。 1.有穷性:指一个算法的处理步骤必须是有限的。比如求1到100中所有自然数的和是可以的,但是求1到100中所有有理数的和就不行。 2.确定性:指算法中对于每个步骤的描述必须是明确的。比如找出班级中所有身高大于等于175cm 的同学,这是可以的;但是找出班级中所有的高个同学,这个就不行,没有明确的标准,多高算高个。 3.可行性:指每个步骤都是可以做到并能在有限时间内完成的。也就是说不能出现死循环,让程序一直执行下去,没有终止。 4.有0个或多个输入:初始数据可以从外界输入,也可以包含在算法之中 5. 有1个或多个输出:算法必须包含至少一个输出,没有输出的算法是没有意义的。 ●知识讲解--算法的要素。 算法的要素,分别是数据、运算、控制转移。 数据:用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及解决问题后的结果数据。 运算:对数据计算和判断 控制转移(选择、循环):在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这就需要对结果数据进行判断,并根据判断结果进行选择执行或循环执行。 举例:变频空调的工作原理 在夏天把空调温度设定在26oC,每当空调的温度传感器测得室内温度小于或等于26oC时,算法就会“告诉”空调已经到达目标温度,可以暂停工作,空调就会“自动”关闭压缩机的运行。这样,既确保了室内温度,又实现了节能环保。 在这个过程中,设定的温度和传感器测得的温度都是数据,将测得的温度与设定的温度进行比较就是运算,而根据比较结果判断是关闭还是开启压缩机就是控制转移。 ●知识讲解--算法的描述方法 以快递费的计算为例,来介绍算法的描述方式: 随着信息技术的发展,电商事业的繁荣,快递已经成为我们生活中的一部分。以顺丰快递为例,它的收费标准是1kg以内(包含1kg),收费12元,每超重1kg,加收2元(不足1kg的,按1kg计)。 现在需要我们为快递公司设计一种算法,能够方便快捷的计算快递费。 1.用自然语言来描述,就是这样的5个步骤: (1)输入包裹快递的重量x (2)判断包裹的重量是否大于1kg (3)如果包裹的重量不大于1kg,应付款y=12 (4)如果包裹的重量大于1kg,应付款y=12+2* (x-1)向上取整 (5)输出应付款的金额 自然语言描述的算法通俗易懂,不用专门的训练,较为灵活。但是容易存在二义性,并且无法很准确的描述循环、选择等结构。 2. 对应自然语言看一下流程图的设计: 流程图必须要有开始、结束框,输入重量用输入框,判断包裹是否大于1kg,用判断框,根据判断结果进行相应处理用处理框,输出用输出框。 流程图描述的算法就比较直观、形象,有利于不同环境的程序设计。但是需要注意各种符号的使用。 3. 它对应的伪代码: 输入包裹的重量x if(x>1): y=12+(x-1)*2 else: y=12 输出应付款 y 伪代码是一种类似于机器语言,但又不受语法约束的代码。这种语言是无法被机器执行的。主要使用对象是设计师和程序员,用来表达在编码前对算法执行过程中的一些想法。 4. 它对应的程序设计语言: import math x=float(input(“请输入包裹的重量:”)) if(x>1): y=12+(x-1)*2 else: y=12 print(“您应付的快递费为:”,y) 程序设计语言是计算机能够执行的语言,有严格的语法和格式规范,需要专门的学习才能掌握。 | 讲解算法的概念,同时强调算法对于程序设计的重要性。 通过具体的小例子,让学生理解算法的基本特征的意义,在设计算法时,明确什么样的算法是合理的,什么样的是不合理的。 通过变频空调的例子,让学生理解算法的三要素,以及三要素之间如何协调工作。 通过任务1培养学生根据解决问题的需要,自觉、主动地获取与处理信息的信息意识,随后对热量消耗问题进行抽象与建模,得到解决该问题的计算模型。 通过同一个算法的不同的四种描述方法,让学生掌握四种描述方法,并理解他们的不同之处,知道在什么情况下使用什么描述方法更合适。 | |
课堂小结 | 知识梳理: 1. 算法的概念 2. 算法的特征 3. 算法的要素 4. 算法的描述方法 | 通过回顾总结帮助学生巩固算法的概念、特征、要素及描述方法,使学生更牢固的掌握算法的描述及特征。 |
项目设计——算法的概念及描述
范文窝
人气:1.62W
最新文章
- 1信念的力量——读《红色延安的故事》有感
- 2励志演讲稿——信念的力量(精选多篇)
- 3观《勇敢的心》有感——自由信念(精选多篇)
- 4朴实无华“做数学”——《分数的简单计算》教学案例评析
- 5青春理想演讲稿——人生的目标
- 6黄埔军校之旅 ————爱国主义教育及团员教育活动
- 7新课的引入方法——《隐秘的角落》剧中张东升教学法
- 8以公开求共识以民主促和谐——公司民主管理工作概述
- 9初心如磐践使命 知行合一谱华章——坚定理想信念奋力开创丛台建设新局面
- 10基层反映:浅析政府投资项目超概算原因分析及对策大纲
- 11吃掉黑暗的怪兽——认清恐惧的真实面目
- 12地铁项目合同、预算、成本核算、计量等工作个人述职述廉
- 13爱国演讲稿——为了忘却的纪念(精选多篇)
- 14党群工作总结——全面从严治党,打通项目党建最后一公里
- 15统一战线政策是我党夺取革命胜利的法宝——参观中共三大会址纪念馆心得体会
栏目推荐
- 1算法的概念教学设计案例
- 2方法——让通往成功的路更宽
- 3创一流名校 培养企业精 ——计算机系专业技能展示活动方案
- 4基于任务驱动的合作探究教学设计——以摩擦力第1课时为例
- 5“音乐知识——6/8拍”微课教学设计
- 6学生励志演讲稿——成功需要无比坚定的信念(精选多篇)
- 7观看电影《忠诚与背叛》的思考——坚定信念 服务师生
- 8扫黑除恶专项斗争半年工作总结——促进“平安乡镇”建设
- 9项目概念方案设计邀请函
- 10项目预算员年终总结及计划
- 11苏陕协作项目——中职学校骨干教师师资培训学习心得体会
- 122011年——2012年村级公益事业建设“一事一议”财政奖补项目规划
- 13《和时间赛跑》教学设计——黄小英
- 14血的控诉——南京大屠杀纪念馆开展现场教学心得体会
- 15理念与实干的融合——中青年干部培训心得体会
- 16我把青春献给你——我的三尺讲台——读《荔枝蜜》有感
- 17加强立法调研,提高立法质量 ——在地方立法论坛上的发言