---
# System prepended metadata

title: 計算BMI

---

# 計算BMI

## 需求
反正就是我給體重身高，把我的BMI跟合適的體重算出來，順便可以的話幫我量體重(鬼要求)_

## 需求分析
1.求出BMI
2.算出適合體重
3.量體重(鬼才量的出來，不管它)

## USE CASE 使用案例
```plantuml

:User:-->(輸入身高體重)
:app:-->(輸出BMI)
:app:-->(輸出適合體重)

```


## USE Stories 使用者故事(測資)
測資1：
懶貓子是一位Vtuber，最近因為自家Boss不斷餵食，被Rumily(觀眾)和Boss說自己是橘貓子，甚至SC全變成橘色的，於是懶貓子量了自己的身高體重(**身高155cm，體重42kg**)，想藉由這個程式來測量自己的BMI，看看自己的體重有沒有過重，藉此澄清自己不是橘貓。[測資故事由來](https://www.youtube.com/watch?v=24MSsI1lZ9w&t=5s)

測資2：
羽澤是一隻混在人類學校中的殭屍，因為沉默寡言但溫柔的個性，以及那完美的身材及臉蛋，被同學稱為"暗夜王子"，最近學校要體檢，為了不被發現自己其實是殭屍，他量了自己的身高跟體重(**身高173cm，體重60kg**)，想看看自己的BMI在人類眼中是否正常，並以此來判斷當天要不要翹掉體檢。

測資3：
七海露亞是一位可愛的美人魚，最近海斗找她約會，為了在海斗面前保持完美，她想看看自己是否有過重，不然海斗被那可惡的ㄅ...米兒搶走可就不好了，於是她量了自己的身高體重(**身高156cm，體重60kg**)，來知道自己是否過重，藉此制定減肥計畫。



| 測資  | 輸入               | 輸出                                             |
| ----- |:------------------ | ------------------------------------------------ |
| 測資1 | 身高 : 155 體重:42 | BMI : 17.48  適合體重 : 44.44 ~ 57.66 體重過輕   |
| 測資2 | 身高 : 173 體重:60 | BMI : 20.04 適合體重 : 55.36 ~ 71.82 體重適中    |
| 測資3 | 身高 : 156 體重:60     | BMI : 24.65 適合體重 : 45.02 ~ 58.40    體重過重     |

## 流程圖
```flow
st=>start: Start
e=>end: End
op=>operation: 計算BMI
op2=>operation: 計算適合體重
cond=>condition: BMI < 18.5
cond2=>condition: BMI < 24
cond3=>condition: BMI < 27
cond4=>condition: BMI < 30
cond5=>condition: BMI < 35
BMI=>inputoutput: 輸入BMI
weight=>inputoutput: 輸出BMI和合適體重
light=>inputoutput: 輸出過輕
normal=>inputoutput: 輸出適中
overweight=>inputoutput: 輸出過重
overoverweight=>inputoutput: 輸出超重
End=>end: 程式結束

st->BMI->op->op2->weight->cond
cond(yes)->light->End
cond(no)->cond2
cond2(yes)->normal->End
cond2(no)->cond3
cond3(yes)->overweight->End
cond3(no)->overoverweight->End


```
## UI使用者介面
![](https://i.imgur.com/Y1s794l.png)



## 元件說明
1. 體重文字輸入盒：輸入體重。
2. 身高文字輸入盒：輸入身高。
3. 確定按鈕：隱藏輸入框和確定按鈕，顯示輸出框和返回按鈕，並執行程式。
4. 返回按鈕：隱藏輸出框和返回按鈕，顯示輸入框和確認按鈕，清除身高和體重的文字輸入盒內的數字。
5. BMI數值：顯示計算後BMI數值。
6. 最低建議體重數值：顯示計算後最低建議體重數值。
7. 最高建議體重數值：顯示計算後最高建議體重數值。
8. 過輕過重：顯示體重是過輕、適中、過重、超重。



## 程式截圖
![](https://i.imgur.com/oB1tx8P.png)
![](https://i.imgur.com/tj31Vkc.png)


## 結論和心得
窩不知道要寫啥欸，反正就是我寫完程式才想到可以開兩個螢幕介面，就不用寫這麼長了QQ，我想說都寫完了就沒改，然後就跑去想測資怎麼寫，除了懶貓子其他隨便瞎掰，總之結論：懶貓子好可愛。

## 程式連結
[程式連結]( https://gallery.appinventor.mit.edu/?galleryid=2b724bd0-2133-44eb-8771-075b8b67c9c0)