粤教版高中信息技术选修《优雅的算法世界——算法与程序设计前言》说课设计附反思_第1页
粤教版高中信息技术选修《优雅的算法世界——算法与程序设计前言》说课设计附反思_第2页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课题:优雅的算法世界算法与程序设计前言引入各位评委上午好。记得有句歌词是:“不是我不明白,这世界变化快”,现在我们每天不得不和一大堆的密码打交道,什么电子邮箱、QQ、论坛、博客,当然还有各种银行卡密码等,密码多了容易忘记。我手中拿的是一张银行卡,有一次我急着用钱,但就是不记得密码了,在ATM机上连着试了几次都取不出钱来,机器警告我不允许再试了,否则吞卡,为什么会这样呢?今天我的说课就从“银行限制试探密码次数”说起,题目是一一优雅的算法世界。一、教材内容分析1.课标对本模块的要求算法与程序设计是普通高中信息技术课程标准中的选修模块,其目的在于“使学生进一步体验算法思想,了解算法和程序设计在解决问

2、题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题”,要“引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题”。2.简析教材粤教版算法与程序设计第一章揭开计算机解决问题的神秘面纱从华南太阳能设备厂的生产方案入手,分三个小节,主要讲解了计算机解决问题的过程、算法和算法的描述、程序与程序语言等,其中“算法和在解决问题中的地位和作用”是第二节中的部分内容,通过比较了两种求“最大公约数”算法的效率来强调算法的重要性。二、学生分析高中学生已经有了一定的数学基础,甚至数学选修课里面也有“算法”的内容,他们的抽象思维能

3、力也比初中学生好得多,但选修算法这门课程的学生仍然不是很多,也许是因为目前初中小学信息技术课程几乎没有程序设计内容的缘故吧,所以很多学生对编程不太理解,不知道这门课教什么内容,还有的学生听说编程很难,很枯燥。正所谓“万事开头难”,所以上好第一节课对学生后面课程的学习是非常重要的。三、教学策略1.设计方向记得初中物理第一节课,一位老教师走了进来,手里拿了很多好玩的东西,如单摆、不倒翁、音叉等等,我们在尽情的玩耍中体会到科学的神奇,刺激了我们学好这门课程的欲望。这节课给我留下了深刻的印象,以至于到现在还历历在目,这些看似漫不经心拿来的玩具却在我们后来所学的热、电、声、光等课程中都用到了,所以我想能

4、否结合课标的要求和目前教材的编写思路,在本课程的第一节课上一节引导课,以学生身边的实际问题入手,结合一些益智类游戏,一方面可以激发学生对算法和程序设计内容的兴趣,另一方面又对本课程的后续内容起到一个高屋建瓴的作用。2.教学目标及教学重难点教学目标】知识与技能:1) 了解什么是算法及算法在问题解决中的地位和作用。2) 能描述穷举法的基本思想。3) 了解顺序查找算法、对半查找算法和递归算法。4) 尝试VB软件的基本操作,模仿“猜100以内整数游戏”的算法写出“猜4个数”游戏算法的主要步骤;过程与方法:1) 能从生活中“银行限制试探密码次数”的现象出发,在老师的指导下,了解用穷举法解决问题的基本思想

5、;2) 能通过BBS获得问题的有关要求和提示信息,在体验游戏之后,能在BBS上发表观点、交流思想、开展合作;情感态度价值观:在游戏的过程中,体验到算法是有用的、有趣的,激发对算法和程序设计这门课程的求知欲。教学难点】递归算法教学重点】算法在问题求解中的地位和作用。四、教学过程课前准备1.为了能让学生更好的交流和分享心得,最好所有的学生用机都能连上因特网,并且每位学生已在班级论坛里注册了;2 .为了共享教学辅助资源,要确保所有学生机都能连接到教师机。3 为了使演示能顺利进行,要确保“教学控制系统”能正常使用(一).引入师:大家看到老师手上拿的一张交行的银行卡,有一次我取钱的时候不记得密码了,于是

6、就将常用的密码一个一个的去试,但试到第三次的时候,ATM柜员机警告不允许再试了,否则将没收磁卡,请问:“银行为什么要限制尝试密码的次数”呢?生:为了安全,以免银行卡丢失的时候,别人取走了你的钱。师:请注意老师的问题,为什么要限制次数呢?生:因为如果不限制次数的话,试多了,就可以试出密码来。师:如果现在换作你,无论试多少次都可以,你怎么获得密码?通常我们银行卡的密码是六位数。生:一个一个的去试,先是000000,然后000001,一直到999999,总有一个密码是对的。师:我可不是要大家以后捡到了别人的卡都去试啊(笑),只是讨论这种方法的可行性。刚才大家的讨论说明了,如果不限制次数,六位数的密码

7、我们最多试一百万次,一定能够获得相应的密码,所以幸好银行限制了次数,而且也限定了每天所取的金额不超过5000元,这样较好的保护了我们的利益。(二).算法的基本概念1. 穷举法和算法的基本概念这学期我们要学习的内容是算法与程序设计,提到算法,大家可能觉得很神秘,很高深,其实我们刚才试密码的方法就是一种最简单、最实用的算法,它的名字叫“穷举法”。就是列出所有可能的情况,一个一个判断是否符合问题所要求的条件,从而得到问题的答案。那什么是算法呢?通俗的说,“算法就是用计算机求解某一问题的方法”。人们常说,数学是思维的体操,数学之美,是智慧之美,算法与之有异曲同功之妙。因为算法不仅有数学的渊源,她更是计

8、算机世界的核心之一,算法里的每一次跳转就是她飞扬的舞步,所以说算法的世界,是优雅的世界。2. 对半查找算法举例接着说上面的那个银行卡密码的游戏,请你先想好一个6位数的密码,然后让电脑去猜,如果你每次只告诉电脑猜得对或“不对”,那么从理论上来说,电脑可能要猜一百万次才能猜中你的密码,这就是刚才我们所说的穷举法。但如果你每次告诉电脑它所猜的数字比你的密码是大了还是小了,然后电脑再猜下一个数字,不断重复这个过程,直到电脑猜中你的密码为止,请问电脑最多要多少次才能猜中一个六位数的密码?请写出电脑的算法。我们在玩这个游戏时,可以简化成甲乙两人猜一个100以内的整数,甲出题,乙来猜,甲来说“大了”或是“小

9、了”,或是“猜中了!”那么乙猜数的过程就是电脑猜密码的算法!这样学生很容易想到用对半查找法去解决问题。根据游戏的过程,填补下列算法的空白处(见下表)。切换到代码窗口,比较代码与算法的基本对应关系(由于语言的不同,算法和代码不是绝对的对应)。顺序算法主要代码1次数设为1n=12设置所猜数字的范围,a为最小a=0数,b为最大数b=1OOOOOODo3取a和b中间的那个数给cc=Int(a+b)/2)Print"第"n;"次"c;4将c和密码相比,如果c比密码ch1=InputBox("这个数和您所想的数数大,就输入,如果c比密码相比是大了(),还是

10、小了(),或正好数大,就输入,如果正好相等,则输入=相等(=)?")5如果输入的是,就将C和值给SelectCasech1E,即缩小范围在a和c之间;Case">"如果是,就将C和值给a,即缩b=c小范围在c和b之间;如果是=,Case"<"则程序跳到第步a=cCaseElseExitDoEndSelect6次数加1,回到第步n=n+1LoopUntilabs(a-b)<0.17显示猜对了”,并结束Print"OK"上述的这个过程就是由设计算法到编写程序的过程(三).游戏体验学生从教师机下载游戏,可以选择下

11、列两个游戏中的任意一个,根据提示或要求完成任务,并在论坛上回贴。1. 汉诺(Hanoi)塔问题。要求:1)先试着完成5个盘子的搬运过程,如果感觉太难就退到4个,如果还是感觉难,可以退回到3个盘子的状态;如果可以很轻松完成5个盘子的搬运,可以试着到6个盘子、7个盘子的搬动游戏;2)试着总结N个盘子和N-1个盘子搬运过程的关系;提示:当4个盘子搬到如右图所示的状态时,你会怎么办?那么4个盘子和3个盘子的移动过程的关系是什么?2. 猜数字游戏要求:1)在老师的指导下试着打开代码窗口”、对象窗口”,对程序有个初步的了解;2)执行程序,玩这个游戏,看看你要几次才能猜对;3)如果目前游戏的限制次数10太少

12、了,你能否修改程序代码,使得游戏次数为20次,在哪里改,请将你的经验回贴在下面;如果你能够很轻松的在规定次数内破解这个游戏,能否将你的破解密技公布一下?4)学习计算机编这个游戏程序的算法过程,并试着将第步和第步说得更详细一点: 由电脑随机产生0-9之间的任意四个数,次数初值为1; 由人来输入4个不相同的数字; 统计4个数中有几个数字存在但位置不对; 统计有几个数字位置都对,如果4个数字位置都对,则跳到第步; 猜的次数增加1次; 如果次数到了10次,则显示这个数,并显示“失败”,程序结束;否则跳过第步。 输出这个数,显示“成功”和次数,程序结束。(四)成果分享通过论坛上的留言发现学生的闪光点,每

13、个题目请一位同学上台展示游戏的过程,并谈谈对老师所提出的问题的感想。五).课堂小结编程之道就如武学之道,VB,VC等开发工具的技巧好比各门各派的武功招式,算法好比内功心法,如果内力深厚,任何招式到了手上都能够化腐朽为神奇。今天这节课,我们初步体验了穷举法、顺序查找法、对半查找法和递归等算法,由于时间关系,讲得还不是很透彻,不过,后续的课程中,我们还会分别进行更为深入的学习。当然,对于今天这节课,如果你有什么问题,可以在课下或在论坛中提出,老师会尽可能的帮你解答。另外,我们在论坛中还提供了与“八皇后”、“哥尼斯堡七桥问题”、“幻方“WORD密码查看器”等游戏,如果大家感兴趣的话,可以下载玩玩,别

14、忘了留下你的感受。好,下课!五、教学评价何老师:1. 本节课内容生动,学生积极性比较高,完成的效果也比较好,虽然河内塔一例学生没有当堂展示出来,但这位学生思路比较清晰,能反映出他对递归算法的基本原理有所体会,因为是算法的第一节课,应该说教学目的达到了。2. 在算法的概念和意义部分表述还需要提高。3. 学生的竞争和协作设计得很好,但在完成过程中体现得还不是很充分。赵老师:本节课的设计应该说吴老师是花了相当大的气力的,主要是很多小软件和资料的下载,非常能说明问题,给我印象较深的是“word密码破解”和“河内塔”这两个游戏,其中“word密码破解”中吴老师设计了这样一个问题:“观察电脑破解密码的过程

15、,注意最末一位的变化,想一想电脑获取密码的主要策略是什么?如何在软件中输入正确的参数,使得查找的速度有所提高?”这样结合实例来谈穷举法就比较生动有效。而“河内塔”是讲递归的经典程序了,我们大学学习时总是很痛苦没有相应的游戏,现在的教学方法比大学好多了。六、教学反思一、初中和小学要加强算法和程序设计这部份的教学内容。一些专家把中学信息技术只定位于“大众信息技术”,也就是会使用Office之类的现成的软件就够了,程序设计的学习只是有兴趣的同学的任务,所以现在的学生选修算法和程序设计的人不多,其主要原因在于目前小学、初中九年信息技术课程中完全没有这方面的内容,学生了解太少,仅凭必修课的那点补课是完全

16、不够的。其实关于程序设计内容是否应在义务教育阶段普及,10年前就有争论,谭浩强教授早有论述:很多软件是非计算机专业的人编制的。吴文虎教授也指出:“计算机是人类通用智力工具,是人脑的延伸,它强大的功能是人赋予它的,它的一切操作都是由人通过程序来控制的,为了了解人是怎样通过程序控制计算机的,就要学一点计算机语言。”计算机语言是人和计算机对话的桥梁,凝聚着人类的智慧,反映着现代人的思维方式。计算机之所以能够具有高速、强大的运算功能,除了硬件条件之外,是和人的运筹和巧妙控制分不开的。学习计算机高级语言程序设计起码有如下5点好处:1了解程序语言是怎样控制计算机工作的;2人在使用智力工具时的思维模式;3知道计算机是怎样工作的,有助于打破神秘感;4不仅仅会用一般的现成软件,还可以在需要的时候动手设计程序,让计算机帮助自己完成一些任务;5将计算机作为理论联系实际的学习环境,动脑动手,提高分析问题,解决问题的能力。中国人有学习程序设计的天赋,有比美国的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论