2) 601 Target Heart Rate with Validation
Problem description
Create a program that calculates a person's target heart rate.Take a person's age as input and output:Enhance your Target Heart Rate program to include data validation for the age to disallow ages outside the range from 5 to 75, inclusive. Provide appropriate/helpful messages for ages entered outside this range.
mProblem type
What tools or patterns apply? What is the best way to visualize or represent the inputs and outputs for the program?Expression or series of expressions(simple algorithm)Timeline?Collection?Think about the different types of math word problems you "know" how to solve.
Problem type
Simple Input/Process/Output
Input(s)
age
Process(es)
Output(s)
Maximum heart rate is 220 - ageMinimum Target Heart Rate is 50% of the maximum heart rateMaximum Target Heart Rate is 85% of the maximum heart rate
Maximum Heart Rate
220 - age
Minimum Target Heart Rate
50% of the maximum heart rate
Maximum Target Heart Rate
85% of the maximum heart rate
Use Cases/Scenarios
Describe the interaction between the computer and the userUser: starts the programProgram: does somethingUser: does something in response
Basic Use Case
This is the most basic of interactions between the user and the program.User: starts programProgram: Displays a welcome message, followed by a prompt for the user's ageUser: enters ageComputer: computes and displays "heart rate values"Computer: exits program
Valid age scenario
User enters a valid age, from 5 to 75, inclusiveTest scenarios: user enters the following ages - 5, 6, 50, 74, 75User: starts programProgram: Displays a welcome message, followed by a prompt for the user's ageUser: enters ageComputer: computes and displays "heart rate values"Computer: exits program
Invalid age scenario
User enters an invalid age, outside of the range from 5 to 75, inclusiveTest scenarios: user enters the following ages - -5, 0, 4, 76, 220User: starts programProgram: Displays a welcome message, followed by a prompt for the user's ageUser: enters an invalid ageComputer: computes displays snarky messageComputer: exits program
What do you know?
Factual data about the problem
What don't you know?
What other information might help, but is not available today?* How would it help?* How could you obtain it?* Can you work without it?* What are the risks or consequences of not knowing?* Who else might have further information and insight?
inputs
allow fractional ages?
What assumptions are you making?
In identifying the problem and the probability of a solution, what assumptions are you making?Assumptions can sometimes be hard to see or accept. For example, if the "problem" is that sales of a certain product are too low, you may naturally aim to increase sales. You are ''assuming'' that the market demand for this product will continue. But if the demand disappeared overnight in a storm of negative publicity, then the original problem and solution also change. So the problem and logical solution are partly based on an assumption.
values will be output "as-is"
valid age entered
for now assume that the user is going to enter a valid age ranging from 0 to 125This also assumes that the user enters a numeric age
Solution criteria
How will you know when you have solved the problem?* What will a successful resolution look like?* How will you filter and assess potential solutions?* How will you verify that the issue has been solved?You might want to return to the solution criteria several times as you develop the definition of the problem.
console application
User interaction will be "friendly"
output format
Root cause analysis
For analytical problems, root cause analysis can help to unravel indirect causes of problems, leading to more effective solutions. One way to do this is to keep asking "Why?" down to five levels, to understand the reasons behind the reasons.
Impact analysis
Impact analysis looks at who is affected by the problem - what the consequences are, rather than the causes.
Person
Impact
Six serving men
"Six Serving Men" is based on Rudyard Kipling's poem, which begins:''I keep six honest serving men(They taught me all I knew);Their names are What and Why and WhenAnd How and Where and Who.''We can profile a problem and perhaps discover more about it by asking structured questions.
Analogies
Can you find analogies for this problem?The underlying characteristics of a problem can sometimes be clearer when it is taken out of context.
What is it like?
Be the problem
Be the problem is a popular technique for understanding problems. It means developing a character for the problem and describing its nature as if it were a person.
Insight
Welcome
Researching and describing a problem clearly is the foundation for solving it. Solutions based on incomplete research or poor descriptions can often fail to reach the root causes.This Smart Map helps you to research and describe a problem from a number of different angles. It contains a mix of factual information-gathering tools and lateral thinking techniques, to develop perspectives that can point towards solutions.You can use this map individually and in collaboration with others. It is vital to get consensus on the actual problem you are facing, otherwise there may be no consensus on the solution. Putting the descriptions together in one place helps you to explain and agree upon the basis for finding and evaluating solutions.You can delete this topic from the saved map.
Where next?
You can continue to develop this map without the Smart Map wizard by saving it as a normal Mindomo map.When have a comprehensive description of the problem, you can move towards finding solutions. Consider a brainstorm as a next step, using the Brainstorming Toolbox Smart Map.You can delete this topic from the saved map.