2020/03/15

菜鳥救星講程式:玩拼圖學程式-邏輯篇

文、意如 老師

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

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

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

(題目摘自網路)

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


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

馬拉松體操撐竿跳
老大(1)XXO
老二X(3)O(5)X
老三(4)O(2)XX

最後得出了答案:老大撐竿跳、老二體操、老三馬拉松

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

首先,我們要先來認識布林,它只有兩個值分別是1.True 2.False

1.True是真的,成立的,數字代表1。True=1
2.False是假的,不成立的,數字代表。False=0

001

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

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

如下表:

關係運算子註解運算式結果(布林)
>大於8 > 5True
小於8 < 5False
>=大於或等於8 >= 5True
<=小於或等於8 <= 5False
==等於8 == 5False
!=不等於8 != 5True

先來個簡單的例子

如果(條件運算式成立=True){
要執行的事件
}

例:

如果(kg(體重) = 90){
顯示提示文字:好像該運動了!
}

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


1.首先設定變數:kg = 90

002

邏輯區,需要兩塊拼圖,1.如果 (2.條件成立) 執行 (某某事件)

003

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

004

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

005

目前程式是只有條件成立時做什麼事,那條件不成立的時候呢?
這時就會需要否則的拼圖來完成條件不成立時要做的事情

006

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

如果= if ,否則= else

IF (條件成立) {
條件成立執行
}else{
條件不成立時執行
}

來個簡單的小實作吧!

設定預設庫存為10
讓使用者輸入需要的產品數量,
如果數量>庫存
顯示:庫存量不足,目前庫存量為:預設庫存量
否則顯示:數量成功下標

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

007
008

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

邏輯運算子註解運算式說明
&&並且A && BA與B 一定是True時,結果才是True
||或者A ||BA 或B 只要一個結果為True,就是True
!非,相反A!A如果是True 結果就是False
A如果是False解果就是True

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

ABA&&BA||B!A
TrueTrue
TrueFalse
FalseTrue
FalseFalse

解答為:

ABA&&BA||B!A
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

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

009

當條件很多時:
如果…條件1成立時執行事件
條件2成立時執行
條件3成立時執行
條件 n 成立時執行
當所有條件都不成立時執行

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

010

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

題目:
讓使用者輸入電腦成績,如果成績大於等於90,顯示"保送資訊系"
否則如果成績60~90之間顯示”恭喜你及格了”
否則如果成績0~60之間顯示”不及格”
如果以上條件都不符合則顯示無成績請補考。

011

如果想再多多練習程式邏輯的部份,可以到官方出網頁版遊戲區練習小鳥的關卡,最後恭喜你習得了程式邏輯,下一篇將教你什麼是迴圈,敬請鎖定!


加入菜鳥救星官方Line並回覆「我想學程式」,不定期獲得更多知識吧!

加入好友

不同頻道,不同知識!