Logo - 过程
过程提供了一种封装命令集合的方法。一旦创建了过程,就可以像使用内置命令一样使用它。过程的"含义"是其各个命令的含义。
没有参数的过程在第一行有单词"to"(保留字)和过程名称。(Logo 中的保留字不能用作变量,并且具有明确的含义和用途。)它在最后一行有保留字"end"。
子程序是另一个程序要执行的命名步骤序列。子程序的其他名称是过程和函数。在 Logo 中,您可以告诉计算机如何做某事 — 例如 −
to square repeat 4 [fd 100 rt 90] end
一旦我们向 Logo 描述了我们的程序,我们就可以在命令行中输入它的名称,就像我们对任何内置的东西所做的那样。在这种情况下,我们会在命令行中输入"square",Logo 会查找命令来制作一个正方形。
单击按钮 Edall(用于编辑全部)以调出 Logo 的内置编辑器。(如果您的 Logo 没有 Edall 按钮,请在命令行中输入"edall")。以下代码块具有子程序所需的结构。
to procedurename 此处输入程序步骤 end
程序或子程序必须以单词"to"开头,后跟我们想到的名称。下一步是输入我们在命令行中编写的所有相同步骤。程序必须以单词"end"结尾。所有注释或备注行前面都应加分号 (;)。
以下是上述示例的实际演示 −
现在,从命令行,使用其名称"square"执行过程,如下所示 −
过程不仅可以包含内置命令,还可以包含其他过程。
在下面的示例中,过程"flower"从其主体调用我们预定义的过程"square"。
以下屏幕截图显示了调用过程"flower"时的输出−
我们不希望每个方块都是相同大小——我们希望有多样性。在 Logo 中,我们创建变量,其值可以更改。我们将在以下示例中使用相同的 square 过程,但略作修改。
to square :n repeat 4 [fd :n rt 90] end
我们在命令行上为 Logo 提供':n'的替换值,如下所示。
square 50 square 75 square 100
以下是上述示例的实际演示 −
现在让我们讨论如何将两个参数传递给过程。以下屏幕截图是相同的实际演示。