在micro:bit中只要會善加運用變數,在處理資料上就會變得非常方便。變數主要的目的是用來記錄資料,假設我們想要讓micro:bit的LED顯示器在一開機的時候,就從0數到9,然後再回到0重數一次,你可以想到最笨的做法是什麼?答案如下:
儘管這樣做也可以達到目的,但是相信任何人看到這樣的程式就會覺得太誇張了吧!沒錯,從0到9,其實是可以用一個變數來取代的,這個變數我們可以給它任一個名字,在這裡假設是叫做index,一開始讓index的內容是0,然後每次在顯示之後都增加1,直到變成9了之後,就再把它改為0。這樣的邏輯,可以以如下所示的積木來表示:
不過,在使用變數之前,要先對新增一個變數的名稱,新增變數的地方如下:
在按下「建立一個變數」按鈕之後,即可看到如下所示的介面,讓我們自由地為變數取個名字,建議使用英文和數字命名即可,不要有空白以及特殊符號。
而且一開始的時候,也要在初始化的地方指定初始值是多少,在這裡把它設定為0,如下所示:
因為計數有重複作業的特色,所以其實不需要使用「如果」積木,反而是使用重複迴圈會更直覺,如下所示:
同學們有沒有發現,同樣的功能,但是程式積木變得更簡單了 !!那麼更進一步地,如果打算從0數到9,然後再從9數回0,應該如何做呢?只要再加上一個迴圈 ,然後在變數上加個小技巧就可以了,如下所示:
同學們是否已經掌握了程式積木的奥秘了呢?還記得我們有兩個按鈕可以使用嗎?現在假設我們想要在一開始的時候最正數,而當按下B按鈕的時候改為倒數,再按A按鈕的時候又恢復成正數,該如何設計呢?此時我們可以再加上一個叫做forward的變數來幫忙。一開始把它設定為0,當foward是0的時候就做正數,而當foward是1的時候就進行倒數的作業,主程式積木如下:
再來的程式同學們應該就知道了,偵測按鈕A還是按鈕B被按下,如果按鈕A被按下,就把forward設為0,如果按鈕B被按下,就把forward設定1,就可以達到我們的目的了。
不過,同學們如果仔細觀察的話會發現,儘管是達到目的了,但是正數和倒數的數字卻不順。這是因為顯示數字的地方是以減法來完成,並不是直接更改index的內容。為了讓正數和倒數比較平順,以下我們不使用迴圈,而是使用「如果」敘述,配合變數的加減來完成。這個活用變數操作和流程控制的方法,同學們一定要仔細把它弄懂喔!