Logo - 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"开头,后跟我们想到的名称.下一步是键入我们在命令行上编写的所有相同步骤.该程序必须以"结束"一词结尾.所有注释或注释行都应以分号(;)开头.

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

Practical Demonstration

现在,从命令行,使用名称"square"执行该过程,如下所示 :

Square

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

在下面的示例中,过程'flower'从其正文中调用我们预定义的过程'square'.

预定义过程

以下屏幕截图显示了调用"flower"过程时的输出 :

Flower

我们不希望每个广场都具有相同的尺寸 - 我们想要多样化.在Logo中,我们创建变量,我们可以更改其值.我们将使用相同的平方程序,并在以下示例中进行少量更改.

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

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

 
 square 50 
 square 75 
 square 100

这里是以上示例的实际演示 :

命令行

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

传递两个参数