第一篇:《算法的设计与描述》教学设计
《算法的设计与描述》教学设计
一、教材内容、学情分析(1)教材分析
本节内容为教科版算法与程序设计第一章第二节,通过1.1 节的学习,学生已经了解了计算机解决问题的基本过程,并知道算法是程序设计的灵魂,只要算法正确,就可以用任何一种语言编写程序,再加之本节的学习,更加加深的学生对算法的了解。为后续章节学习程序设计、算法的程序实现打下一定的基础。(2)学情分析
此阶段学生为高二第一学期的学生,在高一的基础上已经对计算机的基本操作及信息的获取处理方法有了一定的掌握。数学方面也已经具备了函数、数列等方面的知识,能够解决计算机中遇到的一些问题。但我校学生很大一部分都是农村学生,基础差,知识的掌握程度差,所以要更加注重基础,课堂用例不能太难,注重循序渐进的教学,分层教学。
二、教学目标
知识与技能:进一步理解什么是算法,知道算法的多样性;能够对设计的算法做简单的评价;学会利用自然语言、流程图和伪代码来描述算法。
过程与方法:培养学生用算法描述问题的能力和正确解决问题的过程。
情感态度价值观:使学生养成遇到问题,找出算法,分析算法的意识。培养学生的高阶思维能力,如综合、评价、分析、思辨。
三、教学重难点
重点:用自然语言流程图伪代码描述算法
难点:用流程图描述算法
四、教学方法及策略
本节课主要通过大量实例及一题多解的方法,帮助学生理解学习,对比式学习,问题引导,先实例展示,后讲解,后总结的方法,适合学生的学习认知顺序,是知识点之间的衔接浑然天成。由易到难的顺序,不至于使学生产生思维跨度。知识点纲要、图文并茂、表格的形式使知识点形象直观容易理解。适当的讨论交流学习,让同学们很好的纠正自己的错误。以上各种方法让学生学会如何利用自然语言、流程图和伪代码来描述算法。引课实例为“农夫过河”的趣味游戏,它一方面可以激发学生的学习兴趣,另一方面可使学生清楚算法的概念,学会利用自然语言描述算法的方法;第一个实践活动“找出1+2+3+……100的方法”,让同学们对不同的算法进行比较,能对不同的算法做出评价,感受算法的多样性与复杂性;第二个实践活动“用自然语言描述求解ax+b=0的过程”,进一步巩固自然语言的描述方法,为后面的学习用流程图描述做铺垫;流程图学习阶段,与自然语言描述进行对比,贯之以实践三“读解一元二次方程流程图,填空”,典型的数学问题,使学生掌握用流程图描述算法的方法;伪代码学习阶段,采用循序渐进的方法,引导学生学习,冠之以实例帮助学生理解。最后对知识点进行小结,完成课后实践
五、教学过程 1.课堂引入
老师:由“农夫过河”游戏引入:算法的概念,算法是程序设计的灵魂,找到合适的算法是程序设计的前提 , 算法的设计分为两个内容:一是寻找一种方法;二是描述实现这个方法的步骤,我们这节课的重点是学习如何描述算法。算法特征的讲解。
学生:玩趣味游戏,找出解决农夫过河问题的方法和步骤,理解算法的概念,特征,地位。
设计意图:通过游戏,激发学生的学习兴趣,顺理成章的引入对本节内容的学习。适当的扩展算法的特征,帮助学生理解。2.学生自主讨论完成实践活动一
学生讨论:学生找出求解“1+2+3+4……+100”的不同算法,看看哪种算法的效率高,体会算法的多样性与复杂性。
老师总结结论。3.用自然语言描述算法
老师讲授:
(1)自然语言 —— 人们日常生活中使用的语言。
(2)自然语言的特点:通俗易懂,缺乏直观性,不简洁,且易产生歧义。如很多同学的描述语句和说法相差较大。使用自然语言的注意事项:描述要尽可能精确,详尽。
学生活动: 实践活动二:用自然语言描述求解ax+b=0的过程,巩固所学,为学习流程图做一定的铺垫。4.流程图描述
老师活动:
用自然语言描述算法比较容易接受,但叙述冗长,容易产生 “ 歧义 ”。下面我们再来学习另外一种最常见的算法描述方式——流程图。
(1)给学生展示求解方程ax+b=0的流程,对比自然语言描述,产生共鸣。(2)结合具体实例讲解组成流程图的各种元素,之后列出组成流程图基本元素。(3)总结流程图优缺点:用流程图描述算法直观易懂、逻辑关系清晰,不容易产生歧义。
(4)结合求解ax2+bx+c=0的流程图,巩固讲解流程图相关知识。
学生活动:
(1)看解ax+b=0的自然语言和流程图,感受流程图描述的优势,完成对比表格。(2)实践活动三:读解一元二次方程流程图,填空。
设计意图:由简到难,逐步引导,图文并茂,帮助理解,对比学习,产生共鸣。
5.用伪代码描述算法
老师活动:
(1)伪代码表示举例讲解
(2)两个实例讲解
①判断某个数是否偶数
②伪代码描述求解ax+b=0的过程(3)总结式讲解
伪代码(Pseudocode)是介于自然语言和计算机程序设计语言之间的一种算法描述。它也是专业软件开发人员描述算法的一种常用方法。没有严格的语法限制,书写格式也比较自由,描述的算法简单、易懂,容易修改,且容易转化为程序语言代码。
学生活动:听老师讲解,在老师的引导下,完成对两个实例的讲解,对知识点的掌握 6.课堂总结
(1)算法是指解决问题的方法和思路。(2)算法的特征(2)描述算法的形式有多种,常用的有自然语言、流程图和伪代码。展示同一个问题的三种描述方法,学生对比感受,起到对知识点升华的作用。(3)好的算法需要我们分析、比较、挑选。
六、教学反思
通过本节的教学好的地方在于:以游戏的方式引课,调动学生的学习兴趣。整堂课贯穿着大量的实例帮助学生学习巩固,实例都是由易到难,老师适当引导,帮助各类学生理解,充分的考虑到学生的学情。在讲解三类方法时,始终都是对比式学习,并没有把某个知识点孤立起来。适当的给学生扩展了一些知识点。整堂课程脉路比较清晰。再者就是课堂气氛比较活跃。
不足之处就是:课堂有些地方语言不够精炼。学生活动不是很充分,学生活动的设计不是很到位,课堂上老师与学生的互动较少。学生与学生之间的互动交流也较少,由于受到学生基础的限制,如打字,有部分学生没有很好的完成实践活动。有些知识点没有讲透。由于实践贯穿在课堂,学生做完后只是做了简单的评价,没有详细的评价,课后也没有系统的评价,没能给学生纠正出常见的错误,实践活动的重难点也没有突出出来,没有把知识点做出全方位的诠释。
优点是可以看到的,但存在的缺点也很多,希望在以后的教学中自己能够多多锻炼,慢慢的改掉自己的不足的地方,多多向有经验的前辈请教,希望自己的课能够越上越好。
第二篇:算法教学设计
3.4算法及其表示 智能吸尘器算法简单分析
【教材分析】 本节教材的地位、作用等分析。
本节教材位于高中信息技术必修模块第三章中:“算法及其实现”部分内容,本节课的学习目的是使学生体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;体验信息技术中算法的魅力,为学生选修算法模块奠定基础。
【学情分析】
算法是我们信息技术基础模块的最难的一块内容,课时又少,只有两课时,如果初中信息技术正常开展,那么这个内容也容易开展。
【教学目标】
1.知识与技能
理解算法的含义,体会算法在程序设计中的地位; 培养用计算机编程解决现实问题的能力。2.过程与方法
能通过观察吸尘器的工作来分析其算法,培养学生用程序设计的思想来思考产品。3.情感态度与价值观
引导学生了解程序设计的更多知识,体验信息技术的强大魅力; 激发学生对计算机编程解决现实问题的学习欲望,提高学习兴趣。渗透人文教育,懂得感恩。
【重点难点】
教学重点:算法的特征;算法的表示 教学难点:对算法的理解,流程图
【设计思想】
新课标强调要“培养解决问题的能力,倡导运用信息技术进行创新实践”,以前教学中我一直从面到点,先讲算法的定义和特点,再举例,效果不是很好,学生印象不深,往往到学期结束的时候,对算法印象全无。
因此,这次在设计本节内容的时候,在选择实例的时候,我从两点考虑:一是生活化,选择的例子尽可能贴近生活,既要达到吸引学生的目的,又能体现技术的真实内涵(现在的学生,生活自理能力太差了);二是通过把抽象的问题分析成为具体步骤或方法,从而形成算法,让学生理解计算机解决问题的基本过程。
我在选择实例的时候,尽量让这个例子能贯穿整堂课,把一个问题分析透,印象会深刻。
【教学流程】
导入
师:喜欢干家务吗? 生:不喜欢
师:可是有一个人就是无怨无悔的做着家务(渗透人文教育,懂得感恩)生:谁?
师:“马大嫂”,你们认识“马大嫂”吗?每个家庭都有。生:领悟
师: “马大嫂”在我们同学们的年纪时,也是不喜欢干家务的,是什么让他们无怨无悔的干着家务?作为他们的孩子,我们有没有想过替他们分担一点?或者当我们长到“马大嫂”的年龄,我们能不能让家庭生活轻松一些?
生:讨论
师:家庭的智能化脚步离我们越来越近,我们的生活里随处可见,比如有定时功能的家电,洗衣机、洗碗机,今天我给大家推荐一款“买汰扫”的扫:智能吸尘器。(引导学生用计算机编程来解决现实问题)
首先声明,我不是搞推销的,而是带领大家去设计生产产品的。今天我们一起来分析、设计一款智能吸尘器。
首先,我们分析一下原始的手工操作吸尘器的工作需要几步? 新课(先把复杂的问题简单化,得出大的方向,然后逐步细化)生:三步,打开电源、开始工作、关闭电源
师:看来你们都是宋丹丹的徒弟,其实这也是我们用计算机解决实际问题的思维:先设计算法、再编制程序来实现算法。
师:什么是算法呢?算法是解决问题的方法和步骤,同学们用的是自然语言描述的算法,我是用流程图来描述算法。
算法描述的方法和步骤应该是有限的,有开必有关;有Begin必有End;
同学们是不是有被忽悠的感觉?有,就说明了我们的同学想的更远了,是啊,我这个算什么算法,跟本没解决什么问题,对了,算法还有一个定义,解题方法的精确描述,我这个算法的步骤有了,但不够精确描述,所以我们要自顶向下,逐步求精。师:你们说哪个步骤需要细化? 生:第二步
师:那你们觉得吸尘器要体现智能,应该从哪些方面考虑? 生:讨论
归结你们的观点,主要有三个:设定清洁路线模块,躲避障碍物模块,自动充电程序 设定清洁路线模块
师:你们拖过地吗?如果让你来拖地,你会选择怎样的路线既能减少重复路线,又能全部覆盖? 好,我们模拟一下,(用flash 规定几个相同的区域,然后计时擦除)把橡皮擦当成我们的吸尘器,擦除前景颜色并计时,……通过大家的实践,我们可以看出几种方案比较科学,通过这个试验,我们知道解决问题的方法有很多,生活中也一样,关键是要选择合适的一种,达到既快又好.这是我们在最优环境下的情况,没有考虑实际情况。我们看看具体的设计
前面同学们提到躲避障碍物是设计的关键。躲避障碍物模块
师:躲避障碍物模块是体现吸尘器智能的关键一点,我们先分析碰到墙壁怎么处理,只要碰到墙壁能处理,其他的是不是也是一个道理?
现在我请同学们描述一下碰到墙壁这个算法。
真了不起,你们用自然语言描述了这个算法,我习惯用流程图来描述。请看我的算法
这个算法同样比较粗糙,我们一起把它修正一下,首先要确定哪些地方需要细化,对了,是怎样判断“有没有碰到墙壁?”,这是核心,你们认为怎样判断好?请大家在纸上设计设计
还有没有其它需要修正的?对了,怎样“转变方向”也要细化,你们认为怎样改变方向好?
就这个流程图本身,还有什么地方需要修正的吗?Y和N线路里有相同的语句,我们可以把
它提出来,放在合并后的线路中.好,我们把经过大家修改后的算法称为智能清扫模块
自动充电程序
我们还少了一个关键模块,地没扫完,电没了怎么办?
现在请同学们参考智能清扫模块的流程图,画一画碰到电不足了那一刻怎么处理的算法。
学生上台画流程图,根据学生的流程图修正,得到循环结构。回顾小结
现在我们回顾一下我们设计智能吸尘器的过程:首先我们把复杂的问题简单化,设计了一个三步走的算法,然后,选择了一个最优路线,再设计了一个具有智能的障碍物躲避模块和自动充电模块,在第一个流程图里我们提出了算法要有开始和结束,即算法的有限性;最优路线里我们得出了最优算法;障碍物躲避模块我们提出了可行性和没有二义性。
针对以上算法,从开始到结束都离不开这三种情况,就像我们的生活,有可能一路直行、也有可能碰到分叉口、还有就是回到原路,还有没有其他的可能?这就如同我们的算法,所以这三种我们就称为基本结构,由这些基本结构组合成大的程序。
拓展
有了算法,程序实现就容易了,经过我们一起设计的第一代机器人初具模型,请看我们的作品(展示物体碰撞的动画),再看看我写的代码,一些简单的语句你们也看得懂,比如我们的核心模块„„
我们用一节课的时间就已经设计出这样的产品,如果学了一本书,读了四年的大学,你们的产品不知要好到哪里,到时候别忘了给全班同学发一个哦。
课外作业
研究了智能吸尘器,你们有什么启发?那么我们就一起设计一下自己未来的家庭生活吧?
只有想不到的,没有做不到的。想法高于一切,这个想法就是我们今天讲的算法,它不单单存在于我们的计算机行业,生活中处处可见,希望大家做个有心人,好好设计自己未来的生活,设计不好,继续马大嫂的生活。
第三篇:算法描述与设计教案
课型:新课 《算法与程序设计》(选修)人教版
教学目标:
1.进一步理解什么是;算法,知道算法的多样性
2.能够对设计的算法做简装的评价
3.学会利用自然语言、流程图和伪代码来描述算法
教学内容
1.了解什么是算法及其特征 2.学习三种描述算法语言
教学重点:通过例子设计算法
教学难点:三种描述算法语言的使用
课时数:1课时
正课讲解
一、算法是“灵魂”
1.算法存在于人们生活中,如:上街购物、顾客付款、营业员(主)找银等。
2.“韩信点兵问题”有不同的求解过程,就有不同的算法。
有N个人,除以3,5,7,分别余2,3,2,求N。
3.算法——解决问题的方法和步骤。
算法是尼克劳斯.沃斯(N.Writh)提出的,他指出:算法+数据结构=程序。
(即算法不能单独构成程序,它必须和数据结构合二为一)
4.算法的发现
时间:公元前3000年~公元前1500年 地点:巴比伦
巴比伦人求解“算法”的过程:先用解代数方法,再计算实际数目,最后写上一句短句“这就是一个过程”。
5.算法的特征
我们曾在必须修课中提过一点算法,如:冒泡排序法。
例:计算1+2+3+„„+100=?
分析:这个算法有限制范围,可以在有限时间内完成,这是算法的第一个特征:有穷性。计算此算法可以用纸笔、算盘、运算器
和计算机来完成,且计算过程是多样的,但结果是唯一的。这就是算法的可行性、确定性。
计算方法:
⑴把这100个数按顺序相加。
⑵用凑数法:1+99=100,2+98=100,3+97=100,„„,49+51,最后只剩下50和100。
⑶令S=0,使1≤n≤100,先执行S=S+n ⑴,再执行n=n+1 ⑵
n=1,S=0时,S(0)=1 n=2,S=1时,S(0)=3 n=3,S=3时,S(0)=6
n=4,S=6时,S(0)=10 n=5,S=10时,S(0)=15 n=6,S=15时,S(0)=21„„
算法的另外一个特征:输入、输出。
练习:水仙花数问题,如153=1^3+5^3+3^3,分析它应满足什么条件才能使用此方法?
二、如何描述算法
1.用自然语言描述算法
⑴自然语言——人们日常生活中使用的语言。
⑵此种语言的特点:通俗语易懂,缺乏直观性和简洁,且易产生歧义。
使用此种语言的注意事项:描述要求尽可能精确,详尽。
例:用自然语言描述凯撒密码的原理
第1步:输入26个英文字母,它们分别对应1~26个数学。
第2步:令a=1,k=3,n=26。
第3步:使a的取值范围为1≤a≤26,F(a)=(a+k)mod n,转第5步。
第4步:a=a+1,转第3步。
第5步:输出F(a)相对应的数字。
第6步:把数学转化成相当的字母,输出字母。
第7步:累计字母出现顺序,转第4步。
练习:现有一串字母“PROGRAM”给它加密,请设计算法,用自然语言描述。
2.用流程图描述算法
⑴特点:描述算法形象、直观,容易理解。
⑵流程图符号
3.用伪代码描述算法
特点:描述的算法简、易懂,修改容易,容易转化为程序语言代码。
例:分析课本经9页算法描述
第一个条件:y mod 4=0
判断闰年的条件:⑴y不能被100整除;⑵y能被400整除且y能被400整除。
判断不是闰年的条件:⑴y mod 4=0 且y mod 100=0,但y不能被400整除;⑵y不能被4整除。
表示条件判断语句 表示循环处理语句:
IF 条件 THEN 执行语句一 Do While 条件循环语句
ELSE执行语句二 Loop
END IF
条件语句中可以包含多个子语句
实践:用表格比较自然语言、流程图和伪代码3种描述方法的优缺点。
第四篇:算法教学设计
《基本算法语句》
教学设计
太原市第五十三中学
符权有
基本算法语句
课标要求与教材分析
当今世界,越来越多的事情交付计算机完成,而计算机完成任何一项任务都需要算法,因此算法是计算机科学的基础,但是用自然语言或程序框图描述的算法计算机是无法“明白”的,因此我们还需要将算法用计算机能够理解的语言表达出来,这就是通常驻机构所说的程序和程序设计,教科书中介结了输入语句、输出语句、赋值语句、条件语句、循环语句,尽管不同的程序设计语言有不同的语句形式和语法规则,但基本结构是相同的。因些书中的算法语言稍加改动就可以在某些程序环境下执行。
此外,与其它教学内容相比较,算法学习的一个最大的特点就是操作实践性强,因些对学生动手能力及思维的拓展有一定的帮助。需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
程序是由若干算法语句组成的有序集合,是由表示算法基本逻辑结构的算法语句组成的。任何高级程序设计语言都包含我们这一节所学的输入语句、输出语句、赋值语句、条件语句、循环语句,这五种算法与三种基本结构基本上是相对应的。因此教学中应注意以下几点:1.通过对具体问题的理解、分析,把具体问题的程序框图转换成程序语言,在这个过程中掌握基本算法语句中的输入、输出、赋值、条件、循环语句,从而进一步理解算法语句。2.在学习的过程中通过阅读中国古代数学中的算法案例,体会古代中国数学对世界数学发展的作用,提升民族自豪感。
学情分析
算法是数学与计算机的关联,在数学中有一的地位,学生前一阶段已经学习了算法的自然语言和程序框图设计,在此基础上,进一步把算法的自然语言转换成计算机能够识别的程序语言,使学生有一定的教学基础。
教学目标
1.经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想。
2.会利用输入语句、输出语句、赋值语句、条件语句、循环语句解决具体的问题,编写算法语言。
教学中需要注意的事项
1.重视对学生数学学习过程的评价
关注学生在数学语言的学习过程中,是否对用集合语言描述数学和现实生活中的问题充满兴趣;在学习过程中,能否体会集合语言准确、简洁的特征;是否能积极、主动地发展自己运用数学语言进行交流的能力。
2.正确评价学生的数学基础知识和基本技能
关注学生在本节及今后学习中,让学生集中学习算法的初步知识,主要包括算法的基本结构、基本语句、基本思想等。算法思想将贯穿高中数学课程的相关部分,在其他相关部分还将进一步学习算法。
输入、输出、赋值语句
教学目标
知识与技能目标:
1.正确理解输入语句、输出语句、赋值语句的结构及特点。2.会利用输入语句、输出语句、赋值语句编写简单的程序。
过程与方法目标:
通过对具体问题的探究,尝试用各种不同的方法解决问题,让学生充分感知、体验计算机程序在实际应用中的便利,明白数学与计算机学科的联系,为今后更深入地学习算法打下坚实的基础。情感态度和价值观:
通过本节的学习使学生认识到数学与计算机学科之间的关联,进一步体会到计算机的好处,提高学生对数学学科的兴趣。
教学重点与难点
重点:对输入语句、输出语句、赋值语句三种语句的理解。
难点:对输入语句、输出语句、赋值语句三种语句的熟练应用;能够准确理解赋值语句中的“=”的作用及意义。
教学方法与手段
学生自学为主,教师对学生易错的地方进行讲解,利用计算机等手段增强学生对算法语句中输入、输出、赋值语句的理解和应用。
教学流程
一、新课导入
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语言,使计算机能够识别并运行。为了实现算法中的三种基本的逻辑结构:顺序结构件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:
输入语句、输出语句、赋值语句、条件语句、循环语句
那么今天我们首先来学习前三种:输入语句、输出语句、赋值语句。
二、展示本节学习目标
1.在对实际问题的探究中正确理解输入语句、输出语句、赋值语句的结构及特点。2.在理解三种语句结构的基础上会利用输入语句、输出语句、赋值语句编写简单的程序。
三、探究新知
输入语句、输出语句、赋值语句属于算法结构中的顺序语句,是计算机自上而下执行的语句。它是程序中必不可少的环节。
输入、输出语句分别用来实现算法的输入信息,输出结果的功能,下面我们首先来看这两种语句的特点。通过阅读课本P21-P22页的内容,回答下列问题: 1.在课本中的例子中你们觉得哪些是输入语句、输出语句?
2.请你通过具体的例子总结输入、输出语句的特点。3.尝试着用输入、输出语句写几个具体的算法语言。
[学生]:先看书阅读,然后互相交流、议论、猜想得出结论,并进行尝试性的编写。在此过程中,教师应适当作引导,把学生的重点引到“INPUT”和“PRINT”这两个词语上来。[教师]:1.输入语句:
INPUT “提示内容”;变量
对于多个变量来说
INPUT 变量1,变量2···
和你自己总结出来的语句结构一样吗?如果一样请用它写几个例子;如果不一样请先纠正你的错误,再对它进行应用,编几个具体的例子。
[学生]:对这个格式进行应用,举例,由同桌之间互相进行检查、纠错。[教师]:2.输出语句:
PRINT “提示内容”;表达式
重复上述步骤。
[学生]:再对这个句型进行举例,同桌之间互相讨论、纠错。
[教师]:好了,在掌握了这两种语句的基础上,接下来我们研究赋值语句,请同学们阅读课本P23页最后两段到P24页第一段,总结一下什么是赋值语句,赋值语句的格式是什么? [学生]:先看书阅读,然后互相交流、议论、猜想得出结论,并进行尝试性的编写。[教师]:进行总结: 变量=表达式
这里需要注意是“=”与我们数学中的等号是不完全等同的,在数学中“=”前后的式子表示相等,但是在赋值语句中表示将表达式的值赋给了前面的变量,也就是说先有“=”号之后再有“=”之前,把后给了前。
讨论一个新的问题:对于赋值语句我们在应用的时候应该注意什么? [学生]:先进行分组讨论、分析、总结,然后进行回答:
1.A=B与B=A的意思不相同,前者表示把B的值给了A,后者表示把A的值给了B 2.赋值号左面只能是变量名称,而不能是表达式;也不能用赋值语句进行代数式的演算。
四、应用新知,例题精析
例1.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。
[分析]:要编写一个程序,首先要把这个问题写成算法的基本步骤,然后再转换成程序框图,再用基本算法语句表达出来;尤其在初学的时候更不能一蹴而就。[过程]:先由学生在练习本上探究、修正,然后由我公布答案。解:程序:
INPUT “数学=”;a INPUT “语文=”;b INPUT “英语=”;c y=(a+b+c)/3 PRINT “The average=”;y END [小结]:由学生先进行程序框图的设计,再进行编程。(这里要先让学生进行尝试性的动手,以调动学生学习的积极性,提高学习效率。)例2.阅读下面这个程序,它表示什么? A=10 A=A+10 PRINT A END [学生]:思考并进行解答。[小结]:这个例题要学生明白赋值语句的特点和易错的地方,如果学生将这个程序读懂了表示他基本已经理解了赋值语句。
例3.交换两个变量A和B的值,并输出交换前后的值。[分析]:考察赋值语句的应用,是例2的强化版本。[解答]:INPUT A INPUT B PRINT A,B X=A A=B B=X PRINT A,B END
五、课堂训练:
1.已知华氏温度与摄氏温度的转换公式是:
(华氏温度-32)*5/9=摄氏温度
编写一个程序,输入一个华氏温度,输出其相应的摄氏温度。解: INPUT “请输入华氏温度:”;x y=(x-32)*5/9 PRINT “华氏温度:”;x PRINT “摄氏温度:”;y END [分析]:考察学生对输入、输出、赋值语句的应用
2.编写一个程序,计算两个非0实数的加、减、乘、除运算的结果。解: INPUT “请输入a(a0)=”;a INPUT “请输入b(b0)=”;b X=a+b Y=a-b Z=a*b Q=a/b PRINT a,b PRINT X,Y,Z,Q END [分析]:考察学生对赋值语句的理解
六、小结
1.这节课我们主要学习了输入、输出、赋值语句的理解,掌握输入、输出、赋值语句的应用,明白数学与计算机科目的联系。
2.基中赋值语句是本节课的难点,有部分同学可能不易理解,需要课后的努力。
七、课后作业 学用通第48页: 1题,3题,4题
八、板书设计
输入、输出、赋值语句
一、新课导入
四、应用新知,例题精析
以具体的问题引入新课。对新学知识的典型例题进行讲解。
二、展示学习目标
五、课堂训练
三、探究新知 进行强化练习
以学生自学为主,六、小结 对新知进行探索
七、作业
九、目标落实检测
1.在赋值语句中,n=n+1是
A.没有意义 B.n与n+1相等 C.将的原n值加1再赋值给n,即n的值增加1 2.编写程序,计算甲、乙、丙三人的平均年龄。3.程序: a=1 b=2 c=a+b b=a+c-b PRINT a,b,c END 最后输出的值是谁?等于多少?
十、教学反思
本节课的教学中,主导思想让学生自学为主,教师引导为辅,充分调动学生的学习主动性,在自己探索中学习、成长,掌握本节课的主要知识。由于学生的基础较差,导致在实际的实施中讲的东西较多,练的较少,这应该在以后的教学活动中加以改进,争取在下一阶段的教学中,让学生养成先预习后学习的良好学习习惯,夯实学生的基础,为进一步学数学,学好数学做好充分的准备。
在具体的教学中,发现部分学生不会阅读课文,不能从文中找出相关的、主要的信息,看书以片面的,跳跃的方式来处理信息,由于是新学课,采用这几种方式,很容易将课本中的一些对知识进行总结的话露掉,而这些话又恰恰是非常重要的经验总结,必须要让学生进行理解和应用,因此会看书、读懂题,这是我的学生现在面临的很重要的两个弱点,这需要我在以后的教学中慢慢加以引导,教会学生怎么样从课本中提炼出我们需要的信息及答案,这是一个长期的过程而且对学生今后在数学方面的发展有着重要的作用,应该加以注意。此外,由于这节课我在两个班都进行过教学,第一个班采用的传统的析书形式,第二个班采用的多媒体,很明显,在第一个班最后的教学内容的含量不如在第二个班的教学内容多,而且在第二个班用多媒体学生更容易理解这些生硬的算法语句,可见在一些课时的设计过程式中我们应该应用多媒体进行辅助的教学,有利于学生更好的对知识的理解和把握,提高我们的课堂效率。
个人简介
符权有 2008年毕业于忻州师范学院数学系,同年进入忻州师范学院附属外国语中学担任数学的教学工作以及班主任的教育工作,所带班级成绩优异,学风良好。本人和班级连年受到忻州师范学院的表彰。2010年参加太原市教育局教师招聘考试,被太原市第五十三中录用,到校后担任高中数学的教学工作和班主任的教育工作至今。
第五篇:《枚举算法》教学设计
《枚举算法》教学设计
苍南县成人教育中心学校 陈荣军
一、教学目标
1、知识与技能目标:
理解枚举算法的基本原理,熟悉枚举算法程序设计的基本思路及程序结构特点;学会使用枚举算法解决现实生活、学习中所遇到的问题。
2、过程与方法:
围绕“课堂任务导航程序”,通过课堂任务设计,让学生熟悉用枚举算法求解问题的基本过程,并把它运用到实际生活中去解决问题,学会选择适当的枚举方法多角度分析问题,解决问题。
3、情感态度与价值观:
激发学生的学习热情,提高学生自主学习能力,增强学生创新意识;引导学生关注枚举算法在社会生活中的应用,并以此培养学生将算法思想运用到解决实际问题中去的能力。
二、学情分析
本节内容的教学对象是普通高中高一学生,他们经过半学期的信息技术教学,具备了一定的计算机操作能力;在VB程序设计方面,也已经有所学习,具备一定的基础,但因所上课时不多,学生对VB还只是略知皮毛,语法及编程能力有待于进一步提高。
三、教材分析
1、本节主要内容介绍
枚举算法是程序设计中使用最为普遍、学生必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。用枚举算法解决问题,通常可以从确定范围、逐一列举,验证条件、逐一验证这两个方面进行分析,把这两个方面分析好了,问题自然会迎刃而解。
2、重点难点分析 教学重点:
(1)理解枚举算法的基本原理。
(2)能根据问题描述确定枚举范围,并能用程序正确表示验证条件。(3)枚举算法的程序实现。教学难点:
(1)各种枚举算法的优劣评价。(2)编程实现枚举算法。
四、教学设计理念 采用了以学生的学习和发展为中心,基于建构主义理论的任务驱动、情境教学等教学方法,突出自主、合作、探究等学习方法;强调信息技术与生活实际的联系,培养学生的逻辑思维能力、解决问题的能力以及创新意识等;设置多元化的评价方式,让学生掌握学习内容的同时,形成交流与评价的能力。
主要教学方法:讲授法、演示法、任务驱动、情境教学等 主要学习方法:自主学习,合作探究学习等
五、教学策略
通过“课堂任务导航程序”,在教学过程中,围绕“情境导入→回顾算法思想→任务引领→自主学习→合作探究→交流评价→课堂总结”的教学流程来展开教学活动。
六、教学环境
教师用VB自制的“课堂任务导航程序”(客户端)、教师服务端程序、多媒体网络教室、多媒体教学软件、VB6.0中文企业版等。
七、教学过程
一、情境导入(3分钟)
教师活动:同学们,大家好!首先,很高兴今天能给大家上一节课,希望老师今天的这节课能让大家有所收获。在上新课内容之前,老师想先请同学们帮老师一个忙(教师广播展示VB制作的“QQ登录程序”):老师前段时间申请了个QQ,结果把密码给忘记了,但我记得密码是由六位相同的数字组成,哪位同学能上来帮老师找出密码?
学生活动:学生上台,根据老师的描述,从000000到999999一一测试密码,最终找到密码。教师活动:非常感谢这位同学的帮忙!这位同学能说下,你是怎么找出密码的吗? 学生活动:从000000,111111,222222„„ 999999这样逐个测试。教师活动:很好。像刚才这位同学这样,根据老师给的范围,逐一列举所有可能,并根据程序提示(验证条件)逐一验证,从而找出答案的方法就是今天我们要来共同学习的《枚举算法》。
设计理念:通过学生熟悉的QQ密码破解来引入课堂,增强学生兴趣,也能使学生乐于接受。
二、回顾枚举算法思想,提出课堂任务(5分钟)
教师活动:教师广播展示课件,学习枚举算法的概念,说明枚举算法的两个关键点:
1、确定范围,一一列举(既不遗漏,也不多余);
2、确定条件,逐一验证。教师活动:在了解了枚举算法的概念后,同学们能不能列举几个我们实际生活中用枚举算法解决的问题的例子呢? 学生活动:学生举例(教师根据例子引导分析,重点强调“确定范围、一一列举,根据条件、逐一验证”)
教师活动:非常好!看来大家对枚举算法已经有了一定的理解了,接下来,我们来看下在程序里面,如何实现枚举算法解决问题。请大家打开桌面“学生”文件夹里的“课堂任务导航.exe”,完成“任务一”。(教师简要说明“课堂任务导航程序“使用方法)
三、课堂任务一(10分钟)
学生活动:根据课堂任务导航程序及帮助信息自主完成课堂“任务一”(4分钟)教师活动:教师巡视、个别指导,观察、总结并及时记录学生在完成任务过程中出现的问题。同时,在“教师服务端”程序中观察展示学生任务一的完成情况,及时了解学生的学习进度。
任务反馈:大部分学生能顺利完成任务一,对于不能自主完成的,可由已完成学生帮助完成。
教师活动:很好!大部分同学已经完成任务一了,接下来让我们一起看下我们的程序是如何实现枚举算法的。教师展示任务一程序(广播)教师活动:我们知道要想实现枚举算法,主要是要做到两点:一个是确定枚举范围进行一一列举;还有就是根据条件,逐一验证。我们来看下我们的程序的怎么实现这两点的?
学生活动:观察程序,思考。
教师活动:我们先来看下“确定范围、一一列举”在程序里是如何体现的?(6分钟)
学生活动:使用for语句实现
教师活动:“根据条件,逐一验证”呢? 学生活动:if语句
教师活动:很好!一般实现枚举算法的程序都是由循环结构嵌套分支结构组成。好了,大家现在已经知道了枚举算法的程序结构了,接下来请同学们继续完成任务二。
(设计理念:通过任务一的设计,让学生自主探究学习,培养学生的自主探究学习能力,通过学生互助,培养学生互帮互助的精神;通过对任务一的程序分析,培养学生的善于观察思考、解决问题的能力,并让学生熟悉枚举算法的程序结构特点,以便学生能更加顺利的完成任务二。)
四、课堂任务二(设置陷阱,探讨交流)(15分钟)学生活动:学生先自主完成任务二。(5分钟)
教师活动:教师巡视、个别指导,观察学生在完成任务过程中出现的问题:有些学生能输出58个数,有些学生只输出6个数,原因在哪里?请一个能输出58个数的学生上台演示操作,然后让学生分析输出的这些数都能满足要求吗?经过分析,学生会发现有些数的个位数不符合要求。提出问题:如何修改程序将不符合要求的数去掉?(2分钟)
学生活动:修改程序(由学生小组合作相互探讨完成)。(5分钟)教师活动:当有部分学生输出正确答案后,请一个能输出正确结果的学生分析如何修改,并到教师机上修改刚才错误的程序(算法1); 请一个不同算法的同学来修改程序(算法2);让他们分析各自算法的效率谁更高。然后教师小结,鼓励学生要善于发现问题、深入分析问题、积极解决问题;从不同角度分析问题可以得到不同效率的算法。(3分钟)
(设计理念:设计任务陷阱培养学生善于发现问题、深入分析问题、积极解决问题的能力;通过探讨交流,培养学生的团体协作能力及合作探究精神;设计任务一题多解,培养学生从不同角度分析问题的能力,锻炼学生的发散性思维。通过算法分析,让学生理解算法的执行效率,懂得选择最优算法去解决问题,提高程序的性能。)
五、层层递进,任务拓展(高层次学生做)
拓展任务:在任务二的基础上,增加验证条件:“十位数是3的倍数,百位数是4的倍数”,提出问题:如何将数字里的十位数和百位数分离?
学生活动:学生通过教师提供的帮助材料,讨论分析问题,尝试去完成拓展任务 教师活动:教师观察,引导。
(设计理念:设计拓展任务,提高任务难度梯度,供高层次学生完成,以实施课堂中的分层教学。)
六、提交作品,课堂评价(3分钟)
学生提交作品,教师选择几个作品做总结性评价。
七、归纳总结、布置课后作业(1分钟)
1、通过“教师服务端”程序中学生“自我评价”中的知识点,进行课堂总结:(1)枚举算法的基本原理:
确定范围、逐一列举(既不遗漏,也不多余)(循环语句)确定条件、逐一验证
(条件语句)
(2)枚举算法中范围的确定及列举:循环语句(如for)实现
(3)枚举算法中验证条件的表示:利用if语句进行条件判断;条件表示主要运用VB中的算数运算符及逻辑运算符实现。(4)实现枚举算法的程序结构特点:
外层循环嵌套内层条件判断
2、布置课后作业: 找水仙花数(学生任务导航程序)
(设计理念:通过知识总结,帮助学生将知识系统化,便于学生理解记忆。通过知识的延伸,促使学生将知识内化,并进行能力迁移,进一步提高学生解决问题的能力。)
八、自我评价(1分钟)
让学生利用“课堂任务导航程序”中的自我评价功能进行自我评价。教师活动:展示学生自评结果。
(设计理念:通过评价,引导学生自我反思,加深对所学知识的认识与理解;教师查看学生自我评价结果能及时了解到学生对本堂课所学知识点的掌握情况,以便安排后续教学内容。)