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]

以下屏幕截图显示了上述讨论的执行和输出。

随机序列