程序( Procedures)

优质
小牛编辑
128浏览
2023-12-01

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

没有参数的过程在第一行有“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

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

命令行

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

通过两个论点