《算法和算法的描述》教学设计
- 格式:doc
- 大小:17.22 KB
- 文档页数:8
3.3算法及其描述教学设计(逐字稿)一、单元教学目标:1、从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。
2、懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点。
3、在利用数字化工具解决问题完成任务的过程中,构建知识、培养技能、发展思维,促进信息技术核心素养达成。
二、课时教学目标与评价目标(课标质量描述):1、理解算法的内涵2、掌握算法的特征3、了解算法描述的三种基本方法,了解其优势与不足4、掌握流程图描述算法的方法三、学科核心素养(课时):计算思维:个体运用计算机领域的思想方法,在形成问题解决方案的过程中,产生的一系列思维活动。
能采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成问题解决方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中。
四、教学思路:从生活中的实例出发,建立算法的表象。
通过归纳总结找到算法的内涵,形成算法的概念。
在三个算法实例中,通过比较、分析归纳出算法的特征。
在活动过程中认识三种算法描述方法并理解各自的优缺点。
五、教学重难点重点:掌握流程图描述算法的方法。
难点:算法的定义教学过程:一、导课上节课我们初步了解计算机解决问题的一般过程。
其中,设计算法是问题解决的重要环节。
请阅读课本上算法的定义,结合活动一体会算法的内涵。
二、授课(一)算法的定义1.为了解决一个问题而采取的方法和步骤,就称之为算法(广义)。
在信息技术领域,我们关心的是用计算机做工具解决问题,所以这里的算法更具体一些:指计算机能执行的算法(计算机求解某一问题的方法,是能被机械执行的动作或指令的有穷集)。
做任何事都有一定的步骤。
例如,从万荣到天安门参观,首先买票,按时乘车到北京站,换乘地铁或公交到达天安门,参观,然后返回。
再比如取快递,首先查看取件码,告诉快递员,取件。
初中升高中,首先中考报名,缴费,参加中考,报志愿,拿录取通知书,到被录取学校报到。
《算法的设计与描述》教学设计教学设计:《算法的设计与描述》一、教学目标:1.理解算法的概念和基本原理;2.掌握基本的算法设计方法和分析技巧;3.能够设计并实现简单的算法解决实际问题;4.培养学生的逻辑思维、问题分析和解决问题的能力。
二、教学内容:1.算法的概念和基本性质;2.常用的算法设计方法和技巧;3.算法的时间复杂度和空间复杂度分析;4.算法正确性的证明和优化。
三、教学重点和难点:1.算法设计方法和技巧的掌握;2.算法时间复杂度和空间复杂度分析的理解和运用;3.算法正确性的证明和优化方法的学习。
四、教学方法:1.理论讲授结合实例分析;2.实践操作和编程实现;3.小组讨论和案例分享。
五、教学过程:1.导入(5分钟)通过提问,引入算法的概念和应用领域,激发学生对算法设计与描述的兴趣和思考。
2.理论讲解(30分钟)(1)算法的定义和基本性质;(2)常用的算法设计方法和技巧,如贪心法、动态规划、分治法、回溯法等;(3)算法的时间复杂度和空间复杂度分析方法;(4)算法正确性的证明和优化方法。
3.实例分析(20分钟)通过实例分析,讲解具体的算法设计和描述过程,如最短路径算法、排序算法、背包问题等。
4.小组讨论和编程实践(30分钟)学生分成小组,自主选择一个实际问题进行算法设计和描述,并用编程语言实现。
通过小组讨论和交流,互相学习和优化算法。
5.案例分享和总结(15分钟)学生代表向全班分享自己的算法设计和描述过程,同时与全班共同总结所学的知识和经验。
六、教学评价:1.平时表现(包括听课积极性、课堂互动、实践操作等);2.编程实现(算法设计和描述的正确性和优化效果);3.算法设计与描述的实践报告。
七、教学资源:1.《算法导论》教材;2.计算机实验室和相关软件工具;3.学生使用的计算机和编程语言。
八、教学反思:通过本节课的设计与实施,学生能够理解算法的基本概念和性质,掌握算法设计的方法和技巧,并能够应用于实际问题。
1-2节算法和算法的描述
一、教学目标
1、知识与技能
(1)了解算法的定义及其表达方法;
(2)认知流程图的六种基本符号;
(3)理解计算机解决问题的一般过程。
2、方法与过程
(1)理解用不同的表达方法描述算法的优缺点;
(2)掌握用流程图描述简单的算法。
3、情感态度和价值观
以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。
二、重点难点
(一)教学重点
1、算法的定义;
2、算法的三种表达方法;
3、流程图的六种基本符号;
4、用流程图描述简单的算法。
(二)教学难点
5、算法的描述(三种);
6、用流程图描述算法。
三、教学环境
1、教材处理
通过物理学中的实例了解算法的概念和算法的描述方法掌握用计算机解决实际问题的一般步骤。
用多媒体教学网开展教学;用“先自主探究,后教学指导”的方法进行教学。
2、预备知识
学生已掌握了用计算机解决问题的过程,掌握了计算机运用基础。
3、硬件要求
建议本节课在多媒体电脑教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。
4、所需软件
学生机要安装VB6.0或以上版本。
5、所需课时:2课时(100分钟)
四、教学过程
五、课外拓展
1.课外练习
小明是小学一年级学生,请你为他设计一个小程序,专门用来练习加法运算。
具体讲就是让计算机产生两个整数并组成加法竖式,再从键盘输入一个结果数,最后让计算机来判断结果是否正确。
一、教学目标1. 知识目标:- 学生能够理解算法的基本概念和特点。
- 学生能够掌握算法描述的常用方法,如自然语言描述、伪代码描述和流程图描述。
- 学生能够识别和分析简单的算法。
2. 能力目标:- 学生能够运用自然语言、伪代码和流程图描述算法。
- 学生能够设计简单的算法解决实际问题。
- 学生能够分析算法的效率,并进行优化。
3. 情感目标:- 学生能够培养对算法的兴趣和探索精神。
- 学生能够体会到算法在解决问题中的重要性。
- 学生能够增强团队合作意识和问题解决能力。
二、教学内容1. 算法的基本概念和特点。
2. 算法描述的方法:自然语言描述、伪代码描述和流程图描述。
3. 简单算法的设计与实现。
4. 算法效率分析。
三、教学过程第一阶段:引入与概念理解1. 引入环节:通过实例(如排序、查找等)引入算法的概念,让学生感受到算法在日常生活中的应用。
2. 概念讲解:讲解算法的基本概念和特点,如确定性、有限性、输入、输出等。
3. 小组讨论:分组讨论算法的特点,加深对概念的理解。
第二阶段:算法描述方法1. 自然语言描述:通过实例讲解如何用自然语言描述算法,如冒泡排序的描述。
2. 伪代码描述:讲解伪代码的基本语法,并展示如何用伪代码描述算法。
3. 流程图描述:介绍流程图的基本符号和绘制方法,通过实例让学生绘制流程图描述算法。
第三阶段:算法设计与实现1. 案例分析:分析已给出的算法案例,如冒泡排序、插入排序等。
2. 学生实践:让学生分组设计并实现一个简单的算法,如排序或查找算法。
3. 成果展示:各小组展示自己的算法设计,并进行互评。
第四阶段:算法效率分析1. 效率概念:讲解算法效率的概念,如时间复杂度和空间复杂度。
2. 效率分析:分析所设计的算法的效率,并探讨优化方法。
3. 优化实践:学生尝试优化自己的算法,提高其效率。
四、教学评价1. 课堂参与度:评价学生在课堂讨论和实践活动中的参与程度。
2. 算法描述能力:通过作业或测试,评价学生用自然语言、伪代码和流程图描述算法的能力。
算法与算法描述教学设计
一、课题分析
本课以算法的定义与描述为内容,围绕算法概念、算法特征及算法的结构描述等内容展开,旨在让学生掌握算法的基础概念,理解算法结构特征,并能够正确分析和描述算法。
二、学习目标
1.理解算法的定义,掌握算法的基础概念;
2.理解算法的特点,掌握算法的结构特征;
3.掌握算法的分析与描述技术,灵活运用算法分析与描述等方法分析和描述算法。
三、重点难点
重点:算法概念、算法特征及算法的结构描述等内容;
难点:理解算法的特点,掌握算法的结构特征;掌握算法的分析与描述技术,灵活运用算法分析与描述等方法分析和描述算法。
四、教学方法
1、讲授法:以一步一步的讲解算法定义、算法特征及算法的结构描述,让学生充分理解算法。
2、案例法:通过给出算法的例子,让学生体会算法的执行和结果,并了解算法的特点。
3、归纳法:通过讨论、总结、归纳发现算法的特点,对算法的定义、性质等特征进行整体总结。
4、练习法:通过针对性的练习题,让学生运用已学方法,对算法进
行分析与描述,体会算法分析与描述的重要性和实用性。
——辗转相除法。
例如:设给定的两个正整数为m和n,求它们的最大公约数的步骤为:(1)以m除以n,令所得的余数为r。
(2)若r=0,则输出结果n,算法结束;否则,继续步骤(3)。
(3)令m=n,n=r,并返回步骤(1)继续进行。
实践1:求两个正整数112和64的最大公约数。
实践2(可选):求两个正整数112和64的最小公倍数。
师生总结算法的特征,教师简要举例说明。
特征:输入、确定性、有穷性、输出、能行性(可行性、有效性)余为48;(2)64除以48,余为16;(3)48除以16,余为0;答案:112和64的最大公约数为16。
学有余力的学生可尝试写出实践2的算法。
Moodle上提交。
解算法的特征。
3、算法的描述。
(1)问:在游戏和辗转相除法中,我们是用什么来描述算法的?那么还有没有其它方式呢?除了自然语言,还有流程图、伪代码等。
例如辗转相除法用流程图和伪代码描述如下:①流程图描述的辗转相除法(教师简单说明流程图的基本图形及其功能):②伪代码描述的辗转相除法(教师简要说明伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。
对学生学习不作要求):INPUT m,nr= m mod nDo While r≠0m=nn=rr=m mod nLoopPrint n(2)讨论交流比较三种描述算法的方式的优势和不足(伪代码不做要求)。
算法描述方式优势不足自然语言流程图伪代码学生回答:文字,……(教师引导出自然语言)。
各组就求两个整数的最大公约数的辗转相除法的三种描述方式进行讨论,比较各自的优势和不足,填写表格,进行交流。
Moodle上提交。
结合辗转相除法的不同描述方式进行讲解,学生在比较中体会算法描述的过程,掌握本节重点。
学生通过对三种方式的比较,总结出各自的优势与不足之处,进一步加深对本节重点知识的认识。
考虑到学生的认知水平,伪代码不做要求,鼓励学有余力的学生了解。
操作实践1、写出求一个数的绝对值的算法。
《算法和算法的描述》教学设计
一、教材处理
本节课以教育科学出版社教材《算法与程序设计》的第一章《如何用计算机解决问题》和第二节《算法描述与设计》作为基本教学内容,用一节课时间完成。
本节课学生第一次接触算法,如果只讲解算法的概念就要求学生对实际问题进行分析、建模、设计合理算法,感觉难度较大。
因此,我从“人鬼过河”这一智力游戏开始,通过实例介绍算法的概念,再例举学生熟悉的数学问题,让学生在分析问题中学会设计算法,并让他们采用算法描述工具描述相应的算法。
二、教学目标
1.理解算法的含义。
2.掌握用自然语言、流程图描述算法。
3.了解算法的基本特征。
4.通过流程图形象直观地了解顺序、选择、循环三种基本结构。
三、教学重点与难点
重点:让学生经历分析问题、设计算法,用自然语言、流程图等方法描述算法的过程。
难点:对算法概念的理解,设计出合理的算法。
四、教学媒体
多媒体课件、VB小程序、网络教室
五、教学过程
教师活动:介绍游戏规则,让学生在“人鬼过河”这一Flash游戏中思考解决问题的步骤。
学生活动:在游戏中亲身经历分析问题、解决问题的过程。
(设计意图:算法的含义比较抽象,如果一下子抛出算法的定义,学生无法真正理解,所以引入趣味游戏,让学生在游戏中思考。
)
(一)引入新课
教师活动:
①请个别学生讲解操作这个游戏的步骤,教师进行归纳
总结,用自然语言描述出来。
②由解决游戏的步骤引出算法的定义――算法是解决
问题的方法和步骤。
③算法需要将它描述出来才能为人所知。
学生描述“人鬼过河”游戏的各步骤就是算法的一种描述方法――自然语言描述法。
教师介绍如何用自然语言描述算法。
学生活动:
①理解算法的定义。
②初步体会用自然语言描述算法的过程。
(设计意图:①引导学生总结游戏步骤,由具体事例引出算法的概念。
②学生体会用自然语言描述算法的过程。
)(二)学生实践一
1.布置任务
教师活动:讲述“水仙花数”问题,让学生判断任一三位数是否为水仙花数,并引导学生用自然语言将自己设计的算法描述出来。
学生答案1:取百、十、个位数字,求他们的立方和,判断立方和是否等于原数,如果相等就是水仙花数,否则就不是水仙花数。
学生答案2:设x=abc,若a3+b3+c3=x,则x是水仙数,否则不是水仙花数。
2.指导实践
教师活动:
①肯定学生作答的正确之处,指出学生答案中的不足。
②教师讲述:在算法的基础上,用计算机语言把算法描述出来(编程),提交给计算机,计算机按程序执行。
在用自
然语言描述算法时,既要考虑到人的描述习惯,更要兼顾编程的需要。
算法描述中的每一步都应该是计算机能接受的算术运算、逻辑运算或能执行的动作。
就答案1和2而言,这样的描述对具备独立逻辑分析能力的人来说,解决相关问题已经足够,但对于只具有基本算术运算和逻辑运算的计算机而言,“取出百、十、个位上数字”、“设x=abc”这样的描述,计算机根本无法理解,不会
智能地运行,所以应该明确告知具体的运算对象和运算方法。
这也是算法的特征――算法的确定性和可行性,即每一步都要有确切的含义,能够被计算机执行。
③引导学生细化、完善他们刚才设计的算法。
(设计意图:①让学生了解,设计算法并不等同于用数学方法解决问题。
②算法的每一步都必须是计算机所能明白的,能够被执行的,指出算法的特征。
③通过实践一,学生对算法的概念有了比较深刻的理解,初步掌握了用自然语言描述算法的方法。
)
3.演示VB程序
教师活动:演示用VB编写的应用程序,并将程序代码
展示给学生。
学生活动:对照自然语言描述算法的各步骤,理解程序代码的意思。
(设计意图:使学生加深印象,理解算法描述与编程之间的关系。
)
(三)阶段小结
教师讲述:算法描述应按数字化输入、存储、计算、输出方式来描述,才符合数字计算机本质。
这是确保算法编码化(程序化)的关键。
每一步必须明确告诉计算机所要处理的具体对象和准确的处理过程,也就是说,算法的描述要尽可能精确、详尽。
(四)用流程图描述算法
教师活动:
①回顾先前的“人鬼游戏”和“水仙花数”的算法描述,分析用自然语言描述算法的优缺点,并引出用流程图描述算法的方法。
②以“水仙花数”问题为例,详细介绍流程图的基本图形、功能以及如何用流程图描述算法。
学生活动:掌握用流程图描述算法的方法。
(设计意图:让学生掌握用自然语言、流程图描述算法的方法。
通过实例,掌握对顺序结构、分支结构的流程图画法。
)
(五)学生实践二
教师活动:布置学生实践任务――用流程图描述“人鬼过河”游戏的算法。
(设计意图:通过实践练习,让学生掌握顺序结构流程图的画法,并记住流程图各图形的功能。
)
(六)学生实践三
教师活动:
①布置学生实践任务――设计实现两数交换的算法,并用自然语言和流程图描述。
②教师点拨:这个问题看起来简单,但很多学生却出现了错误。
教师以实际生活中两杯不同溶液进行交换为例,提示学生,引入第三个变量解决此问题。
③教师提问:除了引进第三个变量外,也可从数学的运算入手实现两数交换,这应该怎样设计算法?
学生活动:学生运用刚学的知识解决问题。
经教师点拨,马上改正错误。
(设计意图:①学生通过实践掌握用自然语言、流程图描述算法。
②让学生在探究中提高:同一问题可以有不同的算法。
)
(七)学生实践四
教师活动:布置学生实践任务――设计求出所有水仙花数的算法,并用自然语言和流程图描述。
教师点评:要求出所有水仙数,只需要把所有的三位数判断出来就可以。
可设置要判断的数为X,X的值从100开始,每判断完一次X,X的值便增加1,进而进行下一轮对X 的判断,直至X的值变化至999为止。
学生活动:学生分析问题,设计算法。
(设计意图:提高难度,让学生对三种不同程序结构的流程图都掌握。
)
(八)自主归纳
教师活动:引导学生从这几个题目的算法归纳总结出算法的特征。
学生活动:在教师的提示、引导下归纳总结算法特征,得出结论――至少有一个输出、可行性、确定性、有穷性、可以有多个输入,也可以有零个输入。
(设计意图:培养学生归纳总结的能力。
)
(九)总结
教师:计算机不管解决什么问题,都得经历编写程序、执行程序、解决问题的过程。
编程就是用计算机语言实现算法,可见算法在程序设计中的地位。
从前面两数交换的例子可以看出,一个问题的算法并不是唯一的,不同的算法之间也有优劣之分,在设计算法时应追求最优算法。
那么如何判断一个算法的优劣呢?“水仙花数”问题有没有最好的算法呢?
(作者单位:福建泉州第五中学)。