# 計算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)