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),括号后的代码将被执行。

下面的截图显示了上述代码的执行和输出。

Decision making

现在,我们将讨论“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]**。

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

Random Sequence
广告