第6回 基礎プログラミング II レポート課題 氏名:酒井 春香 学籍番号:c109074A 語学クラス:英語3 コース:政策マネ 1、筆記問題 A alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","w","x","y","z"] 配列は、左から0、1、2、・・・と読むので、a = 0、 b = 1 、 c = 2 となる。 よって、18番目にくるのは s 40番目にくるのは ありません これを確かめるためにプログラムを作成した。 #!/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","w","x","y","z"] p alphabet[18] p alphabet[40] 実行結果 pan{c109074}% ./alphabet.rb [~/Ruby] "s" nil よって、 p alphabet[18] は s p alphabet[40] は nil なので答えが合っていることが確かめられた。 2、プログラム問題 a.設定 配列を取り込んで、平均値を計算するプログラム。 一人一人の体重を入力して、その平均を求める。 b.プログラム本体 #!/usr/koeki/bin/ruby def average(suuti) # suutiは数値がたくさんしまわれる配列 sum = 0.0 # 割り算する予定なので浮動小数点数にしておく for omosa in suuti # for A in B で B の中の A について sum += omosa # printf("%d 人目 途中合計 sum=%d\n", suuti.length + 1, sum) end sum / suuti.length #配列 suuti の要素数を数え、それで sum を割る end points = Array.new # からっぽの配列 points を作る # i=0 # i が points の添字となる(入力された行を数える添字) print("このプログラムは体重の平均を出します。\n") while true STDERR.print "体重を入力して下さい: " line = gets if line == nil break end points << line.to_i # 上か下かどちらかでよい # points[i] = line.to_i p points # i += 1 end printf("\n みんなの平均体重は %3.1f です\n", average(points)) c.もとにしたプログラムからの変更点 授業中に作成したプログラム(def_ary_movie.rb)をもとに作成。 score を suuti に変更。 stars を omosa に変更。 print文を内容に合わせて適切な文に変更。 d.実行結果 pan{c109074}% ./def_statistic.rb [~/Ruby] このプログラムは体重の平均を出します。 体重を入力して下さい: 56 [56] 体重を入力して下さい: 48 [56, 48] 体重を入力して下さい: 62 [56, 48, 62] 体重を入力して下さい: 71 [56, 48, 62, 71] 体重を入力して下さい: 57 [56, 48, 62, 71, 57] 体重を入力して下さい: ^D みんなの平均体重は 58.8 です e.考察 print文は正しく入力されたが、計算が合っているか分からないので、 ktermで確かめ算を行った。 pan{c109074}% bc -l [~/Ruby] 56+48+62+71+57 294 294/5 58.80000000000000000000 quit 上記から計算は合っていると考えられる。 よって、このプログラムは正しく機能したといえる。 f.参考文献 西村まどか先生のHPより 「基礎プログラミング II 第6回 目的に応じて使ってみよう 映画の星づけランキング」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_08_theme_07_aryavg.html 3、感想 たまごっちやポケモンやドラクエなどの育成ゲームや恋愛シュミレーションゲー ムなどが当てはまると思った。 今回は時間が無く、Aしか取り組めなかった。 授業で集中して出来たのでその分レポートをするとき分かりやすかった。 これからも集中していきたいです。 来週のレポートはもっと頑張りたいと思います。 共同学習者 佐竹 聡美 / 横山 広樹