第 6 回 目的に応じて使ってみよう レポート課題 氏名:千葉倫之 学籍番号:C101520 語学クラス:英語II コース(系):地域共創 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"] となる。配列を数える時は、0から始まるのでその数え方をしていくと、 alphabet[18]は18番目にある "s" が該当する。 よって、alphabet[18] = s となる。 alphabet[40]は、アルファベットの配列は25番目までしか存在しないので、該当 する文字が無いため、alphabet[40] = nil となる。 2.プログラム問題 A. ・プログラム #!/usr/koeki/bin/ruby $KCODE= 'e' #日本語を使用する宣言。 def average(taijuu) # 関数averageを作るメソッド sum = 0.0 # あとで小数点第2位で切捨てするので、0.0としておく。 for weight in taijuu # taijuuの中身をweightに sum += weight # sumは上で設定した変数weightを足していった数値とする。 end # for文終了 sum / taijuu.length # taijuuの数でsumを割り、平均を出す end # 関数作りメソッド終了 cm = Array.new # 配列 cmを作る number = 0 # 人数をカウントするための変数number while true # Ctrl-dが入力されるまで以下を繰り返すように STDERR.print "体重を入力して下さい(終了時はCtrl-d):" size = gets # 変数sizeに取り込む。 if size == nil # Ctrl-dが入力されたら、 break # 終了して結果表示へ。 end # if文終了 cm << size.to_i # 配列cmに、入力された値を取り込んでいく number += 1 # numberに1ずつ足し、人数を記録する。 # はじめ、この計算をif-break-endの前に出していたところCtrl-dまで # カウントされた。 end # while true終了 printf("\n%d人の平均体重は%4.1f です\n",number,average(cm)) #結果表示 #体重なので、2〜3桁+小数点第一位で表示。 ・実行結果 [~/Ruby] 体重を入力して下さい(終了時はCtrl-d):68 体重を入力して下さい(終了時はCtrl-d):74 体重を入力して下さい(終了時はCtrl-d):81 体重を入力して下さい(終了時はCtrl-d):91 体重を入力して下さい(終了時はCtrl-d):106 体重を入力して下さい(終了時はCtrl-d):^D 5人の平均体重は84.0 です [~/Ruby] 体重を入力して下さい(終了時はCtrl-d):56 体重を入力して下さい(終了時はCtrl-d):78 体重を入力して下さい(終了時はCtrl-d):90 体重を入力して下さい(終了時はCtrl-d):27 体重を入力して下さい(終了時はCtrl-d):120 体重を入力して下さい(終了時はCtrl-d):113 体重を入力して下さい(終了時はCtrl-d):^D 6人の平均体重は80.7 です 3.感想 method の考え方は、主人公の会話などの選択によってストーリーやエン ディングが変わるので、RPGのゲームが当てはまると思う。 今回の筆記問題は、前回までの問題と比べると比較的あまり時間が掛からず終わ すことができた。プログラムも、わからないところなどを友人と協力しながら解 決することができたのでよかった。 4.参考文献 基礎プログラミング II 第 6 回 「目的に応じて使ってみよう」のページ 協同学習者 水口天地