把孩子打造成為碼農


作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。

 

今天看到一個問卷調查,是問第一門學習的計算機語言是什么。本身想寫QBasic,忽然想起曾經學習機時代的LOGO語言,以及看了很久的小烏龜。對啊,這才算是自己接觸的第一門語言。

LOGO語言是為教育兒童編程開發的,所以語法很簡單。它基於LISP,還附加有一個海龜繪圖系統(Turtle Graphic)。我們通過編寫的程序,可以控制屏幕上的小海龜的移動,並在畫面上留下行動的軌跡。你可以用LOGO語言畫出一幅不錯的畫來。

於是在Ubuntu下搜索,找到KTurtle,是LOGO的一個變體。它的語法是面向過程的,類似於C,支持數學和邏輯運算,可以實現循環 (for)或者選擇 (if)。常見的命令包括forward, backward, turnleft, turnright,用於控制小海龜的前進后退和轉向。另外也可以用ask和print來輸入輸出。變量用$a的形式表示。在繪圖過程中,小海龜不斷移動,同時左側也會用黃色標明運行到哪一行了,非常有趣。一句話來形容,麻雀雖小,五臟俱齊。

KTurtle界面

你可以通過它的幫助菜單(需要安裝)來查詢具體的命令。

 

幫助菜單

幫助菜單

 

畫房子:

# 該例來自 http://banajim.myweb.port.ac.uk/recreation/logoscripts # 畫房子
 reset # 清空畫面
penup         # 抬起筆,開始不留下痕跡
forward 50 pendown     # 放下筆,開始留下痕跡
pw 2          # penwidth,線條粗細 go 200, 200   # 前往坐標點

# 房子主體
 turnleft 90   # 左轉90度
forward 100   # 前進100像素
turnright 90 forward 100 turnleft 90 forward 30 turnright 140 forward 105 turnright 80 forward 105 turnright 140 forward 30 turnleft 90 forward 100

# 窗戶
 go 120, 90 turnleft 90 forward 60 turnleft 90 repeat 90 { forward 1.05 turnleft 2 } # 窗戶中線
go 150, 90 turnright 180 forward 30

# 窗戶對角線
 tr 45             # turnright的簡寫
go 135, 77 forward 10 go 135, 82 forward 10 go 160, 79 forward 10 go 160, 84 forward 10 tl 45

#
 go 120,200 forward 50 tr 90 forward 30 tr 90 forward 50

# 門把手
 go 145, 175 repeat 24 {   # 循環24次
  forward 1 tr 15 } # 窗戶
 go 160,140 tr 180 forward 25 tr 90 forward 25 tr 90 forward 25 tr 90 forward 25 tr 90

# 窗戶中線
 go 172.5,140 forward 25 tr 90 go 160,127.5 forward 25

# 窗戶對角線 # pw 1
tl 45 go 164, 134 forward 5 go 164, 138 forward 5 go 177, 121 forward 5 go 177, 125 forward 5 tr 45 go 230,150

 

再加上一個畫螺旋線:

reset for $x = 1 to 36 { repeat 72 { forward 4 turnright 5 } penup turnright 10 forward 2 pendown } go 0, 0

 


還可以繼續開發出更多的圖形。如果你數學不錯,甚至可以寫一個分形的繪圖 (只不過速度真的很慢很慢)。

 

你准備好把你的孩子培養成為碼農了嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM