LOGO語言

LOGO語言

LOGO語言是一種早期的程式語言,也是一種與自然語言非常接近的程式語言,它通過“繪圖”的方式來學習編程,對初學者特別是兒童進行寓教於樂的教學方式。 LOGO語言創始於1968年,是美國國家科學基金會所資助的一項專案研究,在麻省理工大學(MIT)的人工智慧研究室完成。 LOGO源自希臘文,原意即為思想,是由一名叫西摩爾·帕伯特的心理學家在從事兒童學習的研究中,發現一些與他的想法相反的教學方法,並在一個假日中出外散步時,偶然間看到一個像海龜的機械裝置觸發靈感,於是利用他廣博的知識及聰明的才智而最終完成了LOGO語言的設計。

基本介紹

  • 中文名:LOGO語言
  • 實質程式語言
  • 創造時間:1968年
  • 設計人:西摩爾·帕伯特
  • 主要功能:繪圖
  • 基本繪圖命令:移動、轉彎、控制
語言介紹,易樂谷,創新LOGO,Flash版,基本命令,語言特點,編寫程式,命令簡寫,坐標作圖,檔案管理,數值計算,字表處理,

語言介紹

繪圖是LOGO語言中最主要的功能,佩伯特博士就是希望能通過繪圖的方式來培養學生學習電腦的興趣和正確的學習觀念。LOGO語言從開始發展到現在,已有Windows版本——MSWLogo,包括Windows 3.X版及Windows9X版等。在以前的LOGO語言中有一個海龜,它有位置與指向兩個重要參數,海龜按程式中的LOGO指令或用戶的操作命令在螢幕上執行一定的動作,現在,圖中的海龜由小三角形所替代。上世紀90年代,台灣推出繁體版的LOGO語言,稱之為:【葛拉堡/Gerlabau】,其後大陸也推出了中文化的LOGO語言,分別是“易樂谷/ELOGO”、“創新CX-LOGO/微世界”和“Flash版Logo語言”,發揚了中文編程的優勢。

易樂谷

易樂谷ELOGO中文編程系統”由大連大有吳濤易語言軟體開發有限公司出品的漢語編程工具易語言開發的,是一個以LOGO語言語法為基本語法規則,易語言中文化為實現目標,以流程圖為教學輔助,提供幼稚園、國小、退休人員及國小教學師作為入門級學習編程的一種簡單工具。本程式由大連大有吳濤易語言軟體開發有限公司向幼稚園、國小校、教師、退休人員等編程愛好入門者提供。

創新LOGO

CX-LOGO語言是一種結構化程式設計語言。它是互動式的,為少年兒童提供了良好的編程環境;它是模組化的,便於程式的修改與擴充;它是過程化的,包含了過程、參數、變數等重要概念,並允許遞歸調用;它有豐富的數據結構類型,有生動的圖形處理功能。
CX-LOGO語言獨創的流程圖工作方式和過程庫的建立,可方便的使用“搭積木”的方法,構建“知識”,使學習更容易、操作更簡便,學生只需簡單的學習就可以操作。
CX-LOGO語言不僅具備多種優秀程式設計語言的優點,而且更接近自然語言,生動有趣,簡單易學,它能用直觀的運動來體現編程的結果,讓少年兒童在遊戲中進行思考,在趣味中學習,深受少年兒童的歡迎。通過CX-LOGO語言的教學,以學習一種“玩具”為出發點,可以培養學生學習計算機的興趣,使他們初步了解計算機是如何工作的,為他們今後學習其他高級程式語言設計鋪設道路
CX-LOGO語言是專為中國少年兒童開發的創新平台,孩子們可以在電腦上指揮七色瓢蟲移動、轉向、行走、發光、回響外界刺激等。這些具有創造性的學習工具所倡導的“做中學”的學習理念,非常適合課堂教學,極大地激發了孩子們學習的興趣。

Flash版

Flash版LOGO語言是用Flash的As3語言編寫的程式,模擬了PC-Logo語言中適合中小學生學習的命令,保留了過程、遞歸等重要概念,簡化了一些格式要求,比如變數前不用加冒號和引號等。可以讓學習過PC-Logo語言的學生快速接受。
在成功模擬Logo語言的基礎上,填加了模擬智慧型機器人的命令。可以用已畫好的圖形轉變成特定的機器人運行所必須的場地,比如可以圖形變火焰,圖形變障礙物,圖形變水波等,可以實現機器人走迷宮,機器人滅火,機器人彈球等。
由於模擬機器人的命令簡單易學,簡單幾條命令就可以實現有趣的機器人走迷宮,而且機器人的探測器是如何工作的也是簡單明了,為以後實戰機器人奠定基礎。
Flash版Logo語言是位一線教師根據多年教學Logo語言的經驗,花費三年多時間,在Flash As3 平台下編寫的,由於是Flash版的,它可以在網頁上運行,只要是支持Flash的系統都可以運行,比如現今在平板和手機上流行的安卓系統都可以運行,以後可以隨時隨地編寫程式玩了。

基本命令

我們在下面介紹一些LOGO語言中最基本的繪圖命令:
1.與移動有關的指令:“前進”、“後退”和“歸位”。前進命令可讓海龜前移一定的單位數,例如:執行“FD(前進,forward的縮寫) 50”命令後,小海龜則會向前移動50個單位;後退命令則可讓小海龜向後移動,如果執行“BK(後退,back的縮寫) 50”命令,那么小海龜的方向不會發生改變,而會向後退50個單位;執行歸位命令後,不論當前小海龜的位置及方向怎樣,它就會乖乖地回到繪圖區的中央位置,並且朝向螢幕的正上方。
2.與轉彎有關的指令:“右轉”和 “左轉”。右轉命令可讓小海龜按要求向右邊轉動一定的角度,例如:執行“RT(右轉,right的縮寫) 45”命令則小海龜的朝向將向右轉動45度角;而執行“LT(左轉,left的縮寫) 45”命令則小海龜的朝向將向左轉動45度角。這兩種命令可以驅使小海龜繞其中心旋轉一定的角度。
3.與控制有關的命令有REPEAT(重複)、IF…THEN…ELSE…(條件執行)等。如執行REPEAT 4[FD 200 RT 9O]就能畫出圖2中的正方形,如果直接將移動命令和轉彎命令相結合,則寫出的語句就比較多,但都是一些重複地使用4次“FD 100”和“RT 90”命令。

語言特點

LOGO語言之所以是兒童學習計算機編程最好的一種語言,就因為它是針對兒童而製作的程式語言,能使兒童在認知與技能上得到較大的發展。LOGO語言具有較強的針對性,因為對於兒童來說,“畫畫”比“文字處理”更具有活力,充分發揮自己的想像進行創作,而文字處理卻比較枯燥,不適合兒童。LOGO則主要用於“圖畫”製作,並且採用了“海龜繪圖”的方式,適合兒童的特點,能充分引起他們的興趣和學習該門語言的積極性,達到寓教於樂的目的。在LOGO語言中,它的作圖方式與現在所用的作圖軟體不一樣,主要區別就在於LOGO語言的基本作圖的方法可以不採用坐標方式,而是通過向前,後退、向左轉、向右轉、回家等兒童易於理解的語言和命令,這非常適合兒童的知識水平,使這些還未接觸坐標為何物的兒童更容易上手。在用LOGO語言作圖時,需要學習者對一些常見的幾何特性進行理解,了解常用的距離、角度和度數的概念。
但是logo語言的功能不止於此,它擁有許多語言不可替代的作用,比如強大的計算能力、先進的視窗理念,並且logo語言的許多理念是可以代表著人類發展的規律的,學習這些,可以讓人變聰明。

編寫程式

一般的程式語言都需要編寫程式,當然,LOGO語言也不例外。由於指令容易輸入錯誤,不易修改且無法保存,更不能重複使用,如果需要重新繪製相同的圖形,那么必須輸入與以前相同的指令,並且這些曾輸入的指令不能加以組合。至於程式的內容,是由解決問題的步驟所需要的指令組合而成的,需由設計者賦予該程式以名稱,以供識別。使用LOGO語言作圖,雖然可以通過命令行方式進行,但這僅針對初學LOGO語言時,可以開始學一些常用命令,作出一些簡單的圖形,以引起兒童的興趣。在對命令比較了解及熟悉以後,就可以進行針對性地學習一些簡單的程式編寫,作出更加漂亮的圖形。 下面我將以MSWLogo V6.4為例來介紹如何建立一個程式的基本語法:
1.作為一個程式是以“起始”為開始,“終止”為結束。當選擇“編輯新程式”時,在程式編輯區中將會出現以下的字元,供程式者填入相應的命令。
To(起始) 程式名稱 N //修改程式名稱以供識別
(過程體)
End(終止)
2.繪製不同大小的圖形時需要選擇不同的參數,所以使用者在設計程式時,需要使用一個比較適合的並有意義的名稱來代表,傳給參數的數值資料不同則執行結果也就不同,並且程式在執行過程中,也會不斷地變化參數的內容。在選擇參數時,需要在參數名稱前面加上冒號,用來與一般程式中的命令區別開。如:
起始 程式名稱 N :參數1 :參數2 … //定義列
…………….
Repeat :參數 1[Forward :參數2 …] //輸入解決問題所需的命令
…………….
終止
當程式內容含有參數時,必須將所有參數寫在定義列之後,以便執行時能接收必要的資料。
3.IF…THEN …ELSE…條件執行語句
基本格式為:IF條件表達式THEN [命令行1] ELSE [命令行2]
[命令行3]
當條件表達式:成立時,執行[命令行1]內的命令;不成立時,執行[命令行2]內的指令;在執行完[命令行1]或[命令行2]之後,則繼續執行[命令行3]

命令簡寫

DRAW - 清屏、海龜回起點位
CLEAN清除基本命令
CS 清屏並復位
CT 清除先前所有文字
FD 前進
BK 後退
RT 右轉
LT 左轉
PU 抬筆
PD 落筆
HT 隱龜
ST 顯龜
HOME - 回出發點
Repeat - 重複
SS 圖文混合屏
FS 全圖形屏
TS 全文字屏
ND 全文字屏、清屏
WRAP - 環繞狀態
WINDOW - 視窗狀態
FENCE - 圍欄狀態
SHOW - 螢幕輸出
TT - 在畫圖區顯示文字
TO……END - 過程頭、尾
IF…THEN…STOP-如果……那么……停止
PAUSE -正確
CONTINUE CO -
EDIT ALL - 進入編輯部
STOP - 停止
TOPLEVEL -
SETPC - 設定畫筆顏色
SETBG - 設定螢幕底色

坐標作圖

SETX - 指定海龜橫向位置
SETY - 指定海龜縱向位置
SETXY - 指定海龜任意位置
SETHEADING SETH - 指定海龜方向
XCOR - 顯示海龜當前位置的X坐標
YCOR - 顯示海龜當前位置的Y坐標
GETXY - 顯示海龜當前位置的X,Y坐標
HEADING - 顯示海龜指向角度

檔案管理

POTS - 顯示工作區內所有過程的標題
POPS(PO ALL) - 顯示工作區內所有過程的內容
PRINTOUT PO 顯示工作區內過程的內容
ERASE(ER ALL) ER 刪除工作區中的過程
DIRECTORY DIR 顯示磁碟檔案目錄
DISK - 顯示當前盤
SETDISK - 設定當前盤
SAVE - 把程式存檔
LOAD - 讀程式檔案
SAVEPIC - 圖形存檔
LOADPIC - 讀圖形檔案
DELETE -刪除檔案
RENAME REN 檔案改名

數值計算

PRINT PR 換行列印
TYPE - 同行列印
SETCURSOR - 列印格式
OUTPUT OP 輸出
INT - 取整函式
ROUND - 四捨五入函式
QUOTIENT - 求商函式
REMAINDER - 餘數函式
RANDOM -隨機函式
SQRT - 平方根函式
ABS -絕對值函式
MAKE -賦值
PRECISION - 數字顯示精度

字表處理

FIRST - 取首
LAST - 取尾
BUTFIRST BF 去首
BUTLAST BL 去尾
EMPTY? - 判斷是否為空
READ - 從鍵盤上接受一串字元
READCHAR RC 從鍵盤上接受一個字元
READLIST RL 從鍵盤上接受一個表
READQUOTE RQ 從鍵盤上接受一個字
RESULT:- 結果
TRUE - 真
FALSE - 假
COUNT - 測長函式
MAKE -賦值
ITEM - 輸出表中第:K個元素
TEST - 測試條件
IFTRUE IFT 測試真
IFFALSE IFF 測試假
KEY? - 是否有鍵盤輸入
NUMBER? - 是否是數
WORD? - 是否是字
LIST? - 是否是表
WORD - 連線字
SENTENCE SE 字與表、表與表的連線
FPUT - 連線到表(字)首
LPUT - 連線到表(字)尾
LIST - 組成表
RUN - 運行表
DEFINE - 定義過程
ASCII - 輸出字元的ASCII碼
CHAR - 輸出ASCII碼值的字元

相關詞條

熱門詞條

聯絡我們