第 6 回 目的に応じて使ってみよう レポート課題 氏名:見川英駿 学籍番号:c1101856 語学クラス:中国語3 コース(系):地域共創コース *プログラムを添付していなかったので再度送り直しました。 1.筆記問題 A. alphabetの配列の中身を全て書くと次のようになる。 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"] *配列を数える際は0,1,2,3..のように"0"から数えて行くのでalphabet[18]に当 たるのは"s"となる。 よって、alphabet[18] = s となる。 同様にalphabet[40]を数えてみると、alphabet配列の中には存在しない。 よって、alphabet[40] = nil となる。 nilは配列の中に無いことを示す。 2.プログラム問題 A. [作成したプログラム] #!/usr/koeki/bin/ruby def day(time) # defメソッド total = 0.0 # 小数を使うため小数点を書いておく for average in time #forのデータ変数をin◯◯で操作を行う total += average # 平均を求めるために合計を求める end total / time.length # 平均を出す end sleep = Array.new # 新しく配列をつくる while true # 繰り返しメソッド STDERR.print("あなたの1日の睡眠時間を教えて下さい。(昼寝、仮眠ok-)*終了はCrtl+D* \n") STDERR.print("時間は小数点での入力可能ですー。\n") neru = gets # sleep時間入力 if neru == nil # もしneruがなかったら break # whileから抜け出す end sleep << neru.to_f # 配列にneruを少数に変換 end printf("あなたの1日の睡眠時間の平均は %2.1f 時間です。\n", day(sleep)) [実行結果] pan{c110185}% ./def_statistic.rb [~/Ruby] あなたの1日の睡眠時間を教えて下さい。(昼寝、仮眠ok-)*終了はCrtl+D* 時間は小数点での入力可能ですー。 1 あなたの1日の睡眠時間を教えて下さい。(昼寝、仮眠ok-)*終了はCrtl+D* 時間は小数点での入力可能ですー。 0.2 あなたの1日の睡眠時間を教えて下さい。(昼寝、仮眠ok-)*終了はCrtl+D* 時間は小数点での入力可能ですー。 0.5 あなたの1日の睡眠時間を教えて下さい。(昼寝、仮眠ok-)*終了はCrtl+D* 時間は小数点での入力可能ですー。 あなたの1日の睡眠時間の平均は 0.57 時間です。 [確かめ] pan{c110185}% bc -l [~/Ruby] (1 + 0.2 + 0.5)/3 0.56666666666666666666 小数3位を繰り上げているため解答は合っている。 [考察] 授業中の仮眠、昼寝を含めた1日の総合的な睡眠時間を調べたく思いこのテーマ でプログラムを作成した。 3.感想 自分の知っているゲームでは育成ゲーム、シミュレーションゲーム、推理ゲーム などがmethodの考え方を使って出来そうだと思った。 4.参考文献 基礎プログラミング II 第6回 目的に応じて使ってみよう 著者:西村まどか http://roy/~madoka/2011/r2/06/r2_06_14_theme_11_commandline.html 基礎プログラミング II 第6回 目的に応じて使ってみよう 著者:西村まどか http://roy/~madoka/2011/r2/06/r2_06_10_theme_08_while.html 基礎プログラミング II 第6回 目的に応じて使ってみよう 著者:西村まどか http://roy/~madoka/2011/r2/06/r2_06_05_theme_04_for.html 前年の先輩のレポート http://roy/~madoka/2010/r2/06/rpt/c109001.txt 5.共同学習者 。・.*菊地瑞紀*.・。