Skip to content

Instantly share code, notes, and snippets.

@superacidjax
Created October 14, 2015 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save superacidjax/bbe0be71b769ab434b02 to your computer and use it in GitHub Desktop.
Save superacidjax/bbe0be71b769ab434b02 to your computer and use it in GitHub Desktop.
Lesson 2
Every programming language has some kind of way of doing numbers and math.
This exercise his all about math and the symbols needed to do math.
Let's name them right away so you know what they are called. As you type this one in, say the name.
When saying them feels boring you can stop saying them. Here are the names:
+ plus
- minus
/ slash
* asterisk
% percent
< less-than
> greater-than
<= less-than-equal
>= greater-than-equal
After you type in the code for this exercise, go back and figure out what each of these does and complete the table.
For example, + does addition.
In a new file, called lesson_2.rb enter the following:
puts "I will now count my chickens:"
puts "Hens #{25 + 30 / 6}"
puts "Roosters #{100 - 25 * 3 % 4}"
puts "Now I will count the eggs:"
puts 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
puts "Is it true that 3 + 2 < 5 - 7?"
puts 3 + 2 < 5 - 7
puts "What is 3 + 2? #{3 + 2}"
puts "What is 5 - 7? #{5 - 7}"
puts "Oh, that's why it's false."
puts "How about some more."
puts "Is it greater? #{5 > -2}"
puts "Is it greater or equal? #{5 >= -2}"
puts "Is it less or equal? #{5 <= -2}"
Now run the program by typing the following into your iTerm (don't forget to save your file first!)
ruby lesson_2.rb
I will now count my chickens:
Hens 30
Roosters 97
Now I will count the eggs:
7
Is it true that 3 + 2 < 5 - 7?
false
What is 3 + 2? 5
What is 5 - 7? -2
Oh, that's why it's false.
How about some more.
Is it greater? true
Is it greater or equal? true
Is it less or equal? false
Extending your learning
Find something you need to calculate and write a new .rb file that does it.
Notice the math seems "wrong"? There are no fractions, only whole numbers. You need to use a "floating point" number,
which is a number with a decimal point, as in 10.5, or 0.89, or even 3.0.
Rewrite lesson_2.rb to use floating point numbers so it's more accurate. 20.0 is floating point.
Common Questions
Why is the % character a "modulus" and not a "percent"?
Mostly that's just how the language designers chose to use that symbol. In normal writing you are correct to read it as a "percent."
In programming this calculation is typically done with simple division and the / operator. The % modulus is a different operation that
just happens to use the % symbol.
How does % work?
Another way to say it is, "X divided by Y with J remaining." For example, "100 divided by 16 with 4 remaining." The result of % is the J part, or the remaining part.
What is the order of operations?
In the United States we use an acronym called PEMDAS which stands for
Parentheses Exponents Multiplication Division Addition Subtraction. That's the order Ruby follows as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment