プログラミング言語 Ruby の紹介
今日の内容
- パスワードを変更しましょう
- Ruby とは
- コンピュータとの対話
- 数式の計算
- 変数
パスワードを変更しましょう
- 教育システムで使っている TSUBAME のパスワードは180日 (約6カ月) が期限となっています.
- 今すぐに TSUBAME と東工大ポータルのパスワードを変更しましょう.
- 教育システムの掲示を参考のこと.
Ruby とは
- 日本発のプログラミング言語.
- きわめて実用的な言語だが,授業では必要最小限な簡単なことしか扱わない.
- 本授業では Ruby の対話的環境である irb を利用する.
コンピュータとの対話
- Cygwin の起動
- irb の起動
- 数式の入力
irb を使う
- Cygwin を起動する.
- Cygwin の画面が出たら irb と入力.
- エンターキーを押す.
- irb のプロンプト (下の図の赤い部分) が出る.
数式を計算させる
- 数式を入力.
- エンターキーを押す.
- => の後に計算結果が表示される.(注意: 対話的環境でないとこうは行かない)
irb(main):001:0> 1+1
=> 2
irb を終了させる
- exit と入力するか,Control と D のキーを同時に押す.
以後,後者を Control+D と記述することにする.
[演習 1.1]
- irb を起動し,計算を行わせ,irb を終了させなさい.
数式の計算
電卓がわりに使う
- Ruby を始めプログラミング言語では四則演算を行える.
- + : 足し算
- - : 引き算
- * : 掛け算
- / : 割り算
- % : 余り
- ** : べき乗
- べき乗の機能を持っていないプログラミング言語も多い.
irb(main):001:0> 1 + 1
=> 2
irb(main):002:0> 7 - 2
=> 5
irb(main):003:0> 7 * 2
=> 14
irb(main):004:0> 7 / 2
=> 3
irb(main):005:0> 7 % 2
=> 1
irb(main):006:0> 7 ** 2
=> 49
irb(main):007:0>
整数と実数で計算結果が異なる
- コンピュータでは整数と実数を区別する.← 数学と違う点
- 実数は小数点を付けて表現する.
- 実数の混じっている計算結果は実数になる.
ただし,実数が登場した時点から実数による計算になる.
irb(main):007:0> 7 / 2.0
=> 3.5
irb(main):008:0> 2 / 3 * 3.0
=> 0.0
irb(main):009:0> 2.0 / 3 * 3
=> 2.0
[演習 1.3]
- 上記で 2 を 3 で割り,それに 3 を掛けた結果が異なるのか考えなさい.
[演習 1.4]
変数
値に名前を付ける
- BMI (Body Mass Index)
BMI とは体重 (kg) を身長 (m) の2乗で割った値.
身長が h cm,体重が w kg の人のBMIは次の式で表される:
w / ( h / 100 ) ** 2
- 上記のように変数を使うと,いろいろな値に対しても1つの計算式で対応できる.
irb(main):010:0> h = 162.5
=> 162.5
irb(main):011:0> w = 72.0
=> 72.0
irb(main):012:0> w / ( h / 100 ) ** 2
=> 27.2662721893491
irb(main):013:0> h = 180.0
=> 180.0
irb(main):014:0> w = 75.0
=> 75.0
irb(main):015:0> w / ( h / 100 ) ** 2
=> 23.1481481481481
式に名前を付けられるか?
- 毎回同じ式を打ち直すのも面倒.
- 値だけでなく,式にも名前を付けられる.
- それならやってみよう.
irb(main):016:0> bmi = w / ( h / 100 ) ** 2
=> 23.1481481481481
irb(main):017:0> h = 162.5
=> 162.5
irb(main):018:0> w = 72.0
=> 72.0
irb(main):019:0> bmi
=> 23.1481481481481
- 残念ながら,式に変数を割り当てても再計算は行われない.
関数
bmi の関数を使った定義
irb(main):001:0> def bmi(height, weight) # 関数名 bmi,関数引数 height, weight
irb(main):002:1> weight / ( height / 100.0 ) ** 2 # bmi の計算式
irb(main):003:1> end
=> nil
- 「#」という記号が現れるが,これは以下がコメントであることを示している.
コメントはプログラムとは見なされず,プログラムの説明や注釈,覚書を書くために使われる.
関数の実行
irb(main):004:0> bmi(162.5, 72.0)
=> 27.2662721893491
irb(main):005:0> bmi(180.0, 75.0)
=> 23.1481481481481
irb(main):006:0> height = 162.5
=> 162.5
irb(main):007:0> weight = 72.0
=> 72.0
irb(main):008:0> bmi(height, weight)
=> 27.2662721893491
irb(main):006:0> height = 180.0
=> 180.0
irb(main):007:0> weight = 75.0
=> 75.0
irb(main):008:0> bmi(height, weight)
=> 23.1481481481481
来週の予告
- 来週の授業は教室で行います.
- 来週の授業の主な内容 (予定)
2012年9月27日作成
伊知地 宏
Copyright (C) Hiroshi Ichiji, 2012. All rights reserved.