ログイン
編集不可のページディスカッション情報添付ファイル

2013-05-11 18:47:48時点のリビジョン2

メッセージを消す
alstamber/2013FreshmanRubySeminar3Homework

MMA

1

整数nの入力を受けて、nの階乗を求めるプログラムを書いてみましょう。
1つだけでなく色々な方法で書いてみてください。
(ファイルは別にしてください)

2

整数の配列を引数にとって、配列が回文になっているかどうかを判定するメソッドis_palindromeを書いてみましょう。
(ここで回文とは左から読んでも右から読んでも同じ配列になるような配列です)

3

整数の配列を引数にとって、要素をそれぞれ2乗して足したものを求めるプログラムを書いてみましょう。

4(そこそこ)

英語の文章に出現する単語の中で、出現頻度が最も高い単語と、文字数が最も多い単語を出力して終了するプログラムを作成してください。
入力データには英文字、スペースのみが含まれているものとします。
単語とは、スペースで区切られた連続する英文字の列です。
文章の文字数は 1000 文字以下です。一つの単語の文字数は 32 文字以下です。
出現頻度が最も高い単語、最長の文字数を持つ単語はそれぞれ文中にただ一つだけ存在するものとします。

5(むずかしい)

次の関数があるとします。

   1 def succ(n)
   2     n + 1
   3 end
   4 
   5 def pred(n)
   6     n - 1
   7 end

このメソッドを使って(+という演算子を使わずに)a + bを計算するメソッドmyaddを定義してみましょう。

   1 def myadd(a, b)
   2     ....
   3 end
   4 
   5 puts myadd(2, 3) # 5が出てくる

6(すごくむずかしい)

問題5で与えられたメソッドと作ったメソッドを使って、与えられた数値の配列の要素の合計を求めるメソッドmysumを定義してみましょう。