本頁使用了標題或全文手工轉換

Logo (程序語言)

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Logo海龜繪圖

Logo是一種計算機程式設計語言,在1966年由西摩爾·派普特和Wally Feurzeig設計,設計Logo的初衷是為了向兒童教授計算機編程技能。Logo一詞源自希臘語邏各斯(logos)。

Logo的原型來自另一個計算機語言LISP,派普特修改了LISP的語法使其更易於閱讀。Logo常被稱作沒有括號的Lisp。

Logo是一種直譯語言,和其他語言不同的是,它內置一套海龜繪圖(Turtle Graphics)系統,通過向海龜發送命令,用戶可以直觀地學習程序的運行過程,因此很適於兒童學習。它亦適合用作數學教學。

Logo繼承了Lisp的「表」的概念,所以在函數處理等方面擁有強大的能力,因此Logo不僅是初學者學習程序設計的良藥,更是有特殊需求的計算機科學家的好幫手。

海龜繪圖[編輯]

海龜繪圖使得Logo用戶可以通過簡單的編程創作出豐富多彩的視覺效果或圖案。假想一隻帶着畫筆的海龜可以接受簡單的命令,例如向前走100步,或者左轉30度。通過對這隻海龜發送命令,可以讓它繪製出較為複雜的圖形,例如正方形,三角形,圓等。

海龜的移動相對於它本身所在的位置。例如,命令"左90"意味着讓海龜左轉90度,學生可以站在海龜的角度來思考它將如何執行命令,這使得程序設計更加形象化,也更易於理解。

程式實例[編輯]

初學者可以不需要任何程式設計的知識而直接向海龜發送命令。學習海龜作圖將會讓用戶懂得一些關於幾何學方面的知識。而一旦掌握了海龜作圖的基礎之後,引入程式設計的概念也變得更加容易。下面看一些例子: FD是前進 LT是左轉 畫一個正方形

FD 100
LT 90
FD 100
LT 90
FD 100
LT 90
FD 100
LT 90

由於輸入的語句都是重複的,可以用重複語句簡化為:

REPEAT 4 [FD 100 LEFT 90]

上面兩段程序得到的結果相同,由於第一個程式幾乎都是重複代碼,因此我們用『REPEAT』讓Logo重複同樣的命令4次,同時還使用了命令的縮寫。為了重複使用上述代碼,我們可以用『TO...END』定義過程:

TO CHAIR 
REPEAT 4 [FD 100 RT 90] FD 200 
END

一旦定義了『CHAIR』過程,就可以直接使用調用它得到結果,為了使得這個過程更加通用化,我們傳遞一個邊長參數:

TO CHAIR :long
   REPEAT 4 [FD :long RT 90]
   FD :long*2
END
CHAIR 100

從簡單地發送繪圖命令,到定義一個通用的繪製多邊形的過程,用戶不但掌握了程序設計上的一些基本思想(傳遞參數、重複等),而且對幾何學上正多邊形的理解也加深了。

多代理建模語言[編輯]

Logo的方言NetLogo、StarLogo進一步深化了Logo的海龜繪圖概念,可以產生出成百上千個獨立的海龜(被稱為代理)來模擬諸如物理生物社會等複雜系統。建模者可以對眾多海龜並行發送指令,來觀察微觀個體行為與個體之間相互影響產生的宏觀樣式之間的聯繫。

LOGO直譯器列表[編輯]