Blockly-玩拼圖學程式-邏輯篇 IF else 全功略,快速上手

什麼是邏輯? 在認識邏輯前我們先來做一道題目:

家裡的孩子們,同時要去參加運動會,各參加了一個運動項目,他們三人各參加一種項目,請問各為何? (題目摘自網路)

  1. 老大不是馬拉松冠軍,
  2. 老三沒有參加體操,
  3. 體操冠軍沒有參加撐竿跳,
  4. 老三有參加馬拉松,
  5. 老二沒有參加撐竿跳 ,

 

先思考一下,再來看答案。

依照上面題目,我們畫一個表格來推理一下,根據(1)-(5)的提示:

 

馬拉松

體操

撐竿跳

老大

(1)X

X

O

老二

X

(3)O

(5)X

老三

(4)O

(2)X

X

最後得出了答案:

老大撐竿跳、老二體操、老三馬拉松

以上就是我們整個邏輯的思考過程,這個就叫做邏輯,我們要把程式寫好最重要的就是邏輯這一部份。話不多說,我們趕快來介紹程式邏輯吧!


首先,我們要先來認識布林,它只有兩個值分別是1.True  2.False
  1. True是真的,成立的,數字代表1。 True=1
  2. False是假的,不成立的,數字代表。False=0

在認識布林值(True跟False)之後緊接著就可以來認識什麼是關係運算子

關係運算子在我們學過的數學常常會出現例如:大於、小於、等於,等等的。

如下表:

關係運算子

註解

運算式

結果(布林)

大於

8 > 5

True

小於

8 < 5

False

>=

大於或等於

8 >= 5

True

<=

小於或等於

8 <= 5

False

==

等於

8 == 5

False

!=

不等於

8 != 5

True

 

先來個簡單的例子

如果(條件運算式成立=True){

        要執行的事件

}

 

例:

如果(kg(體重) = 90){

               顯示提示文字:好像該運動了!

}

了解關係運算子之後,我們就可以開始來寫程式了,請先到體驗版編輯器:

http://blockly.webduino.io/

首先設定變數:kg = 90

邏輯區,需要兩塊拼圖

1.如果  (2.條件成立)  執行 (某某事件) 

2.設定條件: 變數 > 80 ,如果成立執行(事件)

3.執行事件:如果條件成立,顯示提示文字為該運動了

目前程式是只有條件成立時做什麼事,那條件不成立的時候呢?

這時就會需要否則的拼圖來完成條件不成立時要做的事情

接下來就來學學程式碼怎麼寫吧!

 

如果= if   , 否則 = else

 

IF   (條件成立)   {

      條件成立執行

}else{

        條件不成立時執行

}


來個簡單的小實作吧!

設定預設庫存為10

讓使用者輸入需要的產品數量,

如果數量>庫存

顯示:庫存量不足,目前庫存量為: 預設庫存量

否則顯示:數量成功下標

 

提示:讓使用者可以輸入文字

 

基本的邏輯已經學得差不多了,接下來我們來認識比較進階一點的邏輯運算子

 

邏輯運算子

註解

運算式

說明

&&

並且

A && B

A與B 一定是True時,結果才是True

||

或者

A ||B

A 或B 只要一個結果為True,就是True

!

非,相反

A!

A如果是True 結果就是False

A如果是False解果就是True

 

總共會有幾種變化,請練習做做看

A

B

A&&B

A||B

!A

True

True

 

 

 

True

False

 

 

 

False

True

 

 

 

False

False

 

 

 

 

解答為:

A

B

A&&B

A||B

!A

True

True

True

True

False

True

False

False

True

False

False

True

False

True

True

False

False

False

False

True

 

如果我們的條件很多的時候,就一定會使用到,先來認識拼圖的部份

當條件很多時例子:

 

如果….條件1成立時執行事件

條件2成立時執行

條件3成立時執行

條件 n 成立時執行

當所有條件都不成立時執行

 

這時我們就會需要用到 如果….否則如果…..否則如果……否則 的拼圖


最後我們來個進階的小實作,來測驗一下我們學習的成果囉!

題目:

讓使用者輸入電腦成績,如果成績大於等於90,顯示”保送資訊系”

否則如果成績60~90之間顯示”恭喜你及格了”

否則如果成績0~60之間顯示”不及格”

如果以上條件都不符合則顯示無成績請補考。

如果想再多多練習程式邏輯的部份,可以到官方出網頁版遊戲區練習小鳥的關卡(https://blockly.games/bird?lang=zh-hant&level=1),最後恭喜你習得了程式邏輯,下一篇將教你什麼是迴圈,敬請鎖定!

Yiru@Studio - 關於我 - 意如