---
# System prepended metadata

title: 四則運算
tags: [簡單]

---

# 四則運算

###### tags: `簡單`

## 本章節要學什麼？
學習練習使用基礎的四則運算來熟悉加減乘除與重構簡單的計算元件。

## 題目1：賦值運算子(+=)
``` =JavaScript
// input 輸入
add(1);
add(2);
add(3);

// output 輸出
6
7
8
```



## 題目2：賦值運算子(-=)
``` =JavaScript
// input 輸入
subtract(5);
subtract(4);
subtract(3);

// output 輸出
3
2
1
```
## 題目3：二次方 (**)

* 輸入一個數字後，該參數會相乘 2 次，例如輸入 `2`，輸出為 `2*2=4`

``` =JavaScript
// input 輸入
multiply2Times(5);
multiply2Times(6);
multiply2Times(7);

// output 輸出
25
36
49
```

## 題目4：取 3 的餘數（%）
``` =JavaScript
// input 輸入
remainder(9);
remainder(8);
remainder(7);

// output 輸出
0
2
1
```

## 題目5：判斷是否為5的倍數 (% + 結果判斷)

``` =JavaScript
// input 輸入
isDivisible(15);
isDivisible(12);
isDivisible(10);

// output 輸出
是倍數
非倍數
是倍數
```

## 題目6：計算總共繳多少費(區域變數、全域變數)
請透過 `payMoney` 函式，來累加 `bill` 變數
```=JavaScript
let bill = 0;

<!-- 作答開始  -->
function payMoney(num){
  
}
<!-- 作答結束  -->

// input 輸入
payMoney(100);
payMoney(299);
payMoney(350);

// output 輸出
bill 值為 100
bill 值為 399
bill 值為 749
```

## 題目7：前數大於後數則相加，反之則相減
```=javascript
// input 輸入
calculate(5,4);
calculate(10,15);
calculate(8,2);
calculate(6,12);

// output 輸出
9
-5
10
-6
```
## 題目8：承上題，顯示算式過程
```=javascript
// input 輸入
calculateProcess(5,4);
calculateProcess(10,15);
calculateProcess(8,2);
calculateProcess(6,12);

// output 輸出
"5+4=9"
"10-15=-5"
"8+2=10"
"6-12=-6"
```
## 題目9：商業邏輯題：商品折扣
三角麵包店慶開張，凡消費皆有9折折扣：
* 一個 `discount`函式，來計算 10% 折扣並回傳付款金額為多少。

情境：小華買了一個麵包，原價 100 元，打完折後為 90 元。

```=javascript
<!-- 作答開始 -->
function discount(num){
  
}
<!-- 作答結束  -->
const total = discount(100);
console.log(`您的付款金額為 ${total}元`)
```

## 題目10：重構題：消除重複，抽離變因
三角麵包店超賺，於是開了第二家分店為五角麵包店，兩店聯合促銷:
1. 兩家店，消費皆有10%折扣
2. 三角麵包店一個麵包 100 元，五角麵包店一個麵包 50 元

`threeAngleCalculate`、`fifthAngleCalculate` 丟入 `num` 麵包數量，就可獲得消費金額
### 重構思路
1. 兩個函式裡面的折扣%數都是一樣的，可以嘗試抽出來成一個新函式 `discountPercent`，專門來計算兩間店的折扣金額

```=javascript
// 第一個參數為麵包的數量
function threeAngleCalculate(num){
  const subTotal = num * 100;
  const discountPercent = subTotal * 0.1;
  const total = subTotal - discountPercent;
  return total;
}

//
function fifthAngleCalculate(num){
  const subTotal = num * 50;
  const discountPercent = subTotal * 0.1;
  const total = subTotal - discountPercent;
  return total;
}

```