Scratch中的基本数据类型
2023-02-07流河建伟
流河建伟
Scratch中的代码块形状,有椭圆形的,有六边形的。如图1:
为什么会有这样的区分呢?因为不同的形状,代表着不同的数据类型。
在Scratch中,变量、移动的步数、面向的方向和造型的编号都是数据;与、或和不成立的结果也是数据。凡是可以放入椭圆形或六边形框内的积木块,都是数据。数据类型就是这些数据的属性,不同形状的积木块,代表不同的属性,就是数据类型。
Scratch中有三种基本数据类型。
在Scratch中找到自制积木,点击制作新的积木。如图2:
自制积木的参数提示的数字、文本或布尔值,就是Scratch的三种基本数据类型。从图2可以看出,数字类型或文本类型,用椭圆形代码块表示。布尔类型用六边形代码块表示。Scratch中所有代码块需要填写参数的地方,也只有椭圆形和六边形的代码框,对应着三种基本数据类型。
顾名思义,数字类型表示数字,用于存储数学计算的数值数据。文本类型是用于存储文本的数值数据。布尔类型的名字是英文Boolean的音译,它只有两个值,分别是“是”或“非”,也称之为“真”或“假”,英文分别表示为“true”或“false”。在Scratch中,“假”被称为“不成立”。
Scratch中数字类型和文本类型没有明显的区分,只有在使用的时候才能分辨此数据是数字类型还是文本类型。布尔类型比较容易区分。
如图3:
1.如图3代码中六边形的积木框里面放置的就是布尔类型的数据。小于积木块或等于积木块的结果,恰好是一个六边形的积木块,即布尔类型的数据。布尔类型只有两个值,“真”和“假”,满足条件为“真”,不满足条件为“假”。
2.代码1中,因为减是数学运算,所以变量3的值为数字类型。
3.代码2中,因为连接不是数学运算,而是文本常进行的操作,所以变量3的值为文本类型。文本类型和数字类型,在使用过程中是可以根据使用方式不同而进行转换的。
4.代码3中,因为减是数学运算,所以要把变量1和变量2的值当作数字类型,然后进行减运算。但是字母a和字母b没有办法转换为数字类型,Scratch为了让小朋友们可以更友好地使用Scratch软件,没有把错误报出来,而是把这个错误设置为了0。但在传统编程语言中,这种情况就会报错,如图4,Python把非数字类型的数据进行数学运算的话,就会得到红色报错,两个字符串之间不支持减运算。
上面说到,在满足条件的情况下,数字类型和文本类型是可以相互转换的。布尔类型也可以转换为数字类型或者文本类型。尝试把六边形数字放入椭圆形积木块的框中,是可以放进去的,如图5:
布尔类型可以转换为数字类型或文本类型的。在需要数学运算时,布尔类型就转换为数字。在需要文本时,布尔类型就转换为文本。布尔类型转换为数字或文本时值是固定的。转换为数字时,值为真时,数字为1,值为假时,数字为0。转换为文本时,值为真时,文本为true,值为假时,文本为false。
数字类型和文本类型是不能转换为布尔类型的,如果想把椭圆形代码块放入到六边形代码块的框中,是没法成功的。
为什么数据要有数据类型呢?
1.程序运行时,数据都是放在内存里的。不同的数据,占用的内存不一样,把数据分成不同的数据类型,可以充分利用内存,给占用较小内存的数据分配较小的内存,以最大限度地节約内存的使用。
2.软件针对不同类型的数据,处理和操作的方式也不一样。比如:数字类型的数据,多进行数学运算;文本类型的数据,多用于显示、连接、分割等操作;布尔类型,用于条件判断。把数据区分为不同的类型,软件在遇到该类型时就用特定的处理方式,可以更高效地处理该类型的数据。
3.区分数据类型,可以增加代码的可读性。在Scratch中,看到六边形的代码块,就知道是布尔类型数据,是用于判断的。