Performing calculations is an important part of any programming language, and Ruby is no exception. Many people have been led to believe that to be a computer expert you have to be a mathematics expert (and Computer Science and Engineering requirements certainly don’t dispel that rumor; it’s a lot of the reason why I have an I.S. degree rather than a C.S. or E.E. degree 😉 ). Still in many instances, the math that is performed is actually pretty straightforward. Most of the math symbols will be perfectly familiar to anyone who has done any kind of programming in the past or even worked with Excel.

For the first exercise, Zed has us saying out loud what everything is. It helps to know what these things are so when you mention a “modulus” character to another programmer, or them to you, you know what it is :).

And here we go…

– minus [performs subtraction]
/ slash [performs division]
* asterisk [performs multiplication]
% percent  [provides the remainder of a division, i.e. the modulus]
&lt; less-than [what’s on the left is less than what’s on the right]
> greater-than [what’s on the left is greater that than what’s on the right]
&lt;= less-than-equal [what’s on the left is less than or equal to what’s on the right]
>= greater-than-equal [what’s on the left is greater than or equal to what’s on the right]

The first thing to do was to tell what the operations were, fairly straightforward [see above]

Next, let’s get gedit and ruby in to the game:

1 puts “I will now count my chickens:”
2
3 puts “Hens”, 25 + 30 / 6
4 puts “Roosters”, 100 – 25 * 3 % 4
5
6 puts “Now I will count the eggs:”
7
8 puts 3 + 2 + 1 – 5 + 4 % 2 – 1 / 4 + 6
9
10 puts “Is it true that 3 + 2 &lt; 5 – 7?”
11
12 puts 3 + 2 &lt; 5 – 7
13
14 puts “What is 3 + 2?”, 3 + 2
15 puts “What is 5 – 7?”, 5 – 7
16
17 puts “Oh, that’s why it’s false.”
18
19 puts “How about some more.”
20
21 puts “Is it greater?”, 5 > -2
22 puts “Is it greater or equal?”, 5 >= -2
23 puts “Is it less or equal?”, 5 &lt;= -2

[see below]

What You Should See

\$ ruby ex3.rb
I will now count my chickens:
Hens
30
Roosters
97
Now I will count the eggs:
7
Is it true that 3 + 2 &lt; 5 – 7?
false
What is 3 + 2?
5
What is 5 – 7?
-2
Oh, that’s why it’s false.
Is it greater?
true
Is it greater or equal?
true
Is it less or equal?
false
\$

[yep, that is indeed what I am seeing]

Extra Credit

Above each line, use the # to write a comment to yourself explaining what the line does.
[see below]

Remember in Exercise 0 when you started IRB? Start IRB this way again and using the above characters and what you know, use Ruby as a calculator.

[see below]

Find something you need to calculate and write a new .rb file that does it.
[see below]

Notice the math seems “wrong”? There are no fractions, only whole numbers. Find out why by researching what a “floating point” number is.
Rewrite ex3.rb to use floating point numbers so it’s more accurate (hint: 20.0 is floating point).

[see below] < /div>