Learning to decompose problems
When we decompose problems, we're identifying what we need the algorithm to provide us with. The end user will need to see something seamless. Look at the flowchart in Figure 5.1; this is a basic decision-making flowchart to help us design our algorithm.
Let's make another assumption first, that is, if the user enters more than 10, the price will be lower. We're only going to do less than 10 or more than or equal to 10 in this case. However, if you needed to subdivide this further, you can add more cases, such as the following:
- Less than or equal to 10
- More than 10 and less than or equal to 50
- More than or equal to 50
You can have as many cases as you need. For the purposes of this algorithm, we're going to keep it to two cases, since we also have to include personalization costs and we don't want to create an overly complicated algorithm.
The following diagram shows you the flowchart for the algorithm...