Modulo
Image by Anthony Albright on Flickr
Exploring another one of programmings many strange sounding but useful terms!
If you know a little bit about programming, there’s a good chance you’ve come across some of the weird terms that programmers like to use. While they have funny names, this doesn’t take away from the fact that they’re really important to learn what they mean and how they work!
Have you heard of the term “modulo”? It’s pronounced like “module” except you stick an O at the end of it. It sounds like some sort of supervillain, but it’s a lot more innocent than that!
In programming, modulo is represented by a percent symbol (%). You can use it like a mathematical symbol, such as + or -.
When you use modulo in an equation, modulo will divide the left number with the right one. However, instead of telling you the result of the division, modulo will instead give you the remainder of the division.
For example, If you told a computer to calculate 11 divided by 2 you’ll get 5.5. However, if you do 11%2 instead, the computer tell you what the remainder is. 2 goes into 11 five times, with a remainder of one; as such, 11%2 will equal 1.
It seems a little odd that programmers use modulo; after all, when do you ever want to know the remainder of a division? As it turns out, modulo is fantastic for telling us if one number can be divided evenly by another number.
Let’s imagine you calculate what 6%2 equals. When you press enter, the computer gives you a result of “0”. This means that there was no remainder left. Why? Easy: because 6 divides into 2 without any leftovers.
When this happens, we say that the number we’re diving up is “divisible” by the number we’re dividing with. In this case, 6 is divisible by 2, because 2 goes into 6 three times with no remainder.
Because of this, we can work out if one number is divisible by another using modulo. If modulo gives you a 0, it’s divisible; if it doesn’t, it’s not.
Now let’s put modulo to use. Do you know of the game “Fizzbuzz”? It’s a fun game where you and your friends take turns to count upward. When someone goes to say a number divisible by 3, they say “Fizz.” If it’s divisible by 5, they say “Buzz.” If it’s divisible by both 3 AND 5, they say “Fizzbuzz.” So, to start, it’d sound like this: 1, 2, Fizz, 4, Buzz, Fizz…
You can use modulo to make a computer program to play this game for you. You can set up a program that counts from 1 to 100, and checks each number using Modulo 3 and Modulo 5. If either (or both!) returns 0, you tell the computer to say “fizz,” “buzz,” or “fizzbuzz.”
Can you make a program that does the above? If you can, can you think of other ways you can put modulo to good use? Why not make an odd-even number detector, or a program where you enter two numbers and it tells you if one is divisible by another? The modulo sounds weird, but it’s a very useful tool!
Learn More
What Is Modulo?
https://www.computerhope.com/jargon/m/modulo.htm
C++ FizzBuzz With Modulo
https://rosettacode.org/wiki/FizzBuzz#with_modulo
Practical uses for the modulo operator
https://hatoum.com/blog/2012/12/practical-uses-for-modulo-operator.html
Modulo operation
https://www.mathsisfun.com/definitions/modulo-operation.html
What is modular arithmetic?
What does % mean in python?
Modulo operation facts
https://kids.kiddle.co/Modulo_operation
Fun with Modular arithmetic
https://betterexplained.com/articles/fun-with-modular-arithmetic/
Modular arithmetic
https://en.wikipedia.org/wiki/Modular_arithmetic
Modulo operator in Python
https://www.geeksforgeeks.org/what-is-a-modulo-operator-in-python/
Also In The December 2020 Issue

Welcome to the far away land of the Ein Lifon where the number of appendages you have changes how you count!

You've looked at and used Susan Kare's work, or work inspired by hers, every time you use a computer.

A fun SketchUp walk-through for pinwheel enthusiasts!

Through the example of Theo Jansen and his Strandbeests we discuss the importance of fostering creativity and innovation in students.

From gopherspace to geminispace, the small internet is a lot bigger than you think!

Meet lisp, one of the oldest and simplest families of programming languages out there!

A fun craft for anyone who wants to combine their love of sewing and tech!

Learn how asymmetric encryption and prime numbers help keep you safe online!

Use OPP to make better python generated stories!

Desertification in the Sahel is a serious issue, but this model may offer a solution!

What could we accomplish if batteries lasted forever? These two companies want to find out!

Exploring another one of programmings many strange sounding but useful terms!

Learn how you can use your hacking super powers for good!

Links from all the stories in this December 2020 issue of the magazine!

Interesting stories about computer science, software programming, and technology for December 2020.