LEGO SPIKE Prime Essential 樂高機器人,LEGO MINDSTORMS Robot Inventor, EV3 ,樂高動力機械 BricQ Motion 程小奔Codey Rocky,mBot2,CyberPi 童芯派 mBlock5 慧編程, Python 專業教學,課程設計。 Scratch, MakeBlock產品 艾多美 Atomy 生活用品 NXT 樂高機器人:創意樂趣,隨心所欲!
2007-06-11
NXT-G 變數的使用
在上一篇NXT-G文章中提到變數可以用來計算次數。
我們將在這篇文章介紹變數的使用。
我們可以將變數看成是一個抽屜,或是一個盒子。這是幫助我們在程式中記住某一些事情。
例如媽媽交代我明天早上到菜市場買5個大蘿蔔,為了怕睡覺之後忘記,於是媽媽在紙上寫了一個"5",放到標示為數字的抽屜。
第二天,我果然忘了要買幾條蘿蔔,於是我打開標示為數字的抽屜,發現了"5",我快快跑到青菜攤,結果只剩一條蘿蔔,買回家之後,我寫了一個"4",放回去抽屜。
媽媽回家後看到抽屜裡面的數字是"4",就明白還需要再買四條蘿蔔。
抱歉!好像在寫日記故事。不過這就是變數的用法。
變數指令方塊是比較進階的程式指令,所以我們需要到Complete palette(完全指令面版)的Data子目錄挑選"變數指令方塊"(Variable)
變數有三種型態:邏輯,數字,文字。我們也可以自訂變數的名稱,讓程式一目了然。
選擇命令列的Edit-->Define Variables
我們就可以自己定義變數的種類及名稱。
NXT-G會跳出這個視窗,按下Creat就可以新增一個變數,在Name的欄位鍵入變數名稱,在Datatype欄位,利用下拉式表單,選擇變數的型態。
下圖範例中,我們鍵入"Touch_1" ,變數型態選擇Number。
定義完畢,按下Close關閉視窗。這時會發現變數的清單(List)會出現剛才定義的Touch_1
我們可以配合數學指令方塊,對變數進行四則運算。
下圖的例子就是讀出(Read)Touch_1的內容值,將內容值加1之後,再放回(Write)Touch_1。
如果Touch_1原先的內容值是"0",經過這段程式的處理,Touch_1的內容值會變成"1"
不同的變數型態只可以儲存特定的變數值,文字,數字,邏輯值都需要特定的變數儲存。
其他的變數型態還有邏輯值和文字,在迴圈的控制這篇文章,我們就是使用邏輯值的變數,控制跳出無限迴圈。
變數非常好用,可以幫助程式記憶現在的狀態。
相當於ROBOLAB的container(容器),其他程式語言的變數或是硬體的暫存器,旗標。
大家可以試試看喔!
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
探奇歡迎大家留言討論!謝謝分享你的意見。