---
# System prepended metadata

title: BMI 計算機

---

# BMI 計算機

## 需求擷取
了解自己的BMI，去看看自己是否是最佳體重！否則就要控制飲食、多運動，又或者是要多吃點東西!

## 需求分析
1.輸入身高體重
2.計算BMI
3.給出適當體重範圍
## Use cases 使用案例

身高157cm、體重60kg的小鄭最近覺得自己太常去福利社買餅乾吃了，所以決定好好正視自己的肥胖問題！所以就邀她的朋友星星身高160cm、體重45kg一起減肥，結果測量後發現!這個世界太不公平了啊啊啊啊啊!星星只有督促她的作用，所以去找了小龍身高175cm、體重80kg，終於找到可以和自己一起努力的朋友了!

| 測資 | 輸入 | 輸出 |
| -------- | -------- | -------- |
| 小鄭   | 身高157cm、體重60kg  |  BMI：24.34、體重過重、適合體重54.2278kg、減肥5.7722kg    |
| 星星   | 身高160cm、體重45kg  |  BMI：17.58、體重過輕、適合體重56.32kg、再吃11.32kg      |
| 小龍   | 身高175cm、體重80kg  |  BMI：26.12、體重過重、適合體重67.375kg、減肥12.625kg    |

```plantuml
@startuml
skinparam actorStyle Hollow
:User:-->(輸入身高體重)
:User:<--(得到BMI)
:App:-->(算出BMI)
:App:-->(給出最佳體重)
:App:-->(減肥/再吃多少公斤)
@endnml

```

## 流程圖
```flow
st=>start: 開始
BMI=>inputoutput: 輸入BMI
op=>operation: 計算BMI
cond1=>condition: BMI<18.5?
cond2=>condition: 18.5< =BMI<24?
cond3=>condition: 24< =BMI<27?
cond4=>condition: 27< =BMI<30?
cond5=>condition: 30< =BMI<35?
cond6=>condition: 35< =BMI?
light=>end: 體重過輕
nor=>end: 體重正常
fat=>end: 過重
fat1=>end: 輕度肥胖
fat2=>end: 中度肥胖
fat3=>end: 重度肥胖
e=>end: End

st->BMI->op->cond1->cond2
cond1(no)->light
cond1(yes)->cond2
cond2(yes)->nor
cond2(no)->cond3
cond3(yes)->fat
cond3(no)->cond4
cond4(yes)->fat1
cond4(no)->cond5
cond5(yes)->fat2
cond5(no)->cond6
cond6(yes)->fat3
```
## UI與元件說明
![](https://i.imgur.com/L6oGC1x.png)

輸入盒1：輸入體重
輸入盒2：輸入身高
按鈕1：算出BMI
標籤1：BMI計算器
標籤2：身高
標籤3：體重
標籤4：BMI
標籤5：肥胖定義
標籤6：你適合的體重
標籤7：最佳建議

## 程式截圖
![](https://i.imgur.com/8VfiIXw.png)
![](https://i.imgur.com/XDoshih.png)

## 結論心得
還好還好體重適中，甚至可以再吃6公斤才到理想體重!開心!!!!!
除了體重以外的心得是 明明在學校聽起來都很順，但在家裡都很卡，導致程式超長串，感覺裡面有很多不必要的步驟
## 作品連結
https://gallery.appinventor.mit.edu/?galleryid=a8546786-004d-4278-92ea-6c3a3786a3ba