教学论文:利用Scratch趣味编程与Pascal语言互动教学例谈x.docx_第1页
教学论文:利用Scratch趣味编程与Pascal语言互动教学例谈x.docx_第2页
教学论文:利用Scratch趣味编程与Pascal语言互动教学例谈x.docx_第3页
教学论文:利用Scratch趣味编程与Pascal语言互动教学例谈x.docx_第4页
教学论文:利用Scratch趣味编程与Pascal语言互动教学例谈x.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

化抽象为形象,由感性到理性利用Scratch趣味编程与Pascal语言互动教学例谈【摘要】近几年来,我在辅导学生参加信息学奥林匹克竞赛过程中,发现Pascal语言对小学生生来说,抽象思维要求高,难度有点大。而我又在Scratch趣味编程少年宫拓展性课程教学过程,发现叠积木式的程序脚本,学生兴趣浓,参与度高。借助Scratch趣味编程帮助学生建立数学模型,理解Pascal语言中一些难点,起到化抽象为形象,由感性到理性的境界;当学生数学模型的建立与算法设计实现后又推动Scratch趣味编程,利用Scratch趣味编程与Pascal语言互动。【关键字】Pascal Scratch 抽象 形象 感性 理性一、问题的提出著名国际信息学奥林匹克中国队总教练,清华大学计算机系计算机教授,博士生导师吴文虎说:“信息学奥林匹克竞赛从内容看,是用计算机解决一些难题,核心是数学建模与算法设计与实现。”Pascal语言作为信息学奥林匹克竞赛语言,它的优点很多,功能强大,数据类型丰富,结构严谨,模块化,逻辑性强,更重要是Pascal语言是世界上第一个结构化程序设计语言,它非常适合教学,有利于培养学生形成良好的习惯,有利于培养学生的编程思想,但对小学生生来说,抽象思维要求高,难度有点大。我在辅导Pascal程序设计语言教学中,发现学生代码难懂,数学建模不易建立,算法设计不易实现,过程枯燥无味,学生兴趣不高,难以达到预期的效果。二、问题的设想前几年义乌市各小学的少年宫活动开展得如火如荼,我也参与其中,选择Scratch趣味编程,Scratch最大的优点是将编程变得如搭积木那样容易,采用拖曳、组合的方式来设计程序,取代了传统的打字,免除输入错误的困扰,也是“可视化”的程序语言,好像把我们的创意思考“显示”出来了一样,让学习变得更轻松。学生Scratch趣味编程过程中,兴趣浓,参与度高。于是我在思考与实践,Pascal语言中难度理解的部分通过Scratch趣味编程帮助建模,帮助理解,可以弥补Pascal语言抽象思维,让抽象思维变得形象直观;而当建立起一定数学模型和算法的设计实现后又推动Scratch趣味编程。三、问题的实践(一)选择结构,迷宫游戏助理解Pascal程序设计有三种基本结构:顺序、选择和循环,顺序结构比较直观,很好理解,选择结构也属于抽象的范畴,在教学实践过程中发现学生不容易理解,在教学之前,我用scratch中“迷宫游戏”帮助学生加深理解、形成概念。我准备了以下的scratch中“迷宫游戏”。(图1)图1让学生“玩一玩”这个小游戏,体验到了什么?生1:只能沿着线路走才能成功。师:还有体验到了什么?生2:如果碰到黑色的边线或障碍物就说出“啊,糟糕!”,没有碰到就一直接说“走!走!”,如果小猫到达终点,就说“我成功了!”师:在哪些地方面临选择?生:、处。师:还有吗?生:就是不能碰到黑色的边线,碰到了就回到了起点。师:小猫从起点到终点的路有时只有一条,有时路有好几条,每到一个分岔路口,就面临选择,选定了一个方向也就放弃了另一个方向,但最终都能到达同一个终点。还有小猫在走迷宫的过程中时时要判断自己是否会碰到黑色边缘或障碍物,像这样的情况在程序设计中就是“选择结构”的程序,又叫“分支结构”在Pascal语言中我们用“if条件then语句1else语句2”语句来实现。对照Scratch程序与Pascal程序语句,如图2,学生非常容易理解。if语句1语句2条件else图2通过以上图形的对比,还容易得出,“if条件then语句1 else语句2”意思是“如果条件成立,执行语句1,否则就执行语句2”,学生理解透彻,记忆深刻。学生理解了选择结构,又促进了Scratch学习,学生居然编出模拟机器人走轨迹(图3),我告诉他们,这就是机器人送餐程序的主体部分。图3 模拟机器人走轨迹(二)交换变量,复合语句显直观青少年信息学奥林匹克竞赛培训教材Pascal语言小学版第2版P67,介绍复合语句是这样阐述的:“复合语句是以begin开始,以end结束,中间包含若干个语句的语句组。”并举例5-2 输入两个数,将其中大数存入变量a,小数存入变量b。学生刚接触复合语时,非常难以理解,以下是我借助Scratch程序图解Pascal程序。程序片段如下图4:begint:=a;a:=b;b:=t;writeln(a=,a, ,b=,b)end;If ab then writeln(a=,a, ,b=,b)Else图4从上图不难看出,begin到end之间的语句组就相当于Scratch脚本中的否则积木绑定那一段语句结束,复合语句也就是用begin,end绑定若干个语句,最后相当于一个语句。有趣的是,有一次我问“我们参加亲朋好友的婚礼时,经常有这么一个猜数字的游戏,你们能编出来吗?”下图是某同学用Scratch2.0编出的猜数字游戏(图5)。图5 猜数字游戏(三)循环结构,Scratch程序引思路循环结构是程序中的另一种基本结构,是非常重要的结构,也是Pascal教学中的一个难点。什么是循环结构呢?我往往是从“乌鸦喝水”故事入手,但是学生碰到sum=1+2+3+4+5+100时,培训教材P84例6-2是用计数循环,是学习PASCAL语言遇到的第一种循环,仍然理解不了,多次讲还是理解不了,教学效果事倍功半。1.利用scratch趣味程序建立数学模型。我认为要让学生彻底理解循环结构,还要从当型循环开始,利用scratch趣味程序为孩子们建立数学模型。如培训教材P86例6-5求s=2+6+10+98的值。当型循环(while)语句,部分Pascal源程序和scratch程序对比如下图5BeginX:=2;s:=0;While x=98 doBeginS:=s+x;X:=x+4;end图6借助Scratch程序,当型循环执行过程是先判断,“While x=98 do”相当于Scratch语言中,这样有助于小学孩子的理解。接着我再顺势下去。如果条件满足(即为真),重复执行do后面的语句,如果条件不满足(即为假),当型循环结束,执行while后面的语句。这样程序就会不断重复运行,本程序是x每次加4,s每次把计算结果累加。一个是计数器,一个是累加器。利用形象直观的积木脚本,让孩子对当型循环结构有了初步的感性认识,建立起了累加的数学模型。2.借助于表格和流程图引导算法实现。如何由把抽象的思维转变成理性的思维呢?我再通过表格和流程图以引导。x2610141898s281832501250表格记录算法的实现开始X:=2S:=0结束x=98图10:直到型循环Pascal与Scratch对照图计数循环也是PASCAL语言中的一个难点,在教学过程中发现比前两种循环结构还要难,借Scratch趣味编程,如下图,让学生有一个形象、感性的认识,再利用表格逐步上升到理性理解BeginSum:=0;For i:=1 to 10 doSum:=sum+i;Writeln(s);end图11:计数循环Pascal与Scratch对照图i12345678910sum13610152128364555表格记录算法的实现NY开始i:=0Sum:=1结束i=10?Sum:=sum+i输出sum的值i:=i+1图12:流程图引导算法实现过程有了直到型循环的基础,学生有了直到型循环数学模型,对Scratch趣味编程有了很大的帮助。有一次,我说要三年级的小朋友上第3课 键盘一家,主要是认识基本键,要编写一个接苹果的游戏,你们能帮帮我吗?学生很快完成了,不仅有倒计时功能,还有成绩功能(如图13)。图13接苹果游戏4.子程序,动物过冬故事解模块在编写程序过程中,会碰到代码很长,为了解决这个问题,我们一般采用模块化的思想,即一个程序分解为苦干个模块,有一个模块为主程序模块,其余是子程序模块,程序运行过程中,主程序模块可以调用子程序模块,这样的程序容易编写,可读性强。为了讲清楚这个问题,我利用Scratch编写的“动物过冬故事”情境为同学们来引导同学们的理解。图14:主程序模块图15:主程序模块调用子程序模块的分解当执行脚本时,就调用 “解说词”子程序,此时主程序在等待子程序模块运行的结果;当子程序模块运行结束时,再把结果告诉主程序模块,主程序模块再继续往下运行,结合下图进步建立主程序模块调用子程序模块过程数学模型。主程序模块 子程序模块语句1语句2调用子程序1语句n语句n+1语句1语句2语句n返回到主程序图16分析主程序模块调用子程序模块过程利用以上情境故事,利用Scratch趣味编程分解每一个模块,学生对主程序和子程序有一定的理解,建立主程序调用子程序,子程序运行结束返回主程序的数学模型,这对Pascal语言函数与过程的理解很大的帮助。图16是学生Scratch2.0编写的龟兔赛跑的故事。图16故事龟兔赛跑四、问题的延伸以上是我利用Scratch趣味编程与Pascal语言互动教学一些实例。当然,远远不只这些,如Pascal语言中数组、递归如何与Scratch趣味编程互动?Scratch趣味编程在游戏与动画方面有明显的优势,但在算法设计上还有所欠缺,如何在Scratch趣味编程更好突出算法设计与实现?这些都是我要思考的问题,随着Scratch趣味编程与Pascal语言互动深入探索,我相信肯定能找到两者的深度融合。值得庆幸的是,浙教基201536号浙江省教育厅关于深化义务教育课程改革的指导意见指出:“义务教育课程分为基础性课程和拓展性课程,拓展性课程指学校提供给学生自主选择的学习内容。”我校也在扎扎实实地实施拓展性课程开发,我更有机会与条件实施Scratch趣味编程课程项目,落实了指导意见中的“突出拓展性课程的兴趣性、活动性”,在这项拓展

温馨提示

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

评论

0/150

提交评论