BMI2.0是一個可以測試身體BMI並提醒你在於哪個標準。
程式內容:
本範例假設您已經完成了BMI1.0的範例程式。
設計一個程式,輸入完身高和體重後,會自行計算出BMI,接著判斷出位在哪個區間中,藉此告知分級標準。

步驟三:到視窗左側的元件面板(Palette)中,點選使用者介面(User Interface)中的標籤(Label)元件,按住滑鼠不放將其拖曳至預覽(Viewer)中,接著找到 Text 屬性,將方框中預設的文字清除。

接下來我們就可以開始編寫程式囉!請點擊右上方的Blocks切換到程式頁面。
步驟四:請在左側Blocks選單中點選Built-in下的Variables,在彈出的拼圖式程式區塊中選取 initialize global name to,置於預覽視窗中,並將"name "改為"bmi"。
解釋:需設一個數字變數為 bmi
解釋:此為BMI的算式(體重/身高的平方)
解釋:需判斷BMI的區間,才能顯示出標準
步驟十三:請在左側Blocks選單中點選 Screen1下的 Label2 找到 set Label2 Text to放置在 then 之後

解釋:第二個標籤顯示出標準,倘若BMI小於18.5,就會顯示出體重過輕
步驟十四:請在左側Blocks選單中點選 Built-in下的 Text中的 " " 放置在 set Label2 Text to之後,並將名稱改為Underweight

步驟十五:請在左側Blocks選單中點選Built-in下的Control,在彈出的拼圖式程式區塊中選取if then,拉至第一個 if then 之下

步驟十六:請在左側Blocks選單中點選Built-in下的Logic,在彈出的拼圖式程式區塊中選取and,拉至第二個 if then 之後

解釋:需要判斷兩個式子
步驟十七:請在左側Blocks選單中點選Built-in下的Math中的 = 改為 >= 拉至 and 的左邊框內後,再重新拉另一個 = 改為 < 到and 的右邊框內(紅線處)
恭喜完成了此次的範例程式。
程式內容:
玩家輸入自己的身高和體重,程式會顯示出你的BMI且會告知你處在哪個標準之中
分級標準
|
身體質量指數
|
體重過輕Underweight
|
BMI<18.5
|
正常範圍The normal range
|
18.5<=BMI<24
|
過重Overweight
|
24<=BMI<27
|
輕度肥胖Mildly obese
|
27<=BMI<30
|
中度肥胖Moderately obese
|
30<=BMI<35
|
重度肥胖Severe obesity
|
BMI>=35
|
本範例假設您已經完成了BMI1.0的範例程式。
程式功能分析:
設計一個程式,輸入完身高和體重後,會自行計算出BMI,接著判斷出位在哪個區間中,藉此告知分級標準。
開發步驟:
步驟一:請先新增一個名稱為「BMI2」的專案,按下 OK 後,即可進入 App Inventor 的 Designer 視窗。(註:專案名稱中可用底線但不能有空格或其它特殊字元)
步驟三:到視窗左側的元件面板(Palette)中,點選使用者介面(User Interface)中的標籤(Label)元件,按住滑鼠不放將其拖曳至預覽(Viewer)中,接著找到 Text 屬性,將方框中預設的文字清除。
接下來我們就可以開始編寫程式囉!請點擊右上方的Blocks切換到程式頁面。
步驟四:請在左側Blocks選單中點選Built-in下的Variables,在彈出的拼圖式程式區塊中選取 initialize global name to,置於預覽視窗中,並將"name "改為"bmi"。
解釋:需設一個數字變數為 bmi
解釋:此為BMI的算式(體重/身高的平方)
解釋:因為接下來的判斷式需要判斷變數
步驟九:將剛剛的set Label1.Text to移到set global bmi to下方並且在Variables找到get global bmi卡入其中
解釋:第一個標籤要顯示出BMI的數值
步驟十:請在左側Blocks選單中點選Built-in下的Control,在彈出的拼圖式程式區塊中選取if then,拉至set Label1.Text to之下
解釋:需判斷BMI的區間,才能顯示出標準
步驟十三:請在左側Blocks選單中點選 Screen1下的 Label2 找到 set Label2 Text to放置在 then 之後
解釋:第二個標籤顯示出標準,倘若BMI小於18.5,就會顯示出體重過輕
步驟十四:請在左側Blocks選單中點選 Built-in下的 Text中的 " " 放置在 set Label2 Text to之後,並將名稱改為Underweight
步驟十五:請在左側Blocks選單中點選Built-in下的Control,在彈出的拼圖式程式區塊中選取if then,拉至第一個 if then 之下
步驟十六:請在左側Blocks選單中點選Built-in下的Logic,在彈出的拼圖式程式區塊中選取and,拉至第二個 if then 之後
解釋:需要判斷兩個式子
步驟十七:請在左側Blocks選單中點選Built-in下的Math中的 = 改為 >= 拉至 and 的左邊框內後,再重新拉另一個 = 改為 < 到and 的右邊框內(紅線處)
步驟十八:請在左側Blocks選單中點選Built-in下的Variables找到get global bmi放置在 >= 的左邊框內後,再將Math中的0拉至右邊框內,並將0改為18.5(紅線處)
步驟十九:請在左側Blocks選單中點選Built-in下的Variables找到get global bmi放置在 < 的左邊框內後,再將Math中的0拉至右邊框內,並將0改為24(紅線處)
步驟二十:請依照步驟十三和步驟十四的動作執行,在左側Blocks選單中點選 Screen1下的 Label2 找到 set Label2 Text to放置在 then 之後,再來在左側Blocks選單中點選 Built-in下的 Text中的 " " 放置在 set Label2 Text to之後,並將名稱改為 The normal range
完成完整的程式如下:
恭喜完成了此次的範例程式。
請問一下我想讓他也顯示bmi值 我用了join 第一個bmi變數 第二個則是顯示過重或過輕
回覆刪除但是實測不管輸入什麼數字 都只會顯示過輕 這是為什麼呢?
你的身高要輸入公尺.....
刪除喔 最好是
刪除請問您有拼圖類的範例嗎???
回覆刪除可以幫我看一下我的程式有什麼問題嗎!
回覆刪除我的程式運算有問題耶!
但我看了一下你的,明明一樣啊,但我的有問題!
SET/BMI/TEXTBOX2/TEXTBOX1/100^2
回覆刪除才對