第6回 基礎プログラミング II レポート課題 氏名:斎藤拓也 学籍番号:c1090704 語学クラス:英語1 コース(系):地域共創コース 1.A.プログラムを作って実行をしてみた。 プログラム #!/usr/koeki/bin/ruby alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","o","p","q", "r","s","t","u","v","w","x","y","z"] #p alphabet[18] p alphabet[40] プログラム実行結果 pan{c109070}% ./alphabet.rb [~/Ruby] "t" pan{c109070}% ./alphabet.rb [~/Ruby] nil 結果からの考察 alphabet[18] は t となった。答えは t alphabet[40] は nil となった。答えは 存在しないとなっている 2.A. b.#!/usr/koeki/bin/ruby zinko = Array.new def average(kami) sum = 0.0 for hito in kami sum += hito end sum/kami.length end while true STDERR.print("数字を入力してください: ") line = gets if line == nil break end zinko << line.to_i end printf("\n平均は%3.1fです\n",average(zinko)) buta = 0.0 heikin = average(zinko) for zoe in zinko buta += (zoe - heikin) ** 2 end bunsan = buta / zinko.length printf("分散は%3.1fです\n", bunsan) hensa = Math::sqrt(bunsan) printf("偏差は%3.1fです\n", hensa) #p hensa d.pan{c109070}% ./def_statistic.rb [~/Ruby] 数字を入力してください: 12 数字を入力してください: 11 数字を入力してください: 19 数字を入力してください: 17 数字を入力してください: 15 数字を入力してください: ^D 平均は14.8です 分散は9.0です 偏差は3.0です e.計算の正当性 12 + 11 + 19 + 17 + 15 74 74 / 5 14.80000000000000000000 平均の計算は当たっている。 分散 12 - 14.8 -2.8 -2.8 * -2.8 7.84 11 - 14.8 -3.8 -3.8 * -3.8 14.44 19 - 14.8 4.2 4.2 * 4.2 17.64 17 - 14.8 2.2 2.2 *2.2 4.84 15 - 14.8 0.2 0.2 * 0.2 .04 7.84 + 14.44 + 17.64 + 4.84 + .04 44.80 44.8 / 5 8.96000000000000000000 このことから当たっている プログラムの説明 3行目 変数 zinko をつくる 5行目〜11行目 average というメソッドをつくり、for 文で hito という変数を どんどん足していく。その足したものをその数で割る 13行目〜20行目 数字を聞いてそれを line として取る。そして ctrl-d をする と終わる。 zinko に line をいれる。 22行目 平均を表示する 26行目 heikin という変数を average(zinko) と一緒にする 28行目〜30行目 zoe 変数に zinko をいれて、buta の計算を (zoe - heikin) ** 2 とする 32行目 bunsan と言う変数の計算を buta / zinko.length とする 34行目 分散の結果を表示 36行目 hensa の変数に偏差の計算をさせる 37行目 偏差の計算を表示 平均をだすことは簡単だったが、偏差と分散は難しかった。自分の力だけでやる ことはできなかったが、友だちの力をかりて終わることができた。 すごく長文になった。もっと綺麗にプログラムを書くことができると思う。違う 方法も探して試したいと思う。 3.たまごっちのようなゲームはメソッドを使っているのではないかと思う。一定 の行動をするとおやじっちやまめっちにすることが出来るのではないかと思う。 偏差の計算をパソコンで打つことが出来ませんでした。 4. 映画の星づけランキング 西村先生 http://roy/~madoka/2010/r2/06/06_08_theme_07_aryavg.html Loud minority sesejun http://d.hatena.ne.jp/sesejun/ Maesan blog Toshiyuki Maeda http://blog.maesan.jp/673686.html 共同学習者 嘉村爽太 菊地浩平 山科雄介