//Declare global constants
Declare constant real BMI_FACTOR = 703
Declare constant real MASS_LOWER_LIMIT = 18.5
Declare constant real MASS_UPPER_LIMIT = 25.0
//Define Function Prototypes
Function real getWeight()
Function real getHeight()
Function real setMass(real, real)
Function string setOverUnder(real)
Function void showBMI(string, real)
Begin function main
// Declare variables
Declare real weight
Declare real height
Declare real BMI//Body Mass Index
Declare string healthStatus//Optimal, Under, or Over weight
// Get the user’s weight
Set weight = Call getWeight()
// Get the user’s height
Set height = Call getHeight()
// Calculate the user’s Body Mass Index
Set BMI = Call setMass(weight, height)
//Determine the user’s health status based on BMI
Set healthStatus = Call setOverUnder(BMI)
//Display the user’s BMI and health status
Call showBMI(healthStatus, BMI)
return 0
End function main
// Function Definition for getWeight
Function real getWeight ()
//Local variable declaration
Declare real totalWeight//To hold the user’s weight input from keyboard
//Prompt the user for weight
Display "Enter weight in pounds"
Get totalWeight//Takes the next real number from the input stream
returntotalWeight//Sends value back to the caller
End function getWeight
// Function Definition for getHeight
Function real getHeight ()
//Local variable declaration
Declare real totalHeight//To hold the user’s height input from keyboard
//Prompt the user for height
Display "Enter height in inches"
Get totalheight//Takes the next real number from the input stream
returntotalHeight//Sends value back to the caller
End function getHeight
//Function definition for setMass
Function real setMass (real localVarWeight, real localVarHeight)
//Local variable declaration
Declare real totalMass//To hold BMI
// Calculate user’s body mass index
Set totalMass = (weight * BMI_FACTOR) / (height * localVarHeight)
returntotalMass//Sends value back to the caller
End function setMass
//Functionn definition for setOverUnder, which determines user’s healthStatus base on BMI
Function string setOverUnder (real localVarMass)
//Declare local variable
Declare string wellBeing//To hold the user’s health status
// Determine user’s health status based on his/her BMI
iftotalweight is < 18.5 then
setOverUnder = "underweight"
else if totalweight is 25.0
______= "overweight"
else
wellBeing = "optimal weight"
returnwellBeing//Sends string value back to the caller
End function setOverUnder
//Function Definition for showBMI which displays the results
Function void showBMI (string localVarHealth, real localVarMass)
{
// Display user’s BMI
Display "Your BMI is ", ______
// Display user’s health status
Display "You are ",______
End function showBMI