第 6 回 目的に応じて使ってみよう レポート課題 氏名: 安藤夏海 学籍番号: c1100130 語学クラス: 英語2 ロシア語 コース(系): 環境サイエンスコース =========================================================================== 1. 筆記問題 1.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"] alphabet[18] "a"を0番目とすれば a b c d e f g h i j k l m n o p q r s 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 s = alphabet[18] が成り立つ。 alphabet[40] 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 で、配列alphabetの中には25番目までしかないので alphabet[40] = 該当無し なのだと思う。 ==================================================================================== 2. プログラミング 一つ目。 ----------------------------------------- プログラム >>def_statistic.rb<< #!/usr/koeki/bin/ruby $KCODE= 'e' def average(sinchou) sum = 0.0 for tall in sinchou sum += tall end sum / sinchou.length end cm = Array.new number = 0 while true STDERR.print "身長のデータを入力して下さい。(終了時はCtrl-d)\n" print ">>" size = gets if size == nil break end cm << size.to_i number += 1 end printf("\n %d 人の平均身長は %4.1f です。\n", number, average(cm)) #結果 -------------------------------------------- プログラム実行結果 pan{c110013}% ./def_statistic.rb [~/Ruby] 身長を入力して下さい(終了時はCtrl-d) >>170 身長を入力して下さい(終了時はCtrl-d) >>180 身長を入力して下さい(終了時はCtrl-d) >>190 身長を入力して下さい(終了時はCtrl-d) >>160 身長を入力して下さい(終了時はCtrl-d) >>^D 4 人の平均身長は 175.0 です --------------------------------------- pan{c110013}% ./def_statistic.rb [~/Ruby] 身長のデータを入力して下さい。(終了時はCtrl-d) >>190 身長のデータを入力して下さい。(終了時はCtrl-d) >>170 身長のデータを入力して下さい。(終了時はCtrl-d) >>^D 2 人の平均身長は 180.0 です。 --------------------------------------- pan{c110013}% ./def_statistic.rb [~/Ruby] 身長を入力して下さい(終了時はCtrl-d) >>^D 0 人の平均身長は NaN です =================================================================================== 二つ目。 ------------------------------------------- #!/usr/koeki/bin/ruby def cry(ct) ct.times do print("にゃー\t") end print("\n") sleep(0.5) end def message(name) STDERR.printf("%sを世話しよう: \n", name) print "\n" STDERR.print("[1]\t餌をあげる?\n") STDERR.print("[2]\tおもちゃをあげる?\n") STDERR.print("[3]\tほっとく?\n") print">>" end def fat(perday,exercise) x = 4 * perday - exercise printf("%d日目\n",perday) printf("体重増加分 %d\n", x) x end printf("ネコを拾った。\n") STDERR.printf("どんな名前にするの?") print">>" name = gets.chomp if name == "" name = "たま" end printf(" %s という名前になった。\n",name) print"\n" happy = 1 # しあわせ度 weight = 1 # 体重 day = 0 # 育てた日付 printf("よく鳴くと大きくなるよ\n") while true cry(happy) message(name) ans = gets.chomp.to_i print"\n" happy += day * ans printf("しあわせ度 happy=%d\n", happy) weight += fat(day,ans) printf("体重 weight=%d\n", weight) if happy > 4 break end if weight > 4 break end cry(ans) day += 1 end cry(weight) printf(" %s は", name) if weight > 8 print("おっきくなって らいおん") elsif weight <= 5 print("ちょっとおっきくなって とら") else print("太りすぎて、ぼたもち") end print(" みたいになりました\n") ================================================================================== 3. 感想 プログラムは1問目は解きました。 2問目は授業で使ったものを多少変更しただけですので、 評価は期待してません。 前回は課題提出をせず申訳ありませんでした。 ------------------------ 東北公益文科大学2年 安藤夏海 Ando Natsumi c110013@f.koeki-u.ac.jp ------------------------