Logo - 决策
决策和变量是相辅相成的。程序需要能够根据情况改变方向。例如,这是一个绘制螺旋的框架。它有一个循环,是之前显示的重复的变体,循环主体由我们填写。
to spiral make "n 1 while [:n < 100] [ make "n :n + 5 fd :n rt 90 ] end
以上代码展示了 MSW Logo 语法的几个新特点。我们通过键入"make"将变量设置为新值,然后变量名称前面是双引号",而不是冒号':',如下所示。
make "n 1
但是,我们使用变量,其名称前面有一个冒号':'。
while [:n < 100]
当条件为真时,执行"while [condition]"后面括号内的代码。当它不再为真时,因为(在这种情况下)':n' 的值大于 100,所以执行括号后面的代码。
以下屏幕截图显示了上述代码的执行和输出。
现在,我们将讨论'if 语句'的使用,其中的代码仅在给定条件为真时才会执行。
它还显示了一个生成随机数的内置 Logo。语句 random 3 以随机序列任意生成任何数字 0、1 或 2。然后,该过程决定"随机"执行哪条路。生成的随机数将保存在'r'中,稍后根据变量'r'的值,将执行其中一个 if 语句,这将满足条件。因此,如果 −
- 'r' 的值为 0,则将执行 [fd 20]。
- 'r' 的值为 1,则将执行 [rt 90 fd 20]。
- 'r' 的值为 2,则将执行 [lt 90 fd 20]。
以下屏幕截图显示了上述讨论的执行和输出。