算法和算法的描述教案
- 格式:doc
- 大小:187.50 KB
- 文档页数:4
算法和算法的描述教学设计(写写帮推荐)第一篇:算法和算法的描述教学设计(写写帮推荐)算法和算法的描述(教学案例)教材分析:这节课内容主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。
学生分析:学生基本上没有接触过编程,那么在高中阶段初步接触编程,学生首先会感到很深奥,看到书中的程序语句,尤其是看到后面的长一点的程序语句更是觉得可怕,那教师必须要考虑在授课中如何正确引导,以什么样的方式进行。
学生有没有兴趣学,往往看这个课是不是有意思,难不难学,一看难学又乏味,就开始产生厌学的情绪。
教学目标:引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,为程序设计打好基础。
教学重点:算法的概念、算法的设计和选择。
教学难点:如何科学合理的选择和设计算法。
教学方法:与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。
教学过程:1、引导学生对编程的兴趣(1)教师:同学们喜欢玩电脑游戏吗?(2)学生:喜欢!(说到游戏学生总是表现出很浓的兴趣。
)(3)教师:在上机练习课的时候,总发现有个别同学偷偷的玩游戏,其实你们喜欢,老师也很喜欢,那么同学们想不想自己编个游戏来玩呀?(4)学生:会不会很麻烦!(学生表现出好奇,又对编程心里还没有底。
)(5)教师:不用担心,编程并不像你们所想像的那样难,很快你们就会编一些小游戏程序了。
其实编程是件非常有意思的事情,在以后的学习中你会发现自己越来越喜欢编程,甚至会着迷的。
2、算法的概念(1)教师:幻灯片出示一个经典的趣味性例子, 有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河?(2)教师:分组讨论,前后四个同学为一组,把你们的橡皮擦放到一块,分别写上狼、羊、白菜,你们自己是牧羊人,现在请同学们来设计一个方案,把3样东西安然无恙的带过河。
3.3算法及其描述教学设计(逐字稿)一、单元教学目标:1、从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。
2、懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点。
3、在利用数字化工具解决问题完成任务的过程中,构建知识、培养技能、发展思维,促进信息技术核心素养达成。
二、课时教学目标与评价目标(课标质量描述):1、理解算法的内涵2、掌握算法的特征3、了解算法描述的三种基本方法,了解其优势与不足4、掌握流程图描述算法的方法三、学科核心素养(课时):计算思维:个体运用计算机领域的思想方法,在形成问题解决方案的过程中,产生的一系列思维活动。
能采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成问题解决方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中。
四、教学思路:从生活中的实例出发,建立算法的表象。
通过归纳总结找到算法的内涵,形成算法的概念。
在三个算法实例中,通过比较、分析归纳出算法的特征。
在活动过程中认识三种算法描述方法并理解各自的优缺点。
五、教学重难点重点:掌握流程图描述算法的方法。
难点:算法的定义教学过程:一、导课上节课我们初步了解计算机解决问题的一般过程。
其中,设计算法是问题解决的重要环节。
请阅读课本上算法的定义,结合活动一体会算法的内涵。
二、授课(一)算法的定义1.为了解决一个问题而采取的方法和步骤,就称之为算法(广义)。
在信息技术领域,我们关心的是用计算机做工具解决问题,所以这里的算法更具体一些:指计算机能执行的算法(计算机求解某一问题的方法,是能被机械执行的动作或指令的有穷集)。
做任何事都有一定的步骤。
例如,从万荣到天安门参观,首先买票,按时乘车到北京站,换乘地铁或公交到达天安门,参观,然后返回。
再比如取快递,首先查看取件码,告诉快递员,取件。
初中升高中,首先中考报名,缴费,参加中考,报志愿,拿录取通知书,到被录取学校报到。
《算法和算法的描述》教学设计一、教材分析:本节课是高中信息技术选修模块一《算法与程序设计》第一章第二节的内容,主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。
二、学生分析:在数学中已学过程序设计模块,对算法有一定的初步基础,学习了结构语言的三种结构,并能编写一些较简单的程序。
但是学生对结构的掌握并不是很熟练,他们对编程存在一定的畏惧情绪。
三、教学目标:1.知识技能:(1)理解算法的概念;(2)能初步利用算法解决简单的问题。
2.情感领域:培养学生的理论联系实际能力和动手操作能力。
3.能力发展:培养学生自我探索信息,高效获取信息、分析评价信息、处理运用信息、表达呈现信息的能力,通过作品的制作、反思和评价,进一步提高其信息素养。
引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,激发学生的编程兴趣,为程序设计打好基础。
四、教学重点:1、算法的概念2、算法的特征五、教学难点:3、算法的描述六、教学手段:与学生进行互动探讨式教学,以趣味问题激发学生探索解决问题的兴趣,以故事事例引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。
八、教学评价1、贯彻新课标的理念,利用问题导学法教学,整个教学思路清晰,教学设计环环相扣。
2、案例的设计结合教学内容与学生的实际,能够很好地引导学生对学生重点与难点的把握。
3、举例简单明了,容易理解,并能够达到预定的教学效果。
4、算法的描述作为本节课的难点内容,,学生基本能够掌握与消化。
九、教学反思1、本节课的教学设计充分考虑到学生在数学模块中对算法已进行了初步的学习,故对本节课的内容和数学模块中的算法进行了比较详细的研究,确定了本节的教学重点与难点,从这节课的教学过程来看,把握是比较到位的。
对于算法的选择,在数学中并没有过于深入的讲解,本节课通过问题三和问题四的设置,可以让学生对此有较深入的理解,从课堂效果上来看,基本达到预定目标。
思考:刚才的语言描述解决买文具问题时相对比较乱, 有没有更清晰的表达方式?
2.用流程图描述算法
用流程图描述算法是用程序框图来描述算法的一种表示方法。
表3-4流程图的基本图形及其功能表示
思考: 计算机能够帮助我们求解吗?
3.用伪代码描述算法
用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。
t=0
for x in range(1,9):
for y in range(1,11):
for z in range(1,13):
if x*6+y*5+z*4==50:
{t=t+1;
输出解的个数t和三个整数x, y, z}
分析归纳算法三种描述方法的优劣:
三、算法的三种基本控制结构
这三种基本控制结构的主要作用是:
1.顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。
2、选择结构表示程序的处理步骤出现了分支, 它需要根据某一特定的条件选择其中的一个分支执行。
选择结构有单选择、双选择和多选择三种形式。
3、循环结构表示程序反复执行某个或某些操作, 直到某条件为假(或为真)时才可终止循环。
3.循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)
试结合教材P50“图3-8 求整数解的流程图”, 说明算法流程图描述是如何综合三种基本控制结构组合来表示的。
一、算法的含义与特征。
《算法和算法的描述》教学设计一、教材分析:本节课是高中信息技术选修模块一《算法与程序设计》第一章第二节的内容,主要是一些概念和理论,而算法的概念和理论都太抽象,如果单纯靠老师讲解会来非常的枯燥乏味,那么如何把这些抽象的东西变得通俗易懂,如何更加贴近学生的生活,使学生能轻松而又愉快的接受并理解就成为这节课设计的一个重点。
二、学生分析:学生第一节课进行了程序设计的体验尝试,每个同学再帮助文件的引导下完成了一个“简易计算器”的制作,经历了计算机解决问题的一般过程,但是对于如何进行程序设计还是非常陌生的。
同时学生已有的相关经验事:在数学中已学过程序设计模块,对算法有一定的初步基础。
但是对于计算机程序中的算法还是非常陌生的,是零基础的。
三、学习目标:• 1.找出牧羊人过河问题的两种解决方法在游戏中验证,尝试用自己话说出自己对算法的理解和算法的五大特征。
• 2.尝试用自然语言、流程图描述求解ax+b=0 的过程,对比分析说出各自优点和不足。
• 3.结合“猜数字”游戏,理解并应用算法优化找到“猜价格”电视节目的解决方案。
四、教学重点:1、算法的概念2、算法的描述3、算法的设计五、教学难点:如何将枯燥抽象的算法的概念让学生真正“看得见摸得着“的实际问题,如何变抽象的问题为具体可执行的问题。
六、教学手段:与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,理解算法的特征,并能以此解决实际问题,通过解决ax+b=0 这个问题算法的描述,最后通过解决“猜价格“实际问题结合设计游戏程序引导学生如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。
七、教学过程:教师针对问题一的过河方案,提出以下问题:问题1:这个方案总共有多少步?问题2:刚才同学们把第二步和第三步可以改变先后顺序,其它顺序还能不能颠倒,比如说:第一步先过狼?问题3:通过以上例子,我们能不能总结出什么是算法?问题4:你是怎样记录或者描述你的解决方法的?【游戏验证】,小组讨论这个问题的解决方法,大家得出解决方案后提供“农夫过河问题“游戏,让同学嗯真正体验验证该方案是否能够成功【算法的特征】给出学生算法的特征,引领同学们结合实例进行思考理解输入:有个(通过过河问题思考得出答案)输出:有个(举例求圆形面积周长得出结论)有穷性:一个算法在执行有穷步之后必须结束。
一、教学目标1. 知识目标:- 学生能够理解算法的基本概念和特点。
- 学生能够掌握算法描述的常用方法,如自然语言描述、伪代码描述和流程图描述。
- 学生能够识别和分析简单的算法。
2. 能力目标:- 学生能够运用自然语言、伪代码和流程图描述算法。
- 学生能够设计简单的算法解决实际问题。
- 学生能够分析算法的效率,并进行优化。
3. 情感目标:- 学生能够培养对算法的兴趣和探索精神。
- 学生能够体会到算法在解决问题中的重要性。
- 学生能够增强团队合作意识和问题解决能力。
二、教学内容1. 算法的基本概念和特点。
2. 算法描述的方法:自然语言描述、伪代码描述和流程图描述。
3. 简单算法的设计与实现。
4. 算法效率分析。
三、教学过程第一阶段:引入与概念理解1. 引入环节:通过实例(如排序、查找等)引入算法的概念,让学生感受到算法在日常生活中的应用。
2. 概念讲解:讲解算法的基本概念和特点,如确定性、有限性、输入、输出等。
3. 小组讨论:分组讨论算法的特点,加深对概念的理解。
第二阶段:算法描述方法1. 自然语言描述:通过实例讲解如何用自然语言描述算法,如冒泡排序的描述。
2. 伪代码描述:讲解伪代码的基本语法,并展示如何用伪代码描述算法。
3. 流程图描述:介绍流程图的基本符号和绘制方法,通过实例让学生绘制流程图描述算法。
第三阶段:算法设计与实现1. 案例分析:分析已给出的算法案例,如冒泡排序、插入排序等。
2. 学生实践:让学生分组设计并实现一个简单的算法,如排序或查找算法。
3. 成果展示:各小组展示自己的算法设计,并进行互评。
第四阶段:算法效率分析1. 效率概念:讲解算法效率的概念,如时间复杂度和空间复杂度。
2. 效率分析:分析所设计的算法的效率,并探讨优化方法。
3. 优化实践:学生尝试优化自己的算法,提高其效率。
四、教学评价1. 课堂参与度:评价学生在课堂讨论和实践活动中的参与程度。
2. 算法描述能力:通过作业或测试,评价学生用自然语言、伪代码和流程图描述算法的能力。
算法和算法的描述(教学案例)教材分析:这节课内容主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。
学生分析:学生基本上没有接触过编程,那么在高中阶段初步接触编程,学生首先会感到很深奥,看到书中的程序语句,尤其是看到后面的长一点的程序语句更是觉得可怕,那教师必须要考虑在授课中如何正确引导,以什么样的方式进行。
学生有没有兴趣学,往往看这个课是不是有意思,难不难学,一看难学又乏味,就开始产生厌学的情绪。
教学目标:引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,为程序设计打好基础。
教学重点:算法的概念、算法的设计和选择。
教学难点:如何科学合理的选择和设计算法。
教学方法:与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。
教学过程:1、引导学生对编程的兴趣(1)教师:同学们喜欢玩电脑游戏吗?(2)学生:喜欢!(说到游戏学生总是表现出很浓的兴趣。
)(3)教师:在上机练习课的时候,总发现有个别同学偷偷的玩游戏,其实你们喜欢,老师也很喜欢,那么同学们想不想自己编个游戏来玩呀?(4)学生:会不会很麻烦!(学生表现出好奇,又对编程心里还没有底。
)(5)教师:不用担心,编程并不像你们所想像的那样难,很快你们就会编一些小游戏程序了。
其实编程是件非常有意思的事情,在以后的学习中你会发现自己越来越喜欢编程,甚至会着迷的。
2、算法的概念(1)教师:幻灯片出示一个经典的趣味性例子,有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河?(2)教师:分组讨论,前后四个同学为一组,把你们的橡皮擦放到一块,分别写上狼、羊、白菜,你们自己是牧羊人,现在请同学们来设计一个方案,把3样东西安然无恙的带过河。
我们来比一比看哪组同学最快完成。
课堂立即活跃起来,同学们把它当作一种游戏全都投入进去了,积极思考起来。
(3)很快就有学生举手回答。
过河的方案:第一步:人和羊过河,人返回,留下羊;第二步:人和狼过河,人和羊返回,留下狼;第三步:人和菜过河,人返回,留下菜;第四步:人和羊过河。
(4)教师:同学们这个方案行不行?(5)学生:行。
(6)教师:还有没有其它方案?(7)学生:还可以在第二步时,人和菜先过河,人羊返回,留下菜;第三步,带狼过河。
(8)教师:刚才同学们把第二步和第三步可以改变先后顺序,其它顺序还能不能颠倒,比如说:第一步先过狼?(9)学生:不能。
(10)教师总结出算法的概念:同学们说的不错。
那什么是算法呢?这个过河的方案就是这道趣味题的算法。
请同学们记住一句话:算法就是解决问题的方法和步骤。
在以后的编程中也要记住了,有些步骤是可以颠倒的,不影响程序的结果;但是有些一但颠倒了那最终的结果也就全变了。
3、用流程图来描述算法(1)教师:幻灯片放映,出示例题:某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5元的基础上打8折。
请同学们告诉我该怎么计算应付款?(2)学生:首先称好苹果,超过2千克,应付款为:苹果重量*1.5*0.8 ;如没超过,应付款为:苹果重量*1.5(3)教师:放幻灯片,演示流程图。
好,这个同学刚才给出了算法。
现在我用一个图来把这个过程描述一下。
(4)教师:解释这个图的执行过程。
问:同学们,告诉我这是什么图啊?(5)学生:流程图。
(6)教师:幻灯片出示:流程图的基本图形及其功能(7)教师:我知道大家在数学课程里,学习过用流程图来描述算法。
有了你们数学课的一点基础,那么我们现在学习起来就比较容易。
流程图是描述算法常用的工具,容易表达,结构清晰简洁,有利于不同环境的程序设计。
在以后的学习中,我们还会充分利用流程图来帮我们分析问题。
4、算法的设计与选择(1)教师:大家在做题时,是不是有时候一道题有多种解法?(2)学生:是。
(3)教师:我给大家讲个故事:200年前的一天,一位数学教师走进课堂,也许是想清静一个小时,给四年级的学生们布置了一道题:从1加到100。
5分钟后,一个学生走到他跟前,交上了正确答案,这时他是多么吃惊呀!这怎么可能呢?这个孩子一定是个天才。
(4)教师:请大家告诉我1加到100等于多少?、(5)学生:5050(6)教师:你们是用什么方法计算的?(7)学生:首尾相加后,再乘以100,即(100+1)*50=5050(8)教师:这无疑是一种很好的算法,既简单实用,效率也高。
1+2+3…+100最终也能加到结果,但是计算的过程大家可想而知。
解决问题的方法,也许有很多种,但是运用不同的方法却会产生不同的效果。
我们编写程序也是一样,你使用不同的算法,也会产生不同的效果。
说归说,我们再来看一个例子。
幻灯片出示:求9147485和5147480两个数的最大公约数。
(9)同学们你们是怎么计算的?(10)学生:用“辗转相除法”计算。
(11)教师:好,请你们来计算一下。
(12)学生:数这么大很难算啊!(13)教师:同学们别着急,有两个同学已经编写了解决这个问题的程序。
大家一起来看一下。
(幻灯片出示)(14)教师:同学甲编写的程序用的算法是“辗转相除法”;同学乙用的算法是“穷举法”,从5147480开始,每次减1,一个个的进行判断,直到找到为止。
好,我们分别来运行一下,请同学们注意观察。
教师:启动VB,运行同学甲的程序:第1次运行输入:9147485和5147480 , 结果:5第2次运行输入:45684和58460 , 结果:4第3次运行输入:8654726和675942 , 结果:2运行同学乙的程序:第1次运行,大约5秒钟后显示结果:5第2次运行,大约5秒钟后显示结果:5(15)教师:请学生回答观察到的现象。
(16)学生:甲的运行速度快一些,还可以求其它组数的最大公约数,而乙只能计算这一组。
(17)教师:同学们观察得很好!那你们认为那个算法好一些呢?(18)学生:甲。
(19)教师:对。
算法的设计,直接影响着程序的通用性和解决问题的效率,总的来说,一个好的算法,应该是科学而又合理的算法。
实践练习:一天,小猴子从树上摘下若干个桃子,当即吃了一半,觉得不过瘾,又吃了一个。
第二天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。
以后每天都是吃前一天剩下的一半后,就再多吃了一个。
到第四天,只剩下一下桃子。
试设计一个算法流程图,求小猴子第一天摘下了多少个桃子。
教学评价:1、贯彻新课标的理念,进行探究式教学,提出问题、进行探究、注重实践、互动交流,充分发挥学生的主观能动性。
2、举例简单明了,容易理解,学生学习起来兴趣浓厚。
3、课堂气氛活跃,生动有趣,不枯燥乏味,学生在轻松愉快的过程中较好的掌握了算法的概念,理解算法的设计和优劣的选择。
教学反思:学生初步接触编程,他们会觉得编程很难学,但同时又处于一种观望的状态,到底这个好不好学,有没有意思啊?学生虽然是学习的主体,但教师如何设计好这堂课的内容,往往对学生在以后的编程学习有无兴趣继续学起关键作用。
用趣味性的例子,提起学生探索和解决问题的兴趣,总结出算法的概念;以故事形式和具体的程序对比,与学生一起探讨,理解如何科学合理的选择算法。
教学中如何因材施教,充分调动起学生积极的学习态度,主动地去思考,参与到课堂中的讨论中来,教师应多想些办法。
对于有些同学的“两耳不闻课堂事”,我想不仅有其自身的原因(如不重视等),也有老师的责任(如教的内容学生不感兴趣等)。
毕竟问题是两方面的,只有两方面都解决好了,才能上出一堂高质量的课来!点评:1、贯彻新课标的理念,开展师生互动探究式教学,首先要激发起学生的学习兴趣,“兴趣是最好的老师”。
学生愿意学,才会认真听课;学生肯学,才有继续学下去的动力。
张老师这节课从激发学生兴趣开始,无疑是开局的妙着。
2、通过游戏、故事引入新课,学生容易进入角色。
让学生在轻松愉快的过程中学习新课内容,既完成了教学任务,又令学生觉得意犹未尽,还想再学。
学生不再把上课当成负担,而是一种享受,那教师不是更快乐吗?张老师这节课,学生一定喜欢,效果也肯定会好。
3、案例中4、算法的设计与选择(13)教师演示VB程序,此时学生还不懂VB程序的语句及编程方法,看不懂演示出来的程序,也无从判断它的算法,更不会去比较其优劣了。
这里可否改为用流程图加上教师通俗的讲解来让学生理解算法的选择优劣,直接影响到程序的通用性和有效性,影响到问题解决的效率。
在这里要注意“循序渐进”的教学原则,不然学生就会卡壳在这一个环节上,便影响了后续的学习。
4、要上好《信息技术》课,还需我们不断的改革和努力!高考不考这门课,学校不会重视,学生也不当它一回事。
如果我们《信息技术》课教师也不多想办法,那就更加恶性循环,肯定上不好了!我们要用不懈的努力去争取这门课的地位,“孱弱就要挨打”,国与国之间是如此,学校科与科之间又何尚不是如此?。