Logo - 過程



過程提供了一種封裝一系列命令的方法。建立過程後,可以使用它就像使用內建命令一樣。“過程”的含義是其各個命令的含義。

沒有引數的過程在第一行包含單詞“to”(保留字)和過程的名稱。(Logo 中的保留字不能用作變數,並且具有明確定義的含義和用途。)它在最後一行包含保留字“end”。

子程式是為另一個程式執行的命名步驟序列。子程式的其他名稱包括過程和函式。在 Logo 中,你告訴計算機如何執行某些操作,例如:

to square
repeat 4 [fd 100 rt 90]
end

一旦我們將我們的過程描述給 Logo,我們就可以在命令列上輸入其名稱,就像我們對任何內建內容所做的那樣。在這種情況下,我們將在命令列上鍵入“square”,Logo 會查詢繪製正方形的命令。

單擊顯示為**Edall**(編輯全部)的按鈕以調出 Logo 的內建編輯器。(如果你的 Logo 沒有 Edall 按鈕,請在命令列上鍵入“edall”。)下面的程式碼塊具有子程式所需的結構。

to procedurename
steps of your procedure here
end

過程或子程式必須以單詞“to”開頭,後跟我們想到的名稱。下一步是鍵入我們在命令列上編寫的相同步驟。過程必須以單詞“end”結尾。所有註釋行都應以分號 (;) 開頭。

以下是上述示例的實際演示:

Practical Demonstration

現在,從命令列使用其名稱“square”執行過程,如下所示:

Square

過程不僅可以包含內建命令,還可以包含其他過程。

在下面的示例中,過程“flower”從其主體呼叫我們預定義的過程“square”。

Predefined Procedure

以下螢幕截圖顯示呼叫“flower”過程時的輸出:

Flower

我們不希望每個正方形都相同大小——我們想要多樣性。在 Logo 中,我們建立變數,其值可以更改。在下面的示例中,我們將使用略作修改的相同正方形過程。

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

我們在命令列上為“:n”提供一個替換值,如下所示。

square 50
square 75
square 100

以下是上述示例的實際演示:

Command Line

現在讓我們討論如何向過程傳遞兩個引數。以下螢幕截圖是相同的實際演示。

Pass Two Arguments
廣告