徽标 - 程序


过程提供了一种封装命令集合的方法。创建过程后,就可以像使用内置命令一样使用它。过程的“含义”是其各个命令的含义。

不带参数的过程在第一行有单词“to”(保留字)和过程名称。(Logo 中的保留字不能用作变量,并且具有明确定义的含义和用途。)它的最后一行有保留字“end”。

子程序是供另一个程序执行的命名步骤序列。子程序的其他名称是过程和函数。在 Logo 中,你告诉计算机如何做某事 - 例如 -

to square
repeat 4 [fd 100 rt 90]
end

一旦我们描述了 Logo 的过程,我们就可以在命令行中输入它的名称,就像我们对任何内置事物所做的那样。在本例中,我们将在命令行中输入“square”,Logo 会查找命令来制作一个正方形。

单击显示Edall (全部编辑)的按钮以调出 Logo 的内置编辑器。(如果您的徽标没有 Edall 按钮,请在命令行中输入“edall”)。以下代码块具有子程序所需的结构。

to procedurename
steps of your procedure here
end

过程或子程序必须以单词“to”开头,后跟我们想到的名称。下一步是键入我们在命令行上编写的所有相同步骤。该过程必须以“结束”一词结束。所有注释或备注行前面应加分号 (;)。

以下是上述示例的实际演示 -

实际示范

现在,从命令行,使用其名称“square”执行该过程,如下所示 -

正方形

过程不仅可以包含内置命令,还可以包含其他过程。

在下面的示例中,过程“flower”从其主体中调用我们预定义的过程“square”。

预定义程序

以下屏幕截图显示了调用过程“flower”时的输出 -

花

我们不希望每个方块大小相同——我们想要多样性。在 Logo 中,我们创建了可以更改其值的变量。在下面的示例中,我们将使用相同的平方过程,但稍加改动。

to square :n
repeat 4 [fd :n rt 90]
end

我们在命令行上为 Logo 提供了 ':n' 的替换值,如下所示。

square 50
square 75
square 100

这是上面示例的实际演示 -

命令行

现在让我们讨论如何将两个参数传递给过程。以下屏幕截图是其实际演示。

传递两个参数