第6回 目的に応じて使ってみよう レポート課題 氏名: 進藤 江莉亜 学籍番号: c1101193 語学コース: 英語2 コース(系): 環境 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]は、a=0,b=1,c=2...と数えて行くと、sとなった。 alphabet[40]は存在しないので無い。nilとなる。 2 プログラム A a考えた設定 睡眠時間の平均を求めるプログラムを考えた。 bプログラム #!/usr/koeki/bin/ruby def nemuri(time) # メソッド sum = 0.0 # 浮動小数点数 for avg in time # timeの中のavgについて sum += avg # 合計 end # forに対応する sum / time.length # 平均 end # defに対応する print("平均睡眠時間を計算します。\n") print("分単位は小数点であらわして下さい。\n") sleep = Array.new # 新しい配列 while true # 繰り返し STDERR.print("1日の睡眠時間を入力して下さい:") line = gets # 入力 if line == nil # もしなかったら break # 繰り返しをやめる end # ifに対応する sleep << line.to_f # sleepに追加する end # whileに対応する printf("平均睡眠時間は%0.1fです。\n", nemuri(sleep)) c 変更点 def_ary_movie.rbをもとにしました。 変更点 小数点以下を求めたかったのでto_iをto_fに変更しました。 d実行結果とe考察 pan{c110119}% ./def_statistic.rb [~/Ruby] 平均睡眠時間を計算します。 分単位は小数点であらわして下さい。 1日の睡眠時間を入力して下さい:6.8 1日の睡眠時間を入力して下さい:5.7 1日の睡眠時間を入力して下さい:6.6 1日の睡眠時間を入力して下さい:7 1日の睡眠時間を入力して下さい:平均睡眠時間は6.5です。 pan{c110119}% bc -l [~/Ruby] (6.8+5.7+6.6+7)/4 6.52500000000000000000 quit pan{c110119}% ./def_statistic.rb [~/Ruby] 平均睡眠時間を計算します。 分単位は小数点であらわして下さい。 1日の睡眠時間を入力して下さい:5 1日の睡眠時間を入力して下さい:6 1日の睡眠時間を入力して下さい:7 1日の睡眠時間を入力して下さい:8 1日の睡眠時間を入力して下さい:8.8 1日の睡眠時間を入力して下さい:平均睡眠時間は7.0です。 pan{c110119}% bc -l [~/Ruby] (5+6+7+8+8.8)/5 6.96000000000000000000 quit このことからこのプログラムは正しい。 3 感想 私の知っているゲームでメソッドの考え方を使って出来そうだと思ったのはポケ モンです。るびおっち的ゲームを応用すればポケモンのゲームを作ることが出来 るのではないかと思った。