迴圈- Webduino Blockly 教學
文章推薦指數: 80 %
打開Webduino Blockly 編輯器( https://blockly.webduino.io ),展開左側 ... 如果把剛剛累加數字的迴圈套用進來,只需要每隔0.2 秒在指定間隔回圈內顯示變數i 就可以 ...
迴圈
在程式領域裡,迴圈是常常使用的基本功能之一,迴圈表現的是重複執行的過程,可以將需要重複執行的程式碼放在迴圈內,就能指定次數,或是無窮盡的執行下去。
打開WebduinoBlockly編輯器(https://blockly.webduino.io),展開左側目錄「基本功能」,點選「迴圈」,可以看到對應的迴圈積木。
以下迴圈積木的解說,將會使用網頁互動測試區域展示,打開網頁互動測試區,下拉選單選擇「顯示文字」,左側積木的目錄最下方會出現「顯示文字」相關積木,接下來將會使用這些積木來顯示數學式所運算的結果。
(積木)重複執行幾次
透過這個積木,可以指定迴圈內的程式要執行幾次,預設是執行10次。
舉例來說,先設定變數a等於0,然後在每次執行迴圈的時候都把變數a加1,這樣執行十次之後,得到的結果就會是10。
由於每次回圈執行的速度是很快的(有時甚至零點幾毫秒內就執行完),所以可以在迴圈內加入「等待」的功能,就可以看到數字依序往上累加。
等待的積木在「進階功能>等待」目錄下。
使用迴圈有個要注意的地方,就是放在迴圈後方的程式,會在迴圈結束之後才會執行,例如在剛剛的迴圈後方加上「顯示結束了」的積木,就會在1到10之後才會顯示。
(積木)無窮迴圈
無窮迴圈是在撰寫程式的時候,很常遇到的迴圈用法,相對於「有次數」的迴圈,無窮迴圈會無止盡地重複下去,除非透過壹些邏輯判斷或手動將其停止。
初學者使用無窮迴圈,務必搭配「等待」進行操作,避免無窮迴圈耗盡系統資源產生當機的狀況。
無窮迴圈的下拉選單有兩個選項,第一個選項是「當」,表示「當發生什麼事情,迴圈會啟動」,第二個選項是「直到」,表示「直到發生什麼事情,迴圈會停止」,使用上要特別注意。
「時鐘」是無窮迴圈的典型範例,透過無窮迴圈,每一秒讀取一次當前的時間並且顯示,就變成了時鐘,如果無窮迴圈設定為「直到」,而且不給予任何停止迴圈的條件,這個迴圈就會不間斷地顯示時間。
如果要停止無窮迴圈,最簡單的方法可以在「直到」的缺口放入判斷條件,以上面時鐘的例子,可以指定一個變數sec為當前的秒數,如果當變數sec等於0就把迴圈停止,並且顯示迴圈停止的文字。
再舉另外一個例子,把網頁互動區域下拉選單選擇「點擊燈泡」,實作「用滑鼠點選燈泡燈泡會閃爍,再點選一次就會熄滅」的效果。
一開始先設定變數a為「否」,並設定燈泡為off,在點擊燈泡的時候,判斷如果變數a是「否」,就把變數a改為「真」,並執行每0.2秒切換燈泡狀態的回無窮迴圈,而這個無窮迴圈會在變數a為「否」的時候停下,而點擊燈泡的另外一個判斷,就是判斷當變數a為「真」的時候,將變數a改為「否」。
注意,一定要加入等待0.2秒的積木,等待的積木在「進階功能>等待」目錄下。
換句話說就是當燈泡在閃爍的時候,用滑鼠點擊燈泡,燈泡就會停止閃爍並且關閉,而燈泡處於關閉狀態時,點擊燈泡,燈泡就會開始閃爍。
範例解答:https://goo.gl/HQBbxp
(積木)指定間隔迴圈
指定間隔迴圈會先指定一個變數,並限制一個數字範圍,然後將這個數字範圍的數字對應到變數上,並透過指定數值得累加,就可以從小到大、或從大到小執行範圍內的程式動作。
如果把剛剛累加數字的迴圈套用進來,只需要每隔0.2秒在指定間隔回圈內顯示變數i就可以。
除了基本的加1,可以改變數字範圍以及累加的數值,例如把數字範圍改成0到100,間隔數字改成10,就可以變成10、20、30的依序顯示。
(積木)列表透過迴圈取值
因為列表是由「很多個」內容組成,所以使用「列表透過迴圈取值」可以輕鬆的把每個內容一一取出,迴圈預設的變數也會直接等於取出來的內容。
舉例來說在這個迴圈後方放入一個列表,內容分別填入iphone、ipad、imac、ibook和iiiii,執行後就會每0.5秒依序顯示列表內容。
除了直接放入列表,如果列表內容太多,也可以用變數去裝載列表,然後在回圈後方放入變數,執行之後也會是一樣的效果。
(積木)停止迴圈
停止回圈積木顧名思義就是將回圈停止,下拉選單還有另外一個選項是繼續下一個迴圈,這個積木只能在回圈內使用,如果放在回圈外,就會出現驚嘆號的提示。
如果把前面「指定間隔迴圈」搭配「停止迴圈」,就可以讓迴圈還沒到20的時候就停下來,並且顯示迴圈停止了的文字。
如果使用列表的迴圈,甚至也可以做文字的判斷,列表中出現對應的文字,就把迴圈停下來。
聯絡我們
如果對於Webduino產品有興趣,歡迎透過下列方式購買:
個人線上購買:https://store.webduino.io/(支援信用卡、超商取貨付款)
企業&學校採購:來信[email protected]或來電07-3388511。
如果對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:
Email:[email protected](如對於產品有使用上的問題,建議透過Email附上照片或影片聯繫)
Facebook粉絲團:https://www.facebook.com/webduino/
Facebook技術討論社團:https://www.facebook.com/groups/webduino/
Webduino基礎教學
Webduino開發板
馬克一號(介紹)
馬克一號(初始化設定)
WebduinoFly(介紹)
WebduinoFly(初始化設定)
WebduinoSmart(介紹)
WebduinoSmart(初始化設定)
開發板擴充設定
Arduino韌體下載與燒錄
使用WebSocket操控
WebduinoBlockly
認識WebduinoBlockly
WebduinoBlockly基本操作
WebduinoBlockly特殊功能
連動多塊開發板
腳位偵測設定
發光元件
LED
三色LED
LED點矩陣
輸入輸出
繼電器
蜂鳴器
按鈕開關
震動開關
搖桿
紅外線發射接收
環境偵測
超音波偵測
溫濕度偵測
人體紅外線偵測
聲音偵測
光敏電阻
可變電阻
土壤濕度偵測
三軸加速度計
無線感應
RFID
玩具及馬達
伺服馬達
Webduino綜合應用
元件應用
LED(兩顆交互閃爍)
LED(霹靂燈)
LED(語音聲控)
LED(人臉追蹤)
LED(Google表單操控)
三色LED(調色盤)
蜂鳴器(多人協奏)
蜂鳴器(會說話的鬧鐘)
傳感器應用
超音波(改變圖片大小)
超音波(控制LED)
超音波(控制三色LED)
溫濕度(Firebase紀錄)
RFID(控制Youtube)
可變電阻(改變Youtube音量)
聲音偵測(吹點矩陣蠟燭)
玩具改造
Smart自走車(組裝步驟)
Smart自走車(網頁遙控器操控)
Smart自走車(超音波避障)
Smart自走車(溫濕度感測車)
Smart智慧路燈(組裝步驟)
Smart智慧路燈(接線教學)
Smart飛天車(組裝步驟)
Smart飛天車(接線教學)
馬克一號自走車(鍵盤操控)
馬克一號自走車(行動裝置操控)
馬克一號自走車(循跡功能)
WABot機器人(初始化設定)
WABot機器人(基礎操控)
百元玩具車大改造
智慧生活
智慧植栽(水泵)
智慧插座(組裝與操控)
智慧追蹤(伺服馬達+攝影機)
Webduino雲端平台
基本介紹
註冊與登入
Blockly程式積木
Device裝置管理(裝置認證)
Device裝置管理(雲端更新)
兌換券(領取與添加新功能)
發光元件
LCD螢幕
七段顯示器
輸入輸出
MP3播放器
環境偵測
PM2.5細懸浮微粒偵測
顏色感測器
電子羅盤
光度計
溫濕度計
資料庫
Google試算表(設定)
Google試算表(儲存)
Google試算表(讀取)
綜合應用
記錄PM2.5(Google試算表)
玩具改造
Smart智慧小屋(組裝步驟)
Blockly教學
基本功能
變數
流程
文字
數學式
列表
邏輯
迴圈
進階功能
控制台
等待
數值轉換
鍵盤行為
語音聲控
語音朗讀
行動裝置
網頁互動區
文字、點擊、圖片
顏色、按鈕、拉霸
遙控器
Youtube
影像追蹤
創意應用
抽籤並朗讀姓名
大樂透自動選號
隨機組合朗讀語句
語音朗讀逐字稿
小時鐘
語音報時
九九乘法你問我答
BlocklyGames
迷宮
鳥
烏龜
影片
池塘導師
Dr.Smart教學
開發板元件
三色LED
三色LED(色彩輪播)
光敏電阻
光敏電阻(色彩變化)
按鈕開關
按鈕開關(控制顏色)
按鈕開關(控制Youtube)
元件及傳感器
LED
蜂鳴器
震動開關
LED點矩陣
超音波偵測
溫濕度偵測
綜合應用
蜂鳴器(多人協奏)
超音波(倒車雷達)
超音波(控制Youtube)
LED點矩陣(顯示距離)
LED點矩陣(顯示溫度)
按鈕開關(控制蜂鳴器)
實戰智慧插座
基本操控
組裝智慧插座
網頁操控智慧插座
傳感器應用
超音波偵測距離
光線偵測
人體紅外線偵測
聲音偵測
電視機遙控器
按鈕開關
電流急急棒
土壤濕度偵測
RFID感應
進階應用
語音辨識
人臉、顏色追蹤
手機陀螺儀
聊天室(原理)
聊天室(前後端實作)
Google試算表(原理)
Google試算表(前後端實作)
Google地圖(原理)
Google地圖(前後端實作)
Youtube互動
Opendata實作
Node-Red(基礎操作)
Node-Red(Twitter)
Node-Red(E-mail)
日幣匯率(Node-Red爬蟲)
日幣匯率(Node-js爬蟲)
常見問題
Webduino相關
關於Webduino
購買Webduino產品
技術支援與合作
Webduino開發板
關於Webduino開發板
連線相關&初始化設定問題
Web:Bit相關問題
WebduinoSmart相關問題
其它問題
延伸文章資訊
- 1等待- Webduino Blockly 教學
打開Webduino Blockly 編輯器( https://blockly.webduino.io ),展開左側 ... 把同步等待積木搭配無窮迴圈,就能做出每多少秒自動累加數字並顯示的效果...
- 2高一資訊科技銜接課程
資訊科技– Blockly Games https://blockly.games ... Blockly 是一款運行在網頁客戶端的JavaScript 程式庫,目的是用來打造視覺化程式 ......
- 3Blockly 遊戲
Blockly Games. 為了明日的程式設計師所設計的遊戲。 給教育者的資訊...
- 4累加
blockly. 2013年4月12日星期五. 累加. 用blocky寫的累加. Unknown 於 晚上7:40. 分享. 沒有留言: 張貼留言. ‹ › 首頁 · 查看網路版. 關於我自己.
- 5迴圈- Webduino Blockly 教學
打開Webduino Blockly 編輯器( https://blockly.webduino.io ),展開左側 ... 如果把剛剛累加數字的迴圈套用進來,只需要每隔0.2 秒在指定間隔回圈...