Ruby



第2回分

第2回分が始まりました。
第2回は「数と演算」ということで、Rubyがどのように数字を扱うかと、 どのように計算をする(させる)というところを考えていきます。


演算


数式の計算は小学校でやったような内容なので
説明は資料に任せてはしょりたいと思いますが
優先度の問題や( )でくくる際に何と何が対応しているのかがわかりにくくなりがちなので
注意してください。


simple math
特に説明は不要だと思います

とりあえず簡単な式を持つプログラムとその結果だけを表示してみましたが
計算式よりもむしろ作業ディレクトリへの移動の方が重要だと思います。
よくわからないときはとりあえず第1回目の解説を見てください


演算子対応表
数学 Ruby
足し算 + +
引き算 - -
掛け算 × *
割り算 ÷ /

いい加減な表ですが注意すべきは掛け算と割り算の演算子が、算数などで習うものとは異なるということです。
ここさえ気を付ければもういくらでも計算させることができます。



次はべき乗と剰余計算です
べき乗は累乗とも呼び、ある数字を○回掛け算するもので、
例えば2の3乗(2^3)は2*2*2 = 8ですが
これをRubyで表現すると
2 ** 3
となります。

ほかの計算式が左結合なのに対し、べき乗だけは右結合になります。
また、優先度がほかの計算より高いことに気を付けましょう。


そして剰余計算ですが、これは割り算の余りを求めるものです。
例えばこのような計算になります。


surplus
割り算と剰余計算

例えば20/3は6 あまり2ですが、1・2項目目でその結果が出ています。
そして優先順位が加減法よりも先になっています。
20+(5%2=あまり1)=21



さて、ここまではすべて整数で計算してきましたが、
小数点以下の数値を扱うにはどうしたらいいでしょうか。


演算子の左辺か右辺(もしくは両方)に小数点のついた数字を使うことで、 勝手に認識して小数点以下まで計算してくれます。


floating point number
2.8の5乗という計算も大丈夫

このように、計算式に小数点が入っている浮動小数点数を用いるだけで、特に何も記述しなくても小数点以下の計算をしてくれます。



変数


今までの計算では、プログラムというよりは数学や算数に近い気がします。
しかし変数が登場することでぐっとプログラミングらしくなります。


変数名 = 計算式と記述することで、変数にその計算式の結果を持たせることができます。


variable sample
variable1の中身は計算式と同じ

今 variable1 という変数には 100 * 50 + 25 という計算式の結果が入っています。
別の計算式を右辺に書けば、また違った中身を持たせることができます。
そしてこの変数を変数のまま計算式に記述することで、数値と同様に計算することができます。


variable sample2
variable1の中身*50が出力される

このように変数に計算を加えることができます。
またこの計算結果を変数に入力することもできますので、1度使った計算式を何回も繰り返して使うなど、様々な工夫が可能になります。

変数の使い方など詳しいことは次の章で説明します




プログラムの書き方


ここまで散々プログラムを書いて見せてきましたが、
サンプルばかりで具体的にどのように書くと良いのか、またこの書き方だとどのように実行されるのかと言った内容部分には触れていませんでした。
ですので、ここで今まで出てきたプログラムの例を見ながら、何を書くとどうなるのかというところを見ていきたいと思います。


puts / print

これはどちらも文字や数式を出力する命令ですが、printは改行なし putsは改行ありという違いがあります。
具体的にはこちらの例を見てください。


difference between puts and print
print → puts と書くと1行に2つ書ける

このように puts と print をうまく使うことで1行にいろいろな情報を出力でき、
プログラムの出力結果がより見やすくなると思います。


第3回の授業にて別の書き方も提示しますので、中身に応じて使い分けると良いかもしれません。


puts(print)で変数を出力するときは
puts 変数名
逆に変数名を文字として出力したいときは
puts '変数名'
のように'これ'で囲うか囲わないかの違いになります。

プログラムの例を見ながら、見やすいプログラムの書き方、変数名の付け方、そして結果の出力の仕方などを しっかりさせておくと後々楽になります。特にTAが

これでプログラムで計算をさせて、その結果を出力させるようなプログラムは書けるようになりました。
次回は文字の入力や出力などについてです




まとめ

今回は数字と変数を扱って計算をさせること、
その変数の扱い方を学びました

変数名はできるだけわかりやすい英語で付け、何を扱う変数なのかわかりやすくしておくことが大切です

変数の出力と文字・数字の出力の違いについても気を付けましょう


作業内容まとめ

  1. Rubyをインストール(是非家で復習しよう
  2. テキストエディタでプログラムを書く
  3. コマンドプロンプトからプログラムを実行
  4. 数式の記述の仕方・結果の出力のやり方をチェック
  5. 変数の扱い方や文字・数値出力との違いを学ぶ