算法与程序设计选修教案1.docx
《算法与程序设计选修教案1.docx》由会员分享,可在线阅读,更多相关《算法与程序设计选修教案1.docx(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一课 初识算法与程序设计一、教学目的 1、学问与技能 (1)理解算法的概念,培育学生自我探究信息,高效获得信息的实力; (2)能初步利用算法解决简洁的问题,培育学生的理论联络实际实力和动手操作实力。 2、情感、看法、价值观学生在学习过程中,通过亲身经验体验获得对此算法的感性相识,培育学生自我获得信息、分析评价信息、表达呈现信息的实力,进一步进步其信息素养。二、教学重点难点重点:算法概念的理解难点:如何科学合理的选择和设计算法。三、教学策略与手段 以兴趣性问题设置情境,激发学生探究解决问题的爱好,与学生进展互动讨论,通过Flash演示材料,比拟直观地把抽象的问题简洁化,使学生的思索逐步深化,从
2、而总结出算法的概念,学会如何设计和选择算法,培育学生自主探究学习的实力。四、教学过程(1课时)(一)我们来共同找寻下面一些生活中比拟现实的问题的解决方法。【问题一】天下真的有“不要钱的午餐”吗?某一餐馆门口海报上写着“不要钱的午餐”, 规则如下:在三个月内,来宾必需凑够五个人,五人每次来就餐必需根据不同的依次坐,直到把全部可能的依次都坐一遍,以后来吃饭就可恒久免费” 。于是有人想,这太简洁了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的挚友参与这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?学生们感觉特别有意思,很快以小组为单位进展热情的讨论并得出了破解问题的步骤
3、:第一个座位个人都有坐的时机第二个座位只有个人中的任一个有坐的时机(一个人不能同时坐两个座位)第三个座位只有个人中的任一个有坐的时机第四个座位只有个人中的任一个有坐的时机第五个座位只有个人有坐的时机计算:得出结论:需要吃次才有可能吃上免费午餐。【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,假如妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危急。你能不能找出一种平安的渡河方法呢?请写一写你的渡河方案。学生:学生讨论答复。展示步骤两个妖怪先过河,一个妖怪回来;再两个妖怪过河,一个妖怪回来;两个和尚过河,一个妖怪和一个和尚回来;两个和尚过河,一个妖怪回来;两
4、个妖怪过河,一个妖怪回来;两个妖怪过河。【Flash动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。算法就是解决问题的程序或步骤。(二)【课件展示】算法的概念: 1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也常常运用算法,只是没意识到罢了。如:洗衣机的运用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。 2、在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必需是明确和有效的,而且可以在有限步之内完成。【小试身手】根据这样的理解,我们可以设计出很多由具体数学问题解决一类数学问题的算法.下面看一个
5、例子:(要求学生自己考虑并写出具体的算法)鸡兔同笼问题。一个笼子里有鸡和兔,如今只知道里面一共有17个头,48只脚,鸡和兔各有多少只?试设计一个求解的算法。【设计意图】求解鸡兔的问题简洁直观,却包含着深入的算法思想。应用解二元一次方程组的方法来求解鸡兔同笼问题。第一步:设有小鸡x只,小兔y只,则有 第二步:将方程组中的第一个方程两边乘2加到第二个方程中去,得到 ,得到y=7;第三步:将y=7代入(1)得x=10。【变一变】在笼中有鸡、兔若干,已知有头a个,有脚b只,求各有多少只鸡和兔。【师生合作】教师带着学生共同书写标准的算法的具体步骤,最终引出算法运用的范围:能解决一类问题,并且能重复运用。
6、(三)【课件展示】算法的根本特征有穷性 确定性 不唯一性 有效性(逻辑性)1、有穷性:一个算法应当包含有限个操作步骤,而不能是无限的。2、确定性:算法的每个步骤都应当是明确无误的,不能含义模糊,使执行者无所适从。3、有零个或者多个输入,有一个或者多个输出4、有效性:算法中的每一步都应当能有效地执行,执行算法最终应当能得到确定的结果。【教学总结】1、本节课通过一些生活中看似简洁问题的解决方法和步骤,使学生比拟轻松的承受了生活算法的概念,进一步理解了计算机算法的概念。2、课堂教学的效益取决于学生对所学学问理解了多少,能否用所学学问来解决一些实际问题。本节课的设计突出讲与练的结合,培育学生的动手实力
7、,并且引出学生对下一节课的内容的思索,比拟顺当的完成了本节课的教学任务。3、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需讨论。第二课 用计算机解决问题一、教学目的(1)让学生理解算法、穷举法、程序设计语言、编写程序和调试程序等概念。(2)让学生知道对现实问题的自然语言的描绘,特殊是类似程序设计语言的自然语言描绘。(3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的根本步骤,相识其在算法与程序设计中的作用。二、重点难点重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。
8、三、教学过程(2课时)(一)引入 教师:“在科技兴旺的今日,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的便利。然而,在惊羡计算机的奇妙和享受的快乐的时候,你是否理解计算解决问题的根本过程?有没有思索过其中的微妙呢?下面我们先看一个古典的问题:” 学生观看的电视剧汉刘邦片断,内容大致如下:“韩信是我国西汉初闻名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能常常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。”片断完毕时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一
9、列余1人、5人一列余2人、7人一列余4人、13人一列余6人。刘邦茫然而不知其数。你呢?”(二)问题教师:“下面我们先助刘邦解决一个简洁的问题。”“韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。(三)探究把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学学问找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写计算机解决问题的过程教学活动表中的“探究问题记录表”。如下:探究问题记录表分析问题(找出已知和未知、列出已知和未知之间的关系)写出解题步骤结果学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题
10、步骤。教师提问23个同学,从中渐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。分析问题(找出已知和未知、列出已知和未知之间的关系)写出解题步骤 设所求的数为X,则X应满意:X整除3余1X整除5余2X整除7余41、令X为1。2、假如X整除3余1,X整除5余2, X整除7余4,这就是题目要求的数,则登记这个X。3、令X为X+1(为算下一个作打算)。4、假如算出,则完毕;否则跳转2。5、写出答案。教师说明第3步“另X为X+1”并指出它与数学中的区分,并从上面的解题步骤中总结出穷举的算法。教师:“刚刚有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一
11、个数据量稍大的问题。”展示题目:“韩信点兵”问题2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。学生分析上述问题并写出算法,不用计算。学生有了第1题的阅历,很快会写出和第一题类似的算法。如下:分析问题(找出已知和未知、列出已知和未知之间的关系)写出解题步骤 设所求的数为X,则X应满意:X整除3余1X整除5余2X整除7余4X整除13余6X整除17余81、令X为1。2、假如X整除3余1, X整除5余2, X整除7余4,X整除13余6,X整除17余8,则登记这个X。3、令X为X+1。4、假如算出,则完毕;否则跳转2。5、写出答案。教师:“上面的结果超过1万,人工计算
12、要很长时间,在科技兴旺的今日,你想到什么?”(用计算机解题)(四)用计算机解决问题教师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。用计算机解题,是不是输入上面的算法?上面用自然语言描绘的算法,计算机不懂,必需翻译成计算机的语言,这就是程序设计语言。” 本例用Visual Basic语言编写的程序请看如下:Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 1: Y = 0 Do If X Mod 3 = 1 Then If X
13、 Mod 5 = 2 Then If X Mod 7 = 4 Then If X Mod 13 = 6 Then If X Mod 17 = 8 Then Y = X End If End If End If End If X = X + 1 Loop Until Y 0 Print 韩信统御士兵数:; YEnd Sub教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。”(五)观摩根据前面编制的程序,启动Visual Basic程序设计环境,输入程序代码,进展调试,最终得到运行的结果。要求同组内先完成的同学扶植还未完成的同学。扶植的时候不能代劳,只能动口不动手。(
14、六)沟通教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起讨论人工求解问题和用计算机求解问题的异同,并把讨论结果记录在计算机解决问题的过程教学活动表的“讨论记录”表中。如下:关于求解问题的方式讨论记录求解问题的方式一样点不同点人工求解问题用计算机求解问题 教师提问23个小组的讨论结果,并引导出大致如下的形式结果:求解问题的方式一样点不同点人工求解问题分析问题、设计算法、得出结果、验算结果等对题目进展解答、运算速度慢、不需要计算机等用计算机求解问题编写程序、调试程序、运算速度快等第三课 算法与算法的描绘一、教学目的1、学问与技能(1)理解算法的定义与其表
15、达方法;(2)认知流程图的六种根本符号;(3)理解计算机解决问题的一般过程。2、方法与过程(1)理解用不同的表达方法描绘算法的优缺点;(2)驾驭用流程图描绘简洁的算法。3、情感看法和价值观以生活中的实例引入算法,激发学生的学习爱好,培育学生的主动探究实力。二、重点难点(一)教学重点1、算法的定义;2、算法的三种表达方法;3、流程图的六种根本符号;4、用流程图描绘简洁的算法。(二)教学难点5、算法的描绘(三种);6、用流程图描绘算法。三、教学过程(2课时)教学内容预期目的新课内容:一、对算法的初步理解1一个简洁的物理问题:求物体在恒力作用下的加速度。根据在物理课中学过的学问,要解决这个问题有多种
16、方法:方法一:a) 测量出物体的质量m、拉力F和滑动摩擦力fb) 将测量所得的数据输入计算机c) 根据牛顿第二定律F-f=m*a,计算出加速度ad) 输出所得的结果方法二:a) 测量出物体从静止开场挪动的间隔 s、时间tb) 将测量所得的数据输入计算机c) 利用公式:s=a*t*t/2计算出加速度ad) 输出所得的结果2算法的定义这种为解决某一问题而设计确实定的有限的步骤称为算法。二、算法的描绘要把解决问题的步骤表达出来,有多种方法可以表达算法。1用自然语言表达用自然语言表达算法,就是把算法的各个步骤,依次用人们熟识的自然语言表示出来。优点:简洁理解缺点:书写较烦、不确定性、对困难的问题难以表
17、达精确、不能被计算机识别和执行2用图形符号表达用图形符号表达算法必需要有一组规定统一、含义确定的专用符号。常用的“流程图”所用的根本符号图形符号符号名称说明流线起始、终止框表示算法的开场或完毕起始框:一流出线终止框:一流入线输入、输出框框中标明输入、输出的内容只有一流入线和一流出线处理框框中标明进展什么处理只有一流入线和一流出线断定框框中标明断定条件并在框外标明断定后的两种结果的流向一流入线两流出线(T和F)但同时只能一流出线起作用流线表示从某一框到另一框的流向连接圈表示算法流向出口或入口连接点一条流线优点:直观、形象缺点:不能被计算机识别和执行开场M=mF1=FF2=fa=(F1-F2)/M
18、输出a完毕例6-1-1:“物体在恒力作用下的加速度”的算法用下图表达。3用程序实现算法用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能根据预定的算法去解决问题。不同类型的计算机可以识别的指令和语言不尽一样,即使对同一种计算机语言,不同类型的计算机对该语言的说明程序也有差异。因此,用程序表示算法时,必需根据程序设计语言适用某类计算机的具体规定来进展。例:用Pascal语言表示“从键盘输入一组数据并求该组数据的平均值”的程序如下:Program ex_averVar I:integer;x,av:real;Begin Av:=0;I:=0; Do whil
19、e not eof()Begin Readln(x); av:=av+x; I:=I+1;End av:=av/I; Writenln(“The average value is :”,av);End三、用计算机解决问题的一般过程运用计算机解决一个问题,一般包括四个过程1需求分析“需求分析”是指对要解决的问题进展具体的分析,弄清晰问题的要求,包括需要输入什么数据,要得到什么结果,最终应输出什么。“需求分析”就是确定要计算机“做什么”。2设计算法弄清晰要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做”解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是说,解决一个问题的
20、算法可能不止一种。这是,应当通过分析、比拟、选择一种最优的算法。3编写程序计算机只能承受并执行计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必需将该算法用计算机程序设计语言编写程序。这个过程成为“编码”或“编程”。4上机调试与维护编写完成的程序,不确定完全符合实际问题的要求,还必需在计算机上运行这个程序,解除程序中可能出现的错误,才能得到结果。这个过程称为“上机调试”。即使是经过调试的程序,在运用一段时间后,仍旧会被发觉错误或缺乏之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧重。引入物理学中的
21、例子,激发学生的学习爱好,有助于学生理解算法的概念引导出算法的概念介绍三种算法的表达方式,并对它们进展比拟,分析优缺点。给出流程图的根本符号,对其功能和运用状况加以说明,以便今后在具体运用中的正确运用。给出流程图的作法,通过具体的说明说明使学生初步驾驭流程图的运用和根本画法。理解计算机解决问题的一般过程,为今后用编程解决实际问题打下根底。第四课 程序与程序设计语言一、教学目的1、学问与技能使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,理解程序设计语言的开展与种类。2、过程与方法使学生初步体验编程乐趣,理解如何编辑程序、编译程序和连接程序。3、情感看法与价值观让学生进一步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序设计 选修 教案
限制150内