第 6 回 目的に応じて使ってみよう レポート課題 氏名:宮城晃司 学籍番号:c11101879 語学クラス:中国語3 コース(系):社会福祉コース 1.筆記問題 A alphabet[18]=一般的にa.b.cと数えて18番目になるのはrだが、今回は配列を 先頭から数えるということなので、[0.1.2.3.4....]となるので、このように数 えていくとsになる。よってalphabet[18] = s となった。 alphabet[40]=アルファベットは全部で26個、配列にしても25番目めでしかない ので数えることができない。よってalphabet[40] = nil (無し) となる 筆記問題のプログラム #!/usr/koeki/bin/ruby 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"] p alphabet[18] p alphabet[40] 実行結果 pan{c110187}% ./alphabet.rb [~/Ruby] "s" nil このように、alphabet[18] = s , alphabet[40] = nil であることが証明された。 プログラム問題 A.プログラム内容 #!/usr/koeki/bin/ruby def average(running) sum = 0.0 for min in running sum += min end sum / running.length end ki = Array.new number = 0 while true STDERR.print "走った時間を入力して下さい(終了時はCtrl-d):" meter = gets if meter == nil break end ki << meter.to_i number += 1 end printf("\n%d人の平均の走った時間は%4.1f です\n",number,average(ki)) 実行結果 pan{MIYAGI Koji}% ./def_statistic.rb [~/Ruby] 走った時間を入力して下さい(終了時はCtrl-d):77 走った時間を入力して下さい(終了時はCtrl-d):6 走った時間を入力して下さい(終了時はCtrl-d):44 走った時間を入力して下さい(終了時はCtrl-d):55 走った時間を入力して下さい(終了時はCtrl-d):^D 4人の平均の走った時間は45.5 です 考察 上記の結果の確かめ算をやると pan{c110187}% bc -l [~/Ruby] 77+6+44+55 182 182/4 45.50000000000000000000 となった。なので計算は正しかったのでこのプログラムは正常に起動している。 感想 今回は最所こそ戸惑ったが、友達の助けによって何とか完成させることができた。 今回のプログラムは難しかったのでしっかり復習したい。 参考文献 基礎プログラミング II 第6回 目的に応じて使ってみよう 「method の中に method」 http://roy/~madoka/2010/r2/06/06_09_appendix_01_methodinmethod.html 基礎プログラミング II 第6回 目的に応じて使ってみよう 「なわとびの数」 http://roy/~madoka/2010/r2/06/06_07_theme_06_ary.html 協力者 佐藤汰紀