1 Activities for this section:
2 What is an algorithm?
So far, we have been drawing pictures and counting to help us solve addition and subtraction problems. This has really helped us to understand the meaning of these operations, but drawing and counting is not very fast. Sometimes, we want a fast method to find the correct answer, and that’s where algorithms step in.
An algorithm is a recipe for carrying out a calculation. You memorize a sequence of steps, and as long as you perform the steps correctly and in the right order, you get the correct answer. Think of algorithms like recipes: if you follow the steps of a recipe in the same way that the recipe writer did, you will make the same food that the recipe writer made.
However, as we work through this section, we want you to notice the trade-off involved with algorithms. When we use an algorithm, we get the answer quickly, but we give up our thinking about the meaning behind it. When we think about the meaning of things and draw pictures, we give up the speed that an algorithm provides. There are times in our every-day lives that we want speed, and times where we want understanding. That’s why it’s important for children to practice both. Besides, when we memorize a bunch of steps without meaning, it can be really easy for people to forget which step comes where or how to do the steps. When we proceed with our understanding, we can be confident we’ve gotten the right thing.
With all of that being said, our aim in this section is to understand why the steps in the algorithms produce the correct answers. We’ll work through the subtraction algorithm first, using whole numbers, and then the addition algorithm using decimals.
3 The standard subtraction algorithm
We will start out by describing the steps of the algorithm, using the subtraction problem as an example. Here is what our finished work would look like.
What steps did we use? First, we started from the ones place with the and the . We subtracted from and wrote the result, , below the line and under the ones place. Next, we looked at the tens place, with the and the . We can try to subtract from , but the answer would be negative. Instead, we are going to regroup. So, we take the in the hundreds place of and cross it out. We marked that in our example with a red line. We change this to be one less, so we write a above that . (Notice it looks like there’s a there, because we’ve done more steps. At first, we just place a .) We also mark off the in the tens place of and write above it. This step, when we subtract one from the next highest place and add ten to the place we are working with, is called regrouping. (You may also have learned to call this step borrowing.) So we can say that we regrouped from the hundreds place and moved it to the tens place. Now we can subtract and place the resulting below the line in the tens place of our answer. Next, we investigate the hundreds place. We have hundreds left in because of the one we regrouped, and we need to subtract hundreds from that. We don’t have enough hundreds, so we regroup again. We cross off the in the thousands place of and reduce it by , so it is now zero. We add ten to the place we are working with, so the becomes . Now we can subtract, and , so we write the below the line in the hundreds place. Since we don’t have any more thousands, we are finished calculating, and we read off our answer from below the line: .
But why does this work? Let’s go through another example, drawing pictures of what’s going on behind the scenes.
Remember our goal according to the definition of subtraction: we want to take away the quantity from the quantity . We could do this with a picture, similarly to what we have done in previous sections. We encourage you to stop here and practice drawing such a picture in your notes, and then compare and contrast with the steps we take in order to illustrate what is happening with the algorithm.
First, we will set up for our calculation on the left hand side of our picture, and draw the quantity using base ten blocks on the right. Since we are working with whole numbers, the value of one little block will be , which means the value of one bundle will be one place value to the left or and the value of one superbundle will be two place values to the left of the individual blocks or . In order to draw , we will need superbundles, bundles, and individual blocks.
Our first step is to look at the tens place. In our algorithm, we want to subtract , which would give us a negative number. Using our blocks, we want to remove individual blocks (because we are working in the ones place) from the individual blocks that we have drawn. In order to get more blocks, we are going to have to break something down. It would be natural for us to break down a bundle, but we don’t have any of those, so let’s first break down one of our superbundles into bundles. In our picture we will draw one of the superbundles crossed out in purple, and then draw the corresponding bundles with a purple box around them so we can see where they came from.
To record what we’ve done in our algorithm, notice that we crossed off one superbundle and we have two superbundles left. So, let’s cross off the in and replace it with a . (Remember this is the regrouping step.) We now have bundles, so let’s cross off the in and replace it with a .
Now, we have some bundles to unbundle. Remember, our goal was to get some more individual blocks! We will unbundle that last bundle into individual blocks. We will delete the purple box around all of the bundles, cross out one of the bundles in a green color, and then show the new individual blocks with a green box around them so you can see where they came from.
To record this step in the algorithm, we took away one bundle from our bundles, so let’s cross off the that we made in the previous step. We have bundles remaining, so we’ll write a above that . Finally, we now have individual blocks, so we’ll cross off the in and write above it.
Notice how the small numbers above the in the algorithm represent the way that we’ve rearranged our base ten blocks. We have superbundles remaining, bundles, and individual blocks. We still have the same amount of blocks that we started with, but we’ve rearranged them to make our job of taking away some blocks a lot easier. We will start by taking away the individual blocks in , so we’ll remove the green colored box around the unbundled ones.
The problem tells us to take away individual blocks since there is a in the ones place of , so we will cross off individual blocks using a red marker. This will leave us with individual blocks total, which we will record in the algorithm underneath the line. Since they are individual blocks and the value of each block is , this will go in the ones place in our answer.
Next, the in tells us we need to take away tens, which are bundles in our picture. We have enough bundles to do this, so we don’t need to unbundle again. We will mark these bundles off with our red marker again, and record that we have bundles or tens remaining underneath the line in the tens place.
Last but not least, we need to take away superbundle for the one hundred in . Again, we have enough superbundles, so we don’t need to unbundle. We can mark off one of the superbundles and record the remaining one superbundle or hundred underneath the line.
For our answer, we can either read beneath the line or count how many superbundles, bundles, and individual blocks we have left. We have superbundle, bundles, and individual blocks, which corresponds exactly to the underneath the line. And notice that we also did the right operation (subtraction), because we took away combined all of the requested blocks (a total value of , though we split that up into steps). That’s the meaning of subtraction. So, we are confident that our answer is correct and that this algorithm produced the correct answer to this subtraction problem.
While we’ve worked through the reasoning for the subtraction algorithm with this specific example, we hope that you can work through more examples, drawing pictures of each step in the algorithm, until you feel confident that these steps make sense. In particular, pay attention to the regrouping steps, since these can seem the most mysterious when we are first learning the algorithm. But, the regrouping isn’t so mysterious when we recognize that we’re just unbundling and rearranging the blocks in our picture.
4 The standard addition algorithm
Now, let’s turn our attention to the standard addition algorithm. Like we did with the standard subtraction algorithm, we will look at an example to talk through how to make the calculation, and then work through another example where we explain why the algorithm works to give us the correct answer.
First, let’s show how to perform the calculations with the example of .
What were the steps we took? First, since we are using decimal numbers in this case, our first step was to add the numbers by lining up the decimal places. Since didn’t have anything in the hundredths place we can place a zero to the end of that number, making it .
Next, like with the subtraction algorithm, we start with the smallest place value we have, which in this case is the hundredths place. We add the hundredths from to the hundredths from , and the answer is hundredths, which we write below the line in the hundredths place. We move one place value left, and add the tenths places. tenths plus tenths will give us tenths, which is too many to fit just in the tenths place. So, we write the from that below the line in the tenths place, and place the above the next place to the left (the ones place). That’s where we see the small above the . This step is called regrouping, when we place a small number over the next place value to the left. (You may have learned to call this step “carrying”.) Moving to the ones place, we add the ones from , the ones from , and the extra small above the . All together that give us ones, so we break that apart like we did with the tenths: the goes in the ones place below the line, and the gets carried above the in the next place value to the left. Finally, we add all the tens, which is the tens from and the extra ten we just wrote, giving us tens to write below the line. Our answer is written below the line: .
Hopefully, you are already imagining how we can justify this with our base ten blocks. Let’s take a look at how this works, using a different example.
Remember our goal according to the definition of addition: we want to combine together the quantity with the quantity . We could do this with a picture, similarly to what we have done in previous sections. We encourage you to stop here and practice drawing such a picture in your notes, and then compare and contrast with the steps we take in order to illustrate what is happening with the algorithm.
First, we will set up our calculation on the left hand side of our picture and again draw our base ten blocks on the right. In this case, the smallest place value we have is the tenths place, so we will let the value of one individual block be , meaning the value of one bundle is one place to the left or and the value of the superbundle is one more place to the right or . To represent our first number, , we will need superbundle, bundles, and individual blocks.
We start with our smallest place value, which in this case is the tenths. We have tenths already from and we need to combine that together with more tenths from . Let’s draw more individual blocks filled in blue.
Looking at our picture, we now see individual blocks. We can make a bundle out of of them, so let’s do that with a red box.
The ten individual blocks together make up a new bundle, and there are individual blocks left. We’ll record the result of this work in our algorithm by writing the individual blocks below the tenths place, and placing our new bundle in the bundles place. But since we haven’t added the bundles place yet, we’ll record it as a small above the bundles place. (Remember that this is the regrouping step.)
Now, we move on to the ones place. We have ones and an additional one that we got from bundling individual blocks, and we will also have more ones, or bundles, from . Let’s rewrite our red boxed bundle as an extra bundle in the middle, and then put down the four more bundles that we need. The new bundles will be filled in blue.
All together we now have bundles. Just like we did before, we can bundle of those bundles together to make a superbundle. We will place a red box around the superbundle that is formed. We will record this extra superbundle above the superbundles place with a little since it’s one extra superbundle. We will also record the number of leftover bundles, which is , below the line in the bundles or ones place.
Finally, we combine together all of the superbundles, which in this case is the one from and the one that we just made from the bundles. We have superbundles all together, so we record that under the line in the superbundles or tens place.
Finally, we see our answer. In the picture, we have a total of superbundles, bundles, and individual blocks, for a total value of . And that’s exactly the number we have below the line. Notice that we know that we used the meaning of addition to solve this problem, because we took away combined all of the requested blocks (a total quantity of , even though we broke that up into steps). So, we are confident that our picture with the blocks gives us the correct answer. Since our steps correspond with the algorithm steps, we are also confident that we got the right answer using the algorithm.
Again, we have done this with a specific example, but we hope you will practice with more examples and see why the algorithm works for any two numbers, whether they are whole numbers or decimals. Pay special attention to the regrouping step, which can be a little confusing. But when we did the regrouping step, each time we were bundling up one kind of object into the next kind of object, and so we had to place them in the next place value to the left.
Overall, we hope that you are now feeling more confident in both using the standard algorithms and understanding why they work.
5 Other algorithms
We called the algorithms that we have seen in this section the “standard” algorithms. The reason for this is that these are the algorithms for addition and subtraction most commonly taught in US schools. However, they are not the only kinds of algorithms out there!
First, notice that if you give children blocks and ask them to solve addition and subtraction problems, the children will likely not do their steps with the blocks in the same way that we have used base ten blocks to model the algorithm. In that way, the steps of the algorithm aren’t as natural for most people as methods they would come up with on their own. Children can invent their own algorithms that reliably produce the correct answers, though they aren’t quite as fast as the standard ones. However, we hope that you encourage the kids in your future classroom to play with these ideas and come up with their own strategies as well as encourage them to use the standard algorithm when they need to get the answer quickly.
Second, we mentioned that these standard algorithms are the ones most frequently taught in the US, and it is part of Ohio’s standards that children should be able to use these methods. However, this isn’t necessarily the case throughout the world. There are plenty of other algorithms that work just fine to produce the right answer to addition and subtraction problems. Watch the following video to see two examples of alternative algorithms.