第 6 回 目的に応じて使ってみよう レポート課題 氏名:大熊麻友 学籍番号:C1100377 語学クラス:英語6 コース(系):政策マネジメント [1] A まず、アルファベットをすべて並べてみる。 alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] alphabet[18] は、配列は0からはじまるので a = 0, b =1 と見ていくと s = 18 になるので alphabet[18] = s である。 alphabet[40] は、最後の"z"が 25 であるため配列にない。 これにより nil になる。 ----------------------------------------------------- [2] B 1 考えた設定 1日のテレビを見た時間を入力し 平均何時間見ているのか計算するプログラム。 2 作成したプログラム #!/usr/koeki/bin/ruby def day(time) # メソットの設定 total = 0.0 for average in time total += average # 平均を出すために合計を求める end # forに対するend total / time.length # 平均を出す end # defに対するend tv = Array.new # 新しく配列をつくる while true # 繰り返し STDERR.print("\n1日に見るテレビの時間を教えて下さい。(終了はCrtl+D)\n") STDERR.print("時間は小数点で入力してください。例 1時間25分:1.25\n") image = gets # imageをとってくる if image == nil # もしimageがなかったら break # whileからぬける end # ifに対するend tv << image.to_f # 配列にimageを少数に変換して追加していく end # whileに対するend printf("\nみなさんの1日に見るテレビの平均は %3.2f 時間です。\n", day(tv)) 3 変更点 授業で作成した def_ary_movie.rbを参考にした。 変数名を変更し、入力された数字の平均を求めるようにした。。 4 実行結果 ./def_statistic.rb [~/Ruby] 1日に見るテレビの時間を教えて下さい。(終了はCrtl+D) 時間は小数点で入力してください。例 1時間25分:1.25 0.5 1日に見るテレビの時間を教えて下さい。(終了はCrtl+D) 時間は小数点で入力してください。例 1時間25分:1.25 1.25 1日に見るテレビの時間を教えて下さい。(終了はCrtl+D) 時間は小数点で入力してください。例 1時間25分:1.25 5.0 1日に見るテレビの時間を教えて下さい。(終了はCrtl+D) 時間は小数点で入力してください。例 1時間25分:1.25 7.15 1日に見るテレビの時間を教えて下さい。(終了はCrtl+D) 時間は小数点で入力してください。例 1時間25分:1.25 ^D みなさんの1日に見るテレビの平均は 3.48 時間です。 5 考察 4の実行結果を例に確かめ算を行う。 式は (0.5 + 1.25 + 5.0 + 7.15) / 4 となる。 pan{c110037}% bc -l [~/Ruby] (0.5 + 1.25 + 5.0 + 7.15) / 4 3.47500000000000000000 小数第3位を繰り上げるので 3.475 → 3.48 これにより計算が正しいことが証明されたので このプログラムは正しいと言える。 6 感想 method の考え方を使っているものは、 ネットやケータイでの占いが当てはまると思う。 るびおっちのような育成ゲームの作成は 難しく感じたため、課題ではチャレンジしなかったが 復習をしてプログラムを作ってみたいと思った。 7 参考文献 基礎プログラミング II 第6回 西村まどか http://roy/~madoka/2010/r2/06/06_07_theme_06_ary.html 「なわとびの数」 http://roy/~madoka/2010/r2/06/06_08_theme_07_aryavg.html 「映画の星づけランキング」