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(容器),其他程式語言的變數或是硬體的暫存器,旗標。

大家可以試試看喔!



沒有留言:

張貼留言

探奇歡迎大家留言討論!謝謝分享你的意見。