程序( Procedures)
过程提供了一种封装命令集合的方法。 一旦创建了一个过程,它就可以像使用内置命令一样使用。 程序的“含义”是其各个命令的含义。
没有参数的过程在第一行有“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
我们在命令行上为':n'提供Logo替换值,如下所示。
square 50
square 75
square 100
以下是上述示例的实际演示 -
现在让我们讨论如何将两个参数传递给过程。 以下截图是相同的实际演示。