編程特例篇——LOGO語言
2019-11-17 05:51:21
供稿:網(wǎng)友
LOGO語言是一種早期的編程語言,也是一種與自然語言非常接近的編程語言,它通過“繪圖”的方式來學習編程,對初學者非凡是兒童進行寓教于樂的教學方式,所以,本期將它作為一種編程語言的特例而選入。 LOGO語言的概述LOGO語言創(chuàng)始于1968年,是美國國家科學基金會所資助的一項專案研究,在麻省理工學院(MIT)的人工智能研究室完成。LOGO源自西臘文,原意即為思想,是由一名叫佩伯特的心理學家在從事兒童學習的研究中,發(fā)現(xiàn)一些與他的想法相反的教學方法,并在一個假日中出外散步時,偶然間看到一個像海龜?shù)臋C械裝置觸發(fā)靈感,于是利用他廣博的知識及聰明的才智而最終完成了LOGO語言的設計。
繪圖是LOGO語言中最主要的功能,佩伯特博士就是希望能通過繪圖的方式來培養(yǎng)學生學習電腦的愛好和正確的學習觀念。LOGO語言從開始發(fā)展到現(xiàn)在,已有Windows版本——MSWLogo,包括Windows 3.X版及Windows9X版(下載網(wǎng)址http://www.softronix.com/logo.Html)等。在以前的LOGO語言中有一個海龜,它有位置與指向兩個重要參數(shù),海龜按程序中的LOGO指令或用戶的操作命令在屏幕上執(zhí)行一定的動作,現(xiàn)在,圖中的海龜由小三角形所替代。 LOGO語言的基本命令 我們在下面介紹一些LOGO語言中最基本的繪圖命令:
1.與移動有關的指令:“前進”、“后退”和“歸位”。前進命令可讓海龜前移一定的單位數(shù),例如:執(zhí)行“Forward(前進) 50”命令后,小海龜則會向前移動50個單位;后退命令則可讓小海龜向后移動,假如執(zhí)行“Back(后退) 50”命令,那么小海龜?shù)姆较虿粫l(fā)生改變,而會向后退50個單位;執(zhí)行歸位命令后,不論當前小海龜?shù)奈恢眉胺较蛟鯓樱蜁怨缘鼗氐嚼L圖區(qū)的中心位置,并且朝向屏幕的正上方。
2.與轉(zhuǎn)彎有關的指令:“右轉(zhuǎn)”和 “左轉(zhuǎn)”。右轉(zhuǎn)命令可讓小海龜按要求向右邊轉(zhuǎn)動一定的角度,例如:執(zhí)行“Right(右轉(zhuǎn)) 45”命令則小海龜?shù)某驅(qū)⑾蛴肄D(zhuǎn)動45度角;而左轉(zhuǎn)命令則可讓小海龜向左轉(zhuǎn)動,如:執(zhí)行“Left 45”命令則小海龜?shù)某驅(qū)⑾蜃筠D(zhuǎn)動45度角。這幾種命令可以驅(qū)動小海龜繞其中心旋轉(zhuǎn)一定的角度。
3.與控制有關的命令有REPEAT(重復)、IF…THEN…ELSE…(條件執(zhí)行)等。如執(zhí)行REPEAT 4[FORWARD 200 RlGHT 9O]就能畫出圖2中的正方形,假如直接將移動命令和轉(zhuǎn)彎命令相結合,則寫出的語句就比較多,但都是一些重復地使用4次“Forward 100”和“Right 90”命令。 LOGO語言的特點LOGO語言之所以是兒童學習計算機編程最好的一種語言,就因為它是針對兒童而制作的編程語言,能使兒童在認知與技能上得到較大的發(fā)展。LOGO語言具有較強的針對性,因為對于兒童來說,“畫畫”比“文字處理”更具有活力,充分發(fā)揮自己的想象進行創(chuàng)作,而文字處理卻比較枯燥,不適合兒童。LOGO則主要用于“圖畫”制作,并且采用了“海龜繪圖”的方式,適合兒童的特點,能充分引起他們的愛好和學習該門語言的積極性,達到寓教于樂的目的。在LOGO語言中,它的作圖方式與現(xiàn)在所用的作圖軟件不一樣,主要區(qū)別就在于LOGO語言的基本作圖的方法可以不采用坐標方式,而是通過向前,后退、向左轉(zhuǎn)、向右轉(zhuǎn)、回家等兒童易于理解的語言和命令,這非常適合兒童的知識水平,使這些還未接觸坐標為何物的兒童更輕易上手。在用LOGO語言作圖時,需要學習者對一些常見的幾何特性進行理解,了解常用的距離、角度和度數(shù)的概念。 LOGO語言的編程 一般的編程語言都需要編寫程序,當然,LOGO語言也不例外。由于指令輕易輸入錯誤,不易修改且無法保存,更不能重復使用,假如需要重新繪制相同的圖形,那么必須輸入與以前相同的指令,并且這些曾輸入的指令不能加以組合。至于程序的內(nèi)容,是由解決問題的步驟所需要的指令組合而成的,需由設計者賦予該程序以名稱,以供識別。使用LOGO語言作圖,雖然可以通過命令行方式進行,但這僅針對初學LOGO語言時,可以開始學一些常用命令,作出一些簡單的圖形,以引起兒童的愛好。在對命令比較了解及熟悉以后,就可以進行針對性地學習一些簡單的程序編寫,作出更加漂亮的圖形。 下面我將以MSWLogo V6.4為例來介紹如何建立一個程序的基本語法:
1.作為一個程序是以“起始”為開始,“終止”為結束。當選擇“編輯新程序”時,在程序編輯區(qū)中將會出現(xiàn)以下的字符,供程序者填入相應的命令。
To(起始) 程序名稱 N //修改程序名稱以供識別
…………..
…………..//輸入解決問題所用到的命令
…………..
End(終止)
2.繪制不同大小的圖形時需要選擇不同的參數(shù),所以使用者在設計程序時,需要使用一個比較適合的并有意義的名稱來代表,傳給參數(shù)的數(shù)值資料不同則執(zhí)行結果也就不同,并且程序在執(zhí)行過程中,也會不斷地變化參數(shù)的內(nèi)容。在選擇參數(shù)時,需要在參數(shù)名稱前面加上冒號,用來與一般程序中的命令區(qū)別開。如:
起始 程序名稱 N :參數(shù)1 :參數(shù)2 … //定義列
…………….
Repeat :參數(shù) 1[Forward :參數(shù)2 …] //輸入解決問題所需的命令
…………….
終止
當程序內(nèi)容含有參數(shù)時,必須將所有參數(shù)寫在定義列之后,以便執(zhí)行時能接收必要的資料。
3.IF…THEN …ELSE…條件執(zhí)行語句
基本格式為:IF 條件表達式 THEN [命令行1] ELSE [命令行2]
[命令行3]
當條件表達式:成立時,執(zhí)行[命令行1]內(nèi)的命令;不成立時,執(zhí)行[命令行2]內(nèi)的指令;在執(zhí)行完[命令行1]或[命令行2]之后,則繼續(xù)執(zhí)行[命令行3]