The Integer Addition and Subtraction Machine.
This interactive application models the behavior of positive and negative integers under addition and subtraction. Turning a crank drives a 'robot' along a number line. Clicking the '+' button turns the crank to the right one full turn; the '-' button turns the crank to the left. A full turn to the right is a command to go forward one unit. A full turn to the left is a command to go backward one unit.
Integers themselves are represented as pulleys that when turned by the crank modify the commands. For example, the pulley representing 9 turns a command to go forward 1 unit (one rotation to the right) into a command to go forward 9 units (9 rotations to the right.) The pulley representing a negative number has a twist in the belt causing it to reverse the direction of commands. For example, the pulley representing -9 turns a command to go forward 1 step into a command to go backward 9 steps and a command to go backward 9 steps into a command to go forward 9 steps. Thus adding a negative number is equivalent to subtracting a positive number and subtracting a negative number is equivalent to adding a positive number.
To add or subtract a positive or negative number with magnitude < 13 click on the corresponding blue or red button and click on the '+' or '-' button depending on whether you want to add or subtract. Notice that as you add or subtract, blue (positive) and red (negative) arrows ("vectors") track the motion of the robot. The current net value of the expression is displayed in the body of the robot and represented by its position on the number line.
Note that this pure HTML application is completely self-contained. You do not need to be connected to the Internet in order to run it. All you need is a reasonably up to date browser like Chrome or Firefox.