第6回 基礎プログラミング II レポート課題 氏名:小関文紀 学籍番号:c1090638 語学クラス:中国語 1 コース(系):地域共創コース 筆記問題 1A alphabet[18] alphabet[40] を調べるため、プログラム alphabet.rb を作成し た。 #!/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{c109063}% ./alphabet.rb [~/Ruby] "s" nil と表示された。 40の場合、alphabetは全部で26なので何もないことを表す nil が表示されたた め正しいことが分かる。 18の場合、sと表示されたことに違和感を感じたため、プログラムを見返したり、 地道に数えるなどして確認した。しかし、配列は0から始まるため左から順に数 えていくと、alphabet[18]は s で正しいと言うことが分かった。 2A 考えた設定 身長の平均を求めるプログラム。また、それまで入力した値も分かるようにした。 作成したプログラム #!/usr/koeki/bin/ruby def average(height) sum = 0.0 for tall in height sum += tall end sum / height.length end points = Array.new while true STDERR.print "身長を入力して下さい: " line = gets if line == nil break end points << line.to_i p points end printf("\n 平均身長は %3.1f cmです。\n", average(points)) 実行結果 pan{c109063}% ./def_statistic.rb [~/Ruby] 身長を入力して下さい: 158 [158] 身長を入力して下さい: 169 [158, 169] 身長を入力して下さい: 172 [158, 169, 172] 身長を入力して下さい: 173 [158, 169, 172, 173] 身長を入力して下さい: 175 [158, 169, 172, 173, 175] 身長を入力して下さい: ^D 平均身長は 169.4 cmです。 考察 pan{c109063}% bc -l [~/Ruby] (158 + 169 + 172 + 173 + 175) / 5 169.40000000000000000000 結果は169.4cmとなった。プログラムで表示するときは小数ではなく正数で表示 するため小数点以下を切る。よって、このプログラムは正しく機能していること が分かる。 感想 今回は友だちと予定が合わず、初めて一人で課題をした。いつも教え合いながら 課題をこなしていたが、一人で課題をこなすのがこんなに大変だとは思わなかっ た。友だちと一緒に行うことで、間違いに気付かせてもらったり、友だちに教えること で自分も理解を深められていたのだと改めて気付いた。 ポケモンのゲームでは、Aのポケモンを倒すと攻撃力が上がり、Bのポケモンを倒 すと賢さが上がるといった、努力値と言う概念がある。今回のメソッドはまさに それだと思った。 参考文献 基礎プログラミング 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_08_theme_07_aryavg.html