程序其实就是对数据的处理,不管程序要完成怎样的任务,其实都是要对相应的数据发出指令,进行计算,更新修改等等。那么在计算机中这些各种各样的数据是怎么存储的呢?答案就是变量,也就是说数据是存储在变量之中的,或者说变量就像一间小房子,数据就像是房间内住的人或者摆放的家具,电器等。所有的编程语言都离不开变量的存在,Scratch也不例外。
就像上面说的在变量这间房子里可以住人,可以摆家具,放电器之类的数据,也就是说数据是有不同类型的。在Scratch中支持字符串,布尔,整数和实数这4种数据类型。比如上次我们在运动篇中让小猫移动100步中的100就是一个整数数据。
Scratch中数据可以像上面那样直接在语句或表达式中填写具体的值,这很直观,也很方便。但如果我们想做一些更加复杂的事情时那就不够用了,我们需要引入变量概念,变量之中可以存放数据,而且这个数据是可以变化的,不是一成不变的,就像我们可以在房间里摆桌子,过几天我们还可以把桌子换成椅子一样。变量需要创建(声明),也就是给变量起个名字。Scratch没有对变量名做过多的要求,因为它是图形化的编程结构,更容易一目了然,也就不需要像其他编程语言有那么多的条条框框。我们可以给一个变量起任何名字,当然为了方便我们也不会起的太长,没有实际意义或者奇奇怪怪的字符等那样不好听不好记的名字。所以一般来讲我们会把一个变量名起的尽量好记忆,尽量短小,可以是英文字母,也可以是汉字,也可以加上数字序号等。在Scratch的数据栏里就可以创建变量。
当我们点击确定后,这个变量就建立好了,同时我们还可以看到在脚本中可以对这个变量进行操作的一些语句,比如设定数值,增加数值,显示,隐藏。在建立这个变量的时候你不需要说明它是哪种类型的,在使用的时候直接将需要的数据往里面存放就行了,这一点是相当灵活的。
在下面的例子里面我们建立两个变量数据1和数据2,在脚本中我们通过实际语句定义了数据1是小猫每次移动的步数,也就是一个整数。我们通过运算栏中生成随机数的功能给数据1设定-50到50之间任意的步数。数据2是小猫说的话,也就是一个字符串。一开始就是一个简单的字母a,随后通过运算栏中连接字符串的功能不断将数据2自身叠加连接。整体上通过控制栏中的循环功能让这段程序重复的执行4次。
除了建立变量,在Scratch中还可以建立列表(数组)。它是一系列变量的集合,这个集合有一个共同的名字——列表名,列表中会有若干个成员,每个成员有自己的序号和变量的值。这就像一个班级,比如二年二班有30名同学,这30名同学都有自己的名字,同时为了便于管理,这30名同学又都有自己的学号1…30。这里“二年二班”就是列表名,学号就是列表中成员的序号,每个人的名字是各个成员变量的数值。与变量类似,Scratch中也没有严格限定列表成员的数据类型和列表整体的数据类型,在使用的时候再具体定义就可以,成员之间的数据类型也可以是不一样的。列表在建立后也会有一些用于列表操作的语句命令,比如添加一项,对某一项设定值,删除某一项等。