李存儒
[摘 要]以Logo語言為背景程序設計教學并不是強化Logo語言知識本身,而是培養和訓練學生的思維深度和抽象認知能力。引導學生使用logo語言將解決問題的算法落實在與計算機的對話中,初步認識結構化程序設計思想,為以后的進一步學習打下基礎。
[關鍵詞]Logo語言;思維深度;算法
[中圖分類號] G43 [文獻標識碼] A [文章編號] 1007-9068(2017)30-0086-02
現在的小學信息技術教學過多地把信息技術單純看成技術應用,學習掌握的只是應用程序,是在按照程序做事,通過程序化的模塊(菜單)進行判斷決策,選擇合適操作,學生的思維和創造力沒有得到全面的發展。而另一個層面的程序控制及其思想卻被忽略了,由此我們想到了應該增設初步的程序設計內容,來啟迪學生的創造性思維,也正是這種思考,logo語言教學重新又回到了課程中。
一、Logo語言的特點——命令簡單易記,執行靈活多變
logo語言的系統命令一般由英語單詞縮寫而成,如“HT”是“hideturtle”的縮寫,藏龜命令?!癋D”是“forward”的縮寫,是前進命令。在logo語言中,可以將一個或幾個命令一起依次輸入,每個命令之間用空格分開,logo按順序依次編譯執行。
Logo語言命令的執行方式有兩種:立即執行和過程運行。1.立即執行。在LOGO上畫圖最直接的方式是在“文本窗口”輸入命令,“文本窗口”中命令的輸入是與“作圖窗口”上的圖形顯示同步的,只要命令符合語法規則,海龜能馬上按照命令執行動作,效果立竿見影。2.過程執行。是指小海龜能夠完成一組命令,且這組命令能夠被保存下來,反復使用。所謂過程是為達到某種目的而按一定的規則組織起來的Logo語言的語句集合,這些過程又可作為其他過程的子過程,組織更復雜的過程,以此來解決復雜的問題。過程一經定義便為一個新的命令,以后可用來作為基本命令進行調用,其擴展性強。程序還可以遞歸(自我調用),給編制高水平的程序帶來極大的方便。
二、教學設計——想象力的培養和思維深度的訓練
1.想象力的培養
想象力是發展學生創造性思維必不可少的條件和重要內容。想象力是這樣一個過程,我們可以在頭腦中構想各種各樣的圖景,把自己所期望或所想達成的愿望描摹在上面。想象力雖是人天生具有的能力,但這種能力是可以通過后天改善和提高的。想象力有著無可估量的價值。Logo語言設計中,教師要鼓勵學生展開想象,幫助學生想辦法把想象變成指導實踐的具體方法,從而達到提高學生想象能力的目的。
2.思維深度的訓練
思維深度,是指一個人邏輯思路連貫性和全面性的程度,它在思考力體系的關系中是基礎性的, 在某種程度上它影響著思維速度。思維深度深的人思路清晰、細致、善于總結規律,解決問題的效率高。
logo編程有這樣的特點,命令不用編譯,再短的命令只要符合語法規范,馬上可以執行,這樣設計的優點是學生能很快地看到程序運行的結果,缺點是學生容易養成 “短思維”的習慣。在畫稍微復雜的圖形時,“一條命令,一個回車”,會造成短命令碎片多、無條理、程序查錯困難等一系列問題。如果編寫程序時能多想幾步,將邏輯上相對完整的語句寫在一行中,一并執行,或者使用“過程”形式來組織,便能大大提高程序的可閱讀性,便于后期程序的優化操作。其實這樣的思維和編程習慣正是結構化設計思想,在教學設計時要有意地滲透這種思維方法。
三、教學的重點——吃透“算法”
簡單地說,算法就是問題在學生大腦中一個思維和計算過程,或具體地看圖推算,或抽象地數學計算,它是一個解決問題的思路。學習logo語言的過程實際上就是驗證了算法的過程,無形中學生的操作、組合、建模、優化等一系列的思維能力都得到了發展。
1.算法的廣度思考
[教學實例1]“畫筆方向變化與轉彎命令之間關系”
在學習前進與后退命令、左轉與右轉命令時,我們通過“畫等邊三角形”學習小海龜方向變化與轉彎命令之間的關系。學生受“畫矩形”影響(矩形在頂點處內角和外角正好都是90°),想當然地認為在頂點轉角為60°(因為三角的內角是60°),這時要引導學生仔細分析,我們可借助一個鐘面指針的動畫演示小海龜在頂點的轉彎過程,指針轉動角度才應該是小海龜轉過的角度120°,它應該是外角180° -60°。然后根據順逆時針來確定用哪一個命令。通過這個練習,學生們對轉彎命令有了更深層的理解。
再推廣到畫封閉的圖形(學習repeat命令)時,如正三角形、正方形、正六邊形等,又涉及了頂點轉角的問題,這時學生已會根據圖形幾何形狀判斷轉過的角度為外角,可是需要知道圖形內角的角度才能計算,如果正多邊形邊數很多,那么很難計算出來。這時我們又可以引導學生從另外一個角度去思考:小海龜完整地畫完圖形時,其實是轉了360°,因為是“正”形,所以每畫一條邊后轉過的角度應當是一樣的,因此,每次轉過的角度變為了360/邊數,這樣在畫正多邊形時,可以免于思考和計算圖形內角的度數。在這個過程中學生的發散思維得到了很好的訓練。
2.算法的深度挖掘
[教學實例2]由“角數是奇數正多角星”到“任意角數的正多角星”
課的難點是畫角數為奇數的正多角星頂點角度的確定,學生都懂得轉過角度應該是外角的道理。因此,“180-內角”是沒有問題的??墒莾冉窃趺创_定?教參和網上的很多相關內容都沒講清楚這個問題的算理,因此內角的確定成了解決本課難點的難點,怎么突破這個難點。用數學的方法很容易證明:
其實從純數學的方法,我們也可證明出∠1=∠3=180/n(這里n=5,五角星)。
證明過程:
因為∠2=(n-2)×180/n(綠色五邊形)
∠1=(180-∠2)/2=180/n(紅色的等腰三角形)
可是小學生受數學知識的限制無法理解。如何向他們解釋清楚這一算理呢?經過多次的探索,發現用小學生容易接受的直觀的“剪拼”圖形法能很容易講清楚算法(算理)。例如,將五角星的五個“角”剪下來,把它們拼在一條直線上。正好拼成一個平角,又因為它們是相等的,所以每個角是180°/5,即36°。
四、教學方式——以“興趣”為起點,以“活動”為載體
Logo教學是一種程序教學,由于其在現實的計算機中缺乏應用基礎,導致學生對此幾乎沒有直接興趣,加上知識本身的抽象性、變幻性較強,一旦處理不好,學生就會有較重的畏難情緒和疏遠心理。因此教學中我們一直把要激趣、活動和評價等作為突破口。小學生仍以直覺形象思維為主,單純向他們灌輸命令名、格式、語法等,既枯燥又不可取,應聯系具體圖形介紹每一個命令。盡量地在例子中來學習命令,比如用畫臺階學習畫線與轉彎命令,用畫虛線學習提筆與落筆命令,用畫正多邊形學習重復命令等等。盡可能通過視覺形象思維來引導學習。
有人將logo說成另一種“畫圖”,其實“海龜畫圖”并非在“畫圖”,準確地說,應該把logo中的海龜看成是虛擬的機器人,是按照設定的圖形路線在行動。從思維過程來看,是控制海歸者思維上先有路線,再設定程序,最后是海龜按照程序在行走而留下的“圖畫”。其過程是一個程序控制過程,在控制過程中涉及數學知識和程序的算法。學習Logo語言總的目標首先是要能運用Logo語言的命令畫出一些基本圖形,包括用定義過程的方法,說到底,定義過程后,過程名就是一個新的命令。教學中對于每一個問題的出現,每一種操作和分析,我們都要從更深的層次去把握。
(責編 韋淑紅)endprint