---
# System prepended metadata

title: 第二堂：邏輯判斷之術
tags: [JS 直播班 - 2024 秋季班]

---

# 第二堂：邏輯判斷之術
## 開課提醒
1. 錄影   
2. [第一週週報](https://liberating-turtle-5a2.notion.site/JavaScript-62968d471dec476bbb66ce7168d6c57a)
3. 感謝 Maxine 和 yuyeh 幫忙上第一週課程時間軸👏🏻


## 今日上課知識點
1. 比較運算子、邏輯運算子
2. if、else if、else


---

## 比較運算子
-> 用來比較，會回傳布林值
* 大於 >、大於等於 >=、小於 <、小於等於 <=
* 等於==、===
* 不等於 !=、!==
> 説明：兩個等於與三個等於的差異
> 建議在比較是否相同時，使用三個等於

## 邏輯運算子
-> 用來做邏輯判斷，&& 和 || 會回傳值本身，! 會回傳布林值
* && (and)
* || (or)
* ！ (not)

題目一：
有一個 Switch 組合包，只要你是網站會員或是當月壽星就可以用優惠價 11000 買下
- Nintendo Switch 白色主機
- 寶可夢 紫

我只有會員，這樣可以用優惠價格購買這個組合包嗎？

題目二：
百貨公司週年慶， SABON 提供一種優惠組合，「明星三部曲」 3 件 88 折

- 沐浴油 500 ml
- 身體磨砂膏 600 g
- 身體乳液 200 ml

我今天買了沐浴油 250 ml、身體磨砂膏 600 g、身體乳液 200 ml，這樣是否可以獲得 88 折優惠？

## 抽考一
Zoom 上測驗 
* [16~20題目](https://chalk-freedom-ec6.notion.site/Part-1-16-20-3ce35cf01dbc4967820e49644a007960)
<!-- 解答：3 2 2 1 1 -->


## if、else if、else
if 如果
```javascript
if(條件){ 
    條件為真值時，執行此區塊的指令
} 
```
題目一：如果遊戲 70 分以上就過關，通過的話印出 "pass"。剛好 70 分

if...else 如果...否則
```javascript
if(條件){ 
    條件為真值時，執行此區塊的指令
} else { 
    條件為假值時，執行此區塊的指令
}
```
題目二：如果飽足感在 6-8 之間不吃飯，反之吃飯。今天大約七分飽，要吃飯嗎？

if...else if...else 如果...如果...否則
```javascript
if(條件1){ 
    條件1為真值時，執行此區塊的指令
} else if(條件2) { 
    條件2為真值時，執行此區塊的指令
} else {
    以上都不符合時，執行此區塊的指令
}
```
題目三：小美常常不知道他出門要帶什麼傘，
如果是晴天就帶陽傘
如果是颱風天帶雨衣
如果是毛毛雨帶折疊傘
都不是（狀態無法被解析，例如：陰天）不帶
今天天氣是晴天，要帶什麼傘？


### 範例情境題
[流程圖](https://zh.wikipedia.org/wiki/%E6%B5%81%E7%A8%8B%E5%9B%BE)介紹

1. if：觀察客戶體溫，[流程圖](https://miro.com/app/board/uXjVKoY8EnA=/)
3. if else：計算成績是否及格
4. if、else if：計算成績評等
5. if、else if、else：計算成績評等(2)


## 抽考二
Zoom 上測驗 
* [21~25題目](https://chalk-freedom-ec6.notion.site/Part-2-21-25-9955a71c4cdc4df5bc61d3e9b822a078?pvs=4)
<!-- 解答：2 3 3 2 3 -->

## 中場休息

* 中場休息分享
    * 9/30 已開始釋出[刷題任務、每日任務、函式邏輯題目](https://discord.com/channels/801807326054055996/1271347872729927710/1290115901877911654)
    * 傑利助教明天會講第二週主線任務+第一週的函式邏輯題目
    
    > 刷題任務
    <img src="https://hackmd.io/_uploads/rJUcRA3AA.png" width="150px"> 
        <img src="https://hackmd.io/_uploads/SJwc0A300.png" width="150px"> 




## 情境拆解

1. 步驟一：定義程式目的
2. 步驟二：設定初始資料狀態
3. 步驟三：依照目的進行**任務拆解**

>if 常用在 如果、假如、是否、判斷的情境上

**情境一：小華分數，[流程圖](https://miro.com/app/board/uXjVKoY8EnA=/)**
小華考了國英數，國文考 10 分、英文考 60 分、數學考 100 分，他想起父親告訴他，如果他總分有達 240 分，就帶他去遊樂園，快來幫忙算算他是否有達到門檻

**情境二：小美快樂指數**
小美為了讓自己快樂，內心有個快樂指數，範圍是 0~10，10 是最快樂。當小美指數在 8 (含)以上時，會選擇宅在家，指數在 5~7 時會選擇去血拼，在 4(含) 以下時，會選擇跟人去唱卡拉ok。小美今天的快樂指數為 6，那麼他會想做什麼事呢？

**情境三：小明參加歌手牽手會**

小明去參加歌手牽手會，到門口時，守衛問他說，有沒有帶入場券，小明亮出入場券後進入了會場，隨後想排隊跟歌手牽手時，又被第二個守衛擋住，問他說，他有沒有買 5000 張以上 DVD？但因為小明只有買 3000 張 DVD，小明只好忍痛離開，並下定決心要將這過程記錄下來，下次一定要握到手！

## 小組抽考三
Zoom 上測驗 
* [26~30題目](https://chalk-freedom-ec6.notion.site/Part-3-26-30-d113f871cec34d08b97bedfbcdb96de0?pvs=4)
<!-- 解答：2 1 2 3 3 -->

---

## 本週任務
1. 主線任務
1. 小組任務
1. 週末任務：[流程圖接龍](https://discord.com/channels/801807326054055996/1291597043646861384/1291597045181841411)
    1. 同學 A 分享 您自創的 if 題目，需含
        * 定義程式目的
        * 寫情境與規則
        * 至少一個 if 條件
    2. 同學 B 使用 miro 畫出流程圖， tag 同學 A 檢查，再提供新的題目給下一位同學

 ![截圖 2024-10-04 上午10.47.15](https://hackmd.io/_uploads/HJbLvRhCC.png)