一、条件语句
Scratch提供了两种条件控制类积木,如下图:
初学者需要注意其区别。请看下面的短例:
易知,在这个无限循环中,两个条件语句每次循环都要执行一次。细想一下:是不是没有必要?!因为在每次循环中只能有一种条件得到满足,因此只执行满足条件的部分就可以了。因此,同次循环中再执行另外一个肯定不会满足条件的条件语句将白白浪费CPU时间。
于是,上面的编程可以优化成如下代码:
不要小看这种小小的修改,如果循环执行10000次的话,那么这里条件语句是不是比上面那种少执行了5000次?
此种类型的修改称为代码优化,这在计算机编程中是非常重要的部分。从工业级软件角度来看这个问题则更为重要:例如针对移动端(特别是早期的设备)有限的内存,有些软件开发出现可能会频繁出现内存崩溃,而经优化的同样功能的软件可能会运行得相当流畅。当然,有些高质量的开发工具会自动侦测部分代码的优化并给开发人员相应的提示。但是,在时间允许的条件下尽量做到对代码的精益求精是非常好的习惯——有时候还会有助于发现潜在的BUG!
二、随机数技巧一例
Scratch【运算】类积木中有一块积木与随机数有关,如下:
初学者可能认为上面积木只会在1到10这10个数中随机生成一个正整数。不错,如果你这样使用的话。但是,有些时候可能你想生成一些随机的实数,例如在0和1之间生成某一个随机纯小数,此时你可以使用如下几种形式:
这三种形式中的任一种均可生成0到1之间的一个纯小数。
【附】习惯上,这个随机积木中两个数中小数在左,大数在右,但其实在Scratch中是不分左右的!
三、小结
随着同学们对于Scratch的不断熟悉,麻省理工的科学家们在Scratch积木类型及个数上可以说花费了极大的心思——极简主义,尽量少但又必需!因此,建议同学们在开发过程中不断锤炼代码并经常多思考一些为什么,这对于培训自己的创造性思维是极有好处的。
很不错