邏輯- Webduino Blockly 教學

文章推薦指數: 80 %
投票人數:10人

邏輯運算子為邏輯判斷提供了更彈性的判斷條件,當中包含了「且」與「或」,如果使用「且」,兩端判斷的條件空格必須都滿足時,才會執行動作,如果是使用「或」,則只要其中 ... 邏輯 在生活裡,不論是寫程式、算數學,法律攻防、辯論賽,甚至是交通或買東西,都會出現「邏輯」的成分,邏輯可做許多的條件和判斷,當滿足了某些條件就會執行某件事,例如看到紅燈就停,看到綠燈就走,就是一個簡單的邏輯判斷。

打開WebduinoBlockly編輯器(https://blockly.webduino.io),展開左側目錄「基本功能」,點選「邏輯」,可以看到對應的邏輯積木。

以下邏輯積木的解說,將會使用網頁互動測試區域展示,打開網頁互動測試區,下拉選單選擇「顯示文字」,左側積木的目錄最下方會出現「顯示文字」相關積木,接下來將會使用這些積木來顯示數學式所運算的結果。

(積木)邏輯判斷 邏輯判斷積木基本上有兩種型態的組裝「缺口」,在上方比較小的是「判斷條件」,下方比較大的是「執行內容」,也就是如果情況滿足判斷條件,就會執行對應的內容。

點選左上方的藍色小齒輪,可以新增邏輯判斷的條件。

邏輯判斷條件有三種:「如果」一定是在第一層,「否則如果」位在中間,「否則」一定在最後,「否則」的判斷條件表示當「如果」和「否則如果」的條件都沒有滿足,就會執行「否則」的內容。

如果只有兩個條件,例如非A即B,就可以單純使用「如果」和「否則」就可以,甚至可以不使用「否則」,這樣在條件外就不會進行任何動作。

(積木)判斷條件式 判斷條件式主要會放在邏輯的「判斷條件」缺口內,提供不同情境的邏輯判斷。

判斷的條件主要分為:等於(=)、不等於(≠)、小於()、大於等於(≧)。

使用的方式只要把判斷條件的積木,放到判斷條件的缺口內即可。

舉例來說,可以先用一個變數a取得0到100之間的隨機整數,接著用邏輯判斷,如果變數a大於60,就會顯示「及格」,否則就會顯示「不及格」。

如果還記得在「文字」教學裡「建立字串」的用法,使用建立字串,就可以同時顯示變數a的數值以及及格與否的文字。

(積木)邏輯運算子 邏輯運算子為邏輯判斷提供了更彈性的判斷條件,當中包含了「且」與「或」,如果使用「且」,兩端判斷的條件空格必須都滿足時,才會執行動作,如果是使用「或」,則只要其中一個條件空格滿足就會執行動作。

通常當邏輯判斷裡出現「如果否則」的時候,就一定會用到邏輯運算子。

(不過也時常會遇到只有「否則、如果」的時候,也會用到邏輯運算子的情況) 以剛剛的例子來說,可以增加到四個判斷條件,分別是0、1~59、60~99和100,當判斷條件成立時,就會顯示數字以及對應的文字。

(積木)非 「非」的積木就如字面一樣,表示「不是什麼」,通常會和「真或否」或「空值」的積木搭配使用。

如果還記得在「文字」、「數學式」和「列表」裡頭有提到的判斷積木,在這裡也可以拿出來和「非」的積木搭配使用,假設判斷出來是true,使用「非」之後就會變成「false」。

舉例來說可以用變數a取0到100間的隨機整數,判斷如果是奇數就顯示「是奇數」,反之顯示「是偶數」。

當然這樣子的做法也可能會多此一舉,因為同樣的程式,不用「非」,只要把奇數偶數的顯示文字互換就可以做到。

(積木)真或否 真或否的積木主要表示ture與false兩個值,目的在讓判斷的時候在數字、文字之外,多一些判斷的條件,同時也可以將ture和false提交給變數,在否些情境下也相當好用。

實際用個例子來試試看,打開網頁互動區域,下拉選單選擇「點擊燈泡」,嘗試使用邏輯、「真與否」做出滑鼠點擊燈泡的時候,如果燈泡是熄滅狀態就會亮起,反之如果燈泡是亮的就會熄滅。

下拉選單選擇「點擊燈泡」之後,左側積木目錄會出現對應的選項,待會會使用到的就是「點擊燈泡執行」以及「設定燈泡狀態」的積木。

程式的寫法很簡單,一開始先讓一個變數a等於「否」,然後也讓燈泡的狀態是off,接著當我們用滑鼠點擊燈泡圖案的時候進行邏輯判斷,如果變數a是「真」,就把變數a改成「否」同時讓燈泡off,反之變數a如果是「否」,就把變數a改成「真」並讓燈泡on。

(記得點選右上角紅色按鈕執行) 換句話說就是用變數a的「真、否」,對應到燈泡的on與off。

範例解答:https://goo.gl/mNZrLP (積木)空值 在寫程式的時候,有時候會遇到某個變數或是某個數值變成空值(null),這時就可以使用空值的積木判斷,用法和「真或否」的用法類似。

(積木)三元邏輯運算子 三元邏輯運算子是針對只有「兩種條件」,並針對根據條件傳回「兩個運算式」的其中一個。

以上面只有兩個條件的邏輯判斷為例,換成三元邏輯運算子的長相就會像下圖這樣。

加入建立字串的功能,也可以同時顯示變數a的數字還有及格與否的文字。

聯絡我們 如果對於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相關問題 其它問題



請為這篇文章評分?