从编写程序到创建程序
《学习场景的革命》章节:从编写程序到创建程序,去读读网友提供全文无弹窗免费在线阅读。!
如今,Logo语言已经衍生出多个版本,从简单的标准版本,如Softronix的MSWLogo,到复杂的版本,如NetLogo。其中,NetLogo的功能强大,可以用来研究在各类复杂系统中的突发行为,比如鸟群的集体行为。
对儿童而言,他们能用Logo语言编写的东西也不少。例如,想要在屏幕上绘制一个正方形,他们只需编写一个简单的程序就能做到,如下所示:
to square:size
repeat 4 [forward:size right 90]
end
这个简单的程序中,“:size”代表了我们称之为“尺寸”的变量参数。也就是说,如果我们想要绘制一个边长为300的正方形,那我们只需用“300”替换掉“:size”,这样边长为300的正方形就会出现在屏幕上。
在Logo语言中,绘制一个正方形需要在每个顶点都转90度,这就意味着想要回到起点,海龟总共需要转360度。在用Logo语言编程的过程中,学生发现,在绘制任意多边形时,海龟总共需要转的度数都是360度或者360度的倍数。我们假设某个学生或许会在他绘制的正方形的基础上做一些延伸,绘制出更多、更复杂的图形。例如,按照下列指令,就能在屏幕上绘制出一个如图9-1所示的漂亮图案:
图9-1 用Logo语言绘制的图形
to pattern:size
repeat 180 [square:size right 2]
end
这个图案实际上是先绘制一个正方形,然后向右转动2度,再绘制一个同样大小的正方形,以此类推,重复这个步骤180次。如果我们在上述指令中,将“:size”替换成“300”,就能得到如图9-1所示的图案。
Logo语言唯一的不足之处就是,想要使用该语言编程,就需要输入正确指令,而很多年纪较小的儿童还没有掌握这项技能。但是,最新版的一些编程语言已经解决了这个问题。由麻省理工学院媒体实验室所开发的Scratch就是一款极佳的类似于Logo语言的图形化编程工具。使用Scratch时,程序由单个的指令积木块拼接而成,这有点类似于玩拼图,但不同的是,这个拼图的组合方式有着无限可能。例如,我们刚绘制的复杂图案同样可以通过Scratch绘制出来,如图9-2所示。
图9-2 用Scratch绘制与图9-1同样的图形的界面
虽然Scratch现在还不支持创建程序,但在将来肯定会支持,这样一来,创建程序就会变得更加容易。Scratch的一大特点是用户能够用多国语言来标记指令积木块。如果学生来自不同的国家,这个特点在教室中就变得非常实用了,因为英语很可能不是部分学生的母语。