Pascal's Adding Machine Design

From Scalable Game Design wiki
Jump to: navigation, search

Pascal's Adding machine is a simulation of the first mechanical adding machine that Pascal designed and later Leibniz improved to carry out multiplications.



  • Math
  • Computer Science
  • History


Concept One: the carry

Pascal designed the first mechanical adding machine in 1642. The most important feature of his adding machine was the carry. The carry involves raising the value of the next digit when the current digit passes from 9 to 0. The carry could easily have been implemented with a long tooth designed to rotate the next gear as the current gear passes from 9 to 0. However if fifty gears were all lined up in the 9 position every gear's long tooth would be ready to turn the next gear. A person would have to apply the force necessary to turn fifty gears to turn the first gear from 9 to 0.

Pascal's solution was have each increment of a gear raise a weight by a small amount. When the gear passed from 9 to 0 the weight was released. It was the falling of the weight that turned the next gear producing the carry. Pascal emphatically claimed with this method "it is just as easy to move one thousand or ten thousand dials, all at the same one time".

Concept Two: the multiplicand teeth

In 1671 Gottfried Wilhelm Freiherr von Leibniz constructed an improvement to Pascal's machine which could perform multiplication. His machine worked with variable toothed multiplicand gears and variable sized multiplier discs. He built his machine on top of Pascal's assuming Pascal's carry mechanism would take care of all caries.

The multiplicand gears are set to have the number of teeth corresponding to the digit they represent. This means that as each multiplicand gear rotates once, the number of teeth it has will catch the corresponding gear in Pascal's adding machine incrementing it the digit the multiplicand gear represents. So if the multiplicand was set to 23, a two and a three toothed gear, turning each gear once will produce 23 on Pascal's machine. Turning each gear twice would produce 46 or 2 * 23.

Concept Three: the multiplier ratio

Each multiplier disc has a different size corresponding to the digit it represents. The 1 multiplier disc has a diameter the same size as the pulley disc it is connected to. Thus every time it is rotated the pulley disc will rotate once. The 2 multiplier disc is has a diameter twice the size of the pulley disc. The 3 disc has diameter three times the size and so on.

Multiplication is performed by connecting one of the multiplier discs to the multiplicand gears. If the 2 multiplier disc is chosen it will rotate the multiplicand gear twice for every time it rotates. Every time the multiplicand gear rotates it will produce its result on Pascal's machine. Thus if the multiplicand gear is 3, having three teeth, the multiplier disc will rotate it twice incrementing Pascal's addition gear three times for each rotation. The result will be six.

For the multiplier it is the ratio between the multiplicand disc and the pulley disc that creates the effect of multiplication.

Using the simulation

  • Open the "pascalsmachine" worksheet in AgentSheets or in the Java Applet and run it
  • The 'Hand' tool can be used
    • on numbers to increment them
    • on gears to rotate them


  • Addition: Addition is performed by simply incrementing each of the digits at the top to the first number you would like to add and then adding incrementing the appropriate digit that corresponds to the second number you'd like to add - and so fort. If for example you want to add 23 + 35:
    • enter the first number (that is, 23) by clicking with the "Hand" tool on the tens digit twice and the ones digit three times (see movie -- if flash movie below does not show properly, please use the Quicktime version)
      <flvplayer width="375" height="434">Entering23.flv</flvplayer>
    • increment each digit by the numbers indicated by the corresponding digit of the number you would like to add. For our example (adding 35), you would click the tens digit (currently showing a 2) three more times and the ones place (currently showing a 3) five more times. This would result in 58 (see movie below -- if flash movie below does not show properly, please use the Quicktime version).
      <flvplayer width="375" height="434">23plus35.flv </flvplayer>

      This can be repeated for as many numbers you are adding. The role of the machine is simply to take care of the carries for you. For example, if instead you were adding 37 to 23, you would:
    • enter 23 as described above
    • add 37 by clicking 3 times on the tens digit and 7 times on the ones digit. This would automatically result in carrying over a digit into the tens (because 3 + 7 is 11) and reseting the ones digit to start counting from 0 again, to end up displaying 61 (see movie below -- if flash movie below does not show properly, please use the Quicktime version).
      <flvplayer width="375" height="434">23plus37.flv‎</flvplayer>

  • Multiplication: Multiplication is performed using the multiplicand disks (the variable toothed gears in the middle, next to the blue left and right shift arrows) and the multiplier disks (the variable radius disks at the bottom). Set the multiplicand disks to the first number you would like to multiply (the multiplicand). For instance, if you want to multiply 32 times 3, set the multiplicand disks to 32 by selecting the "hand" tool and clicking on the digits below the disks as many times as necessary (see movie below -- if flash movie below does not show properly, please use the Quicktime version).
    <flvplayer width="375" height="434">multiplicand32.flv‎</flvplayer>

Select the disc at the bottom corresponding to the number you are multiplying by, i.e. the multiplier (in our example 3), and connect it to one of the multiplicand pulleys. Perform the multiply by clicking on the multiplier disk with the "hand" tool. Connect the disc to the other multiplicand pulley and perform its multiplication as well. The result shown on the machine should be 96. (see movie below -- if flash movie below does not show properly, please use the Quicktime version).
<flvplayer width="375" height="434">32times3.flv‎</flvplayer>

For double digit multipliers, after you perform the multiplication of the ones digit of the multiplier as described above, you need to shift the multiplicand to the left using the "hand" tool on the left shift arrow, before multiplying with the tens digit of the multiplier. See movie for example of multiplying 21 times 13.
<flvplayer width="375" height="434">21times13.flv‎</flvplayer>


  • This simulation was created by Jonathan Phillips
  • Gear graphics generated by Andri Ioannidou