第6回 基礎プログラミング II レポート課題 氏名:宮川史礼 学籍番号:C1071948 語学クラス:英語1 コース(系):社会系 1.筆記問題 alphabet配列のalphabet[18]は"s"で、alphabet[40]は26文字までしかないので、 つまり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","v","w","x","y","z"] p alphabet[18] p alphabet[40] 実行結果 pan{c107194}% ./alphabet.rb [~/Ruby] "s" nil ここから答えを確認できた。 nilとは、空っぽという意味。 2.プログラム問題 A.プログラム本体 #!/usr/koeki/bin/ruby def heikin(kazu) sum = 0.0 for suu in kazu sum += suu end sum / kazu.length end total = Array.new start = 1 print("クラスでおこなった科学のテスト(100点満点)\n") print("クラスの人数を入力→") hito = gets.chomp.to_i while start<=hito printf("%d人目:",start) point = gets.chomp.to_i total << point.to_i start += 1 end printf("\nこのクラスの平均点は %3.1f点です。\n", heikin(total)) 実行結果 pan{c107194}% ./def_statistic.rb [~/Ruby] クラスでおこなった科学のテスト(100点満点) クラスの人数を入力→10 1人目:31 2人目:52 3人目:35 4人目:85 5人目:90 6人目:71 7人目:63 8人目:89 9人目:95 10人目:82 このクラスの平均点は 69.3点です。 確かめ算 pan{c107194}% bc-l [~/Ruby] zsh: command not found: bc-l pan{c107194}% bc -l [~/Ruby] 31+52+35+85+90+71+63+89+95+82 693 693/10 69.30000000000000000000 quit B.プログラム本体 #!/usr/koeki/bin/ruby def bisyou(wara) wara.times do print("うふ\t") end print("\n") sleep(0.5) end def koudou(name,hi) STDERR.print("\n■□■□■□■□■□■□■□■□■□■\n\n") STDERR.printf("毛皮の%sを観察しよう!\n",name) STDERR.printf("%d日目\n",hi) STDERR.print("[1]入浴してから服を着る?\n") STDERR.print("[2]鶏冠詩人に吟じてもらう?\n") STDERR.print("[3]名も無き水夫と戯れる?\n") end def smile(kaiday,kaito) x = kaito+kaiday x end name = "マリー" yuukan = 1 # 有閑 tandeki = 1 # 耽溺 day = 1 # 日付 printf("\n『毛皮の%sの生態』\n",name) print("彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ\n") while day<=5 koudou(name,day) ans = gets.chomp.to_i yuukan += day * ans tandeki += smile(day,ans) bisyou(ans) day += 1 end print("\n■□■□■□■□■□■□■□■□■□■\n\n") bisyou(tandeki) printf("\n5日後---『%sは、",name) if tandeki >= 29 && tandeki <= 31 print("一人の「女」に出来上がってゆく。』\n") elsif tandeki >= 25 && tandeki <= 28 print("うっとりとする。』\n") elsif tandeki >= 21 && tandeki <= 24 print("ただのおじさんになる。』\n") end 実行結果 ・適当にやった場合 pan{c107194}% ./def_rollplaying_a.rb [~/Ruby] 『毛皮のマリーの生態』 彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 1日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 2日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 3日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 4日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 5日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ うふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふ 5日後---『マリーは、うっとりとする。』 ・3を多めに選んだ場合 pan{c107194}% ./def_rollplaying_a.rb [~/Ruby] 『毛皮のマリーの生態』 彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 1日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 2日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 3日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 4日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 5日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ うふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふ うふ うふ 5日後---『マリーは、一人の「女」に出来上がってゆく。』 ・1を多く選んだ場合 pan{c107194}% ./def_rollplaying_a.rb [~/Ruby] 『毛皮のマリーの生態』 彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 1日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 2日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 3日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 4日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 5日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ うふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ 5日後---『マリーは、ただのおじさんになる。』 C.プログラム本体 #!/usr/koeki/bin/ruby def bisyou(wara) wara.times do print("うふ\t") end print("\n") sleep(0.5) end def koudou(name,hi) STDERR.print("\n■□■□■□■□■□■□■□■□■□■\n\n") STDERR.printf("毛皮の%sを観察しよう!\n",name) STDERR.printf("%d日目\n",hi) STDERR.print("[1]入浴してから服を着る?\n") STDERR.print("[2]鶏冠詩人に吟じてもらう?\n") STDERR.print("[3]名も無き水夫と戯れる?\n") end def smile(kaiday,kaito) x = kaito+kaiday x end def kekka(name,td) printf("\n5日後---『%sは、",name) if td >= 29 && td <= 31 print("一人の「女」に出来上がってゆく。』\n") elsif td >= 25 && td <= 28 print("うっとりとする。』\n") elsif td >= 21 && td <= 24 print("ただのおじさんになる。』\n") end end name = "マリー" yuukan = 1 # 有閑 tandeki = 1 # 耽溺 day = 1 # 日付 printf("\n『毛皮の%sの生態』\n",name) print("彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ\n") while day<=5 koudou(name,day) ans = gets.chomp.to_i yuukan += day * ans tandeki += smile(day,ans) bisyou(ans) day += 1 end print("\n■□■□■□■□■□■□■□■□■□■\n\n") bisyou(tandeki) kekka(name,tandeki) 実行結果 ・1多めの場合 pan{c107194}% ./def_rollplaying_b.rb [~/Ruby] 『毛皮のマリーの生態』 彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 1日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 2日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 3日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 4日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 5日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ うふ うふ うふ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふ うふ うふ 5日後---『マリーは、ただのおじさんになる。』 ・2多めの場合 pan{c107194}% ./def_rollplaying_b.rb 『毛皮のマリーの生態』 彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 1日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 2日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 3日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 4日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 2 うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 5日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ 5日後---『マリーは、うっとりとする。』 ・3多めの場合 pan{c107194}% ./def_rollplaying_b.rb 『毛皮のマリーの生態』 彼女を満たすよう奉仕すると恍惚とした微笑を見せるよ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 1日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 2日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 3日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 1 うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 4日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ 毛皮のマリーを観察しよう! 5日目 [1]入浴してから服を着る? [2]鶏冠詩人に吟じてもらう? [3]名も無き水夫と戯れる? 3 うふ うふ うふ ■□■□■□■□■□■□■□■□■□■ うふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ うふうふ うふ うふ うふ うふ うふ うふ 5日後---『マリーは、一人の「女」に出来上がってゆく。』 3.感想 ひとの1日の生活が挙げられると思う。 正直なことをいうと、人の1日の過ごし方というか日程というものは、何か行動 を起こすということが本質としてあると思う。そしてその繰り返しということに なる。ただ、ここで大事になって来るのが、何らかの行動の繰り返しという中に も、それなりの変則性が、ある程度関わって来るということだ。 4.参考文献など 基礎プログラミング II 第6回 目的に応じて使ってみよう 「映画の星づけランキング」 http://roy/~madoka/2010/r2/06/06_08_theme_07_aryavg.html 基礎プログラミング II 第6回 目的に応じて使ってみよう 「るびおっち」 http://roy/~madoka/2010/r2/06/06_11_theme_09_rubiocci.html 協力してくれたTA 工藤智也