Scratch编程——数据篇
今天我们来探究一下Scratch编程的数据存储问题。记得我当年上学开始学习编程时老师讲过一句话:“变量是组成程序的基本元素”,这句话至今记忆犹新。想想看,程序其实就是对数据的处理,不管程序要完成怎样的任务,其实都是要对相应的数据发出指令,进行计算,更新修改等等。那么在计算机中这些各种各样的数据是怎么存储的呢?答案就是变量,也就是说数据是存储在变量之中的,或者说变量就像一间小房子,数据就像是房间内住的人或者摆放的家具,电器等。所有的编程语言都离不开变量的存在,Scratch也不例外。
就像上面说的在变量这间房子里可以住人,可以摆家具,放电器之类的数据,也就是说数据是有不同类型的。在Scratch中支持字符串,布尔,整数和实数这4种数据类型。比如上次我们在运动篇中让小猫移动100步中的100就是一个整数数据。下图中“5<10”的比较结果真(对)或者假(错)就是一个布尔数据,说“Hello!”中的“Hello!”就是一个字符串,而计算中的3.5,5.2等这些带小数点的数就是实数。在这张图中我们也可以看出不同的数据类型Scratch会用不同的形状块来表示,比如两边圆弧的块是整数或实数的数据,两边尖角的是布尔型数据,长方块是字符串数据。
Scratch中数据可以像上面那样直接在语句或表达式中填写具体的值,这很直观,也很方便。但如果我们想做一些更加复杂的事情时那就不够用了,我们需要引入变量概念,变量之中可以存放数据,而且这个数据是可以变化的,不是一成不变的,就像我们可以在房间里摆桌子,过几天我们还可以把桌子换成椅子一样。变量需要创建(声明),也就是给变量起个名字。Scratch没有对变量名做过多的要求,因为它是图形化的编程结构,更容易一目了然,也就不需要像其他编程语言有那么多的条条框框。我们可以给一个变量起任何名字,当然为了方便我们也不会起的太长,没有实际意义或者奇奇怪怪的字符等那样不好听不好记的名字。所以一般来讲我们会把一个变量名起的尽量好记忆,尽量短小,可以是英文字母,也可以是汉字,也可以加上数字序号等。在Scratch的数据栏里就可以创建变量。
当你点击“建立一个变量”时会出现对话框,在这里你可以填入你给这个变量起的变量名,并选择它的使用范围(作用域)。故名思议,“适用于所有角色”就是说这个变量对此项目中所有的角色都是有效的,大家都可以使用或者修改它,我们也可以叫它“全局变量”。而“仅适用于当前角色”表示这个变量仅仅是针对于当前我们所选择的角色的,其他角色可以看到这个变量但是不能修改它,我们也可以叫它“局部变量”。
当我们点击确定后,这个变量就建立好了,同时我们还可以看到在脚本中可以对这个变量进行操作的一些语句,比如设定数值,增加数值,显示,隐藏。在建立这个变量的时候你不需要说明它是哪种类型的,在使用的时候直接将需要的数据往里面存放就行了,这一点是相当灵活的。
在下面的例子里面我们建立两个变量数据1和数据2,在脚本中我们通过实际语句定义了数据1是小猫每次移动的步数,也就是一个整数。我们通过运算栏中生成随机数的功能给数据1设定-50到50之间任意的步数。数据2是小猫说的话,也就是一个字符串。一开始就是一个简单的字母a,随后通过运算栏中连接字符串的功能不断将数据2自身叠加连接。整体上通过控制栏中的循环功能让这段程序重复的执行4次。
除了建立变量,在Scratch中还可以建立列表(数组)。它是一系列变量的集合,这个集合有一个共同的名字——列表名,列表中会有若干个成员,每个成员有自己的序号和变量的值。这就像一个班级,比如三年二班有30名同学,这30名同学都有自己的名字,同时为了便于管理,这30名同学又都有自己的学号1…30。这里“三年二班”就是列表名,学号就是列表中成员的序号,每个人的名字是各个成员变量的数值。与变量类似,Scratch中也没有严格限定列表成员的数据类型和列表整体的数据类型,在使用的时候再具体定义就可以,成员之间的数据类型也可以是不一样的。列表在建立后也会有一些用于列表操作的语句命令,比如添加一项,对某一项设定值,删除某一项等。
在以后的学习中创建变量和列表的功能会经常使用,它会成为我们使用Scratch编程最有力的武器。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com