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