2017年4月21日 星期五

Motoblockly Sensor board學Blockly (運算式 (Expressions))

大多數的程式組成涵蓋有判斷式、運算式,判斷式主要作為判斷程式執行是否滿足相應的條件,如果滿足,就執行程式。這裡所謂的「條件」正是我們這個 Section 要討論的 「運算式」。嚴格的說,運算式不等於條件,但運算式的結果可以滿足條件。
那麼,甚麼是運算式?
EX. integerl=2+3
一個運算式是由運算元(Operands)、運算子(Operators)所組成,運算式常常是程式判斷式裡非常重要的條件式。上例運算式,是由 運算元 (integerl;2;3) 與 運算子 (=;+) 所組成,常見的運算式有算術運算式(Arithmetic Expressions)、關係(比較)運算式(Comparison Expressions),邏輯運算式(Logical Expressions)...等。

Example 01. 算術運算式(Arithmetic Expressions)。

說明:
我們將結合變數與串列埠的使用,透過數學運算積木中的算數運算式(+、-、×、÷、^)積木。計算數值,並利用計算的數值作為程式判斷的條件或結果。
範例:
  • 如圖一,在「程式開始」的設定迴圈中,設定序列埠的傳輸率值及變數的初始值;本範例利用 Arduino IDE的序列埠監控視窗呈現程式執行的結果數值,傳輸率為 9600 bps。
  • 設定變數的初始值為"1",算術運算的範圍"1~100",在 Arduino IDE 的序列埠監控視窗列印出結果。
  • 範例檔:請選擇匯入 XML_Arithmetic_Expressions_01.xml ,可開啟本 Example 的範例,或利用 Arduino IDE 開啟 IDE_Arithmetic_Expressions_01.ino 執行程式的結果。

Example 02. 比較運算式或關係運算式(Comparison Expressions)。


說明:
這個 Example 我們將利用【積木範例】中的「藍芽LED」程式,透過邏輯積木中的比較運算式積木,作為條件判斷。比較運算式積木有:<、>、=、≦、≧、≠ 六種運算子。
範例:
  1. 如圖二,在「程式開始」的迴圈中,設定藍芽連結與變數;設定變數積木,於設定中宣告變數"C"的初始電位為「空白」字元。
  2. 利用運算式判斷變數從藍芽串送來的字元,如果是"H",則設定數位腳位D13(操作是可以變更為D10、D11、D12) 為高電位;如果是"L",則設定數位腳位D13(操作是可以變更為D10、D11、D12) 為低電位。
  3. 範例檔:請選擇匯入 XML_Comparison_Expressions_01.xml ,可開啟本 Example 的範例,或利用 Arduino IDE 開啟 IDE_Comparison_Expressions_01.ino 執行程式的結果。

Example 03. 邏輯運算式(Logical Expressions)。


說明:
motoBlockly 邏輯運算積木包含有 且(And)"、"或(Or)"、"非(Not)"  積木。藉由邏輯積木的運用,作為程式判斷的條件。
範例:
  1. 如圖三,在這個範例,我們的學習內容將結合 Example 02 (比較運算式或關係運算式) 與前一個 Section (Step 07;如果...執行...(if/elif/else) 條件判斷句) 所提到【 if...elif...else】的應用。
  2. 藉由邏輯積木的應用與比較運算式的條件結果,執行程式中不同的流程,透過【 if...elif...else】的應用,作為程式執行的流程迴圈。
  3. 範例檔:請選擇匯入 XML_Logical_Expressions_01.xml ,可開啟本 Example 的範例,或利用 Arduino IDE 開啟 IDE_Logical_Expressions_01.ino 執行程式的結果。

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...