Logo - 決策



決策和變數是相輔相成的。程式需要能夠根據情況改變執行路徑。例如,這是一個繪製螺旋線的框架。它包含一個迴圈(對前面顯示的重複的變體),迴圈體需要我們填寫。

to spiral
   make "n 1
   while [:n < 100] [
      make "n :n + 5
      fd :n rt 90
   ]
end

上述程式碼展示了MSW Logo語法的一些新特性。我們透過輸入“make”來將變數設定為一個新值,然後變數名前面用雙引號“ ”而不是冒號“:” (如下所示)。

make "n 1

但是,我們使用帶有冒號“:”的變數。

while [:n < 100]

在“while [condition]”後面的程式碼會在條件為真時執行。當條件不再為真時(在本例中,是“:n”的值大於100),括號後的程式碼將被執行。

下面的截圖顯示了上述程式碼的執行和輸出。

Decision making

現在,我們將討論“if語句”的使用,其程式碼只有在給定條件為真時才會執行。

它還顯示了一個生成隨機數的內建Logo函式。語句**random 3**會隨機生成0、1或2中的任意一個數字。然後,該過程決定隨機選擇哪個方向。“r”將儲存生成的隨機數,稍後根據變數“r”的值,將執行滿足條件的if語句之一。因此,如果:

  • “r”的值為0,則執行**[fd 20]**。
  • “r”的值為1,則執行**[rt 90 fd 20]**。
  • “r”的值為2,則執行**[lt 90 fd 20]**。

下面的截圖顯示了上述討論的執行和輸出。

Random Sequence
廣告