第6回 目的に応じて使ってみよう レポート課題 氏名 鈴木智也 学籍番号 c1101299 語学クラス 英語 6 コース 地域共創 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"] alphabet[18] "a"を0番目として1から数えていくと、 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 なので、alphabet[18]=sである。 次に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 アルファベットは25までしかない なので、わたしはalphabet=[40]は数えられないと考えた。 よってalphabet[40]=nilとなる。 2、 プログラム問題 B、作成したプログラム #!/usr/koeki/bin/ruby def smile(ct) ct.times do print("もしもし\t") end print("\n") sleep(0.5) end def message(name) STDERR.print("%sを作ろうか\n",name) STDERR.print("[1]世話しよう\n") STDERR.print("[2]遊ばせる\n") STDERR.print("[3]運動させる\n") STDERR.print("[4]日向ぼっこさせる\n") end def fat(perday,exercise) x = 10 * perday - exercise printf("体重増加分 %d\n",x) x end printf("今日はアニメでもみようかな\n") STDERR.printf("名前はなんてゆうの?") name = gets.chomp if name == "" name = "マゴ!" end printf("%sという名前になった。\n",name) happy = 1 #幸せ度 weight =1 # 身長 day =0 #育てた日付 printf("運動すると大きくなるよ\n") while true message(name) ans = gets.to_i happy += day * ans printf("幸せ度 happy=%d\n",happy) weight += fat(day,ans) printf("体重 weight=%d\n",weight) if happy > 2 # もし幸せが2より大きければ # ぬける break #ifに対するend end day += 1 break end printf(printf("%sは", name) if weight > 8 print("ミミ") elsif weight <= 5 print("チー") else print("プー") end print("なっちゃった。ちゃんちゃん!!\n") プログラム結果 pan{SUZUKI Tomoya}% ./def_rollplaying_a.rb [~/Ruby] 今日はアニメでもみようかな 名前はなんてゆうの? とも とも、という名前になった。 運動すると大きくなるよ %sを作ろうか you[1]世話しよう [2]遊ばせる [3]運動させる [4]日向ぼっこさせる 4 幸せ度 happy=1 体重増加分 -4 体重 weight=-3 youはすずめみたいになりました 2,I 考察 今回のプログラムはdefを用いたものを作った。 def endの内部においてplusメソッドを呼び出して活用させている。メゾッドは plusメゾッドにxを引用使用しているが、def-end内のみで使用される変数であり、 呼び出す際に与えられた引数が代入されるのである。def-end内の変数とdef-end の下の変数名を一致させることはしなくてもよい。 また体重と、幸せ度をwhile-endのなかで用いることで抜けることができる。成 長は行動画面に表示された中から選ぶことで、キャラクターがどれくらい成長で きたのか確認することができる。また、抜け出した後はエンディングがことなる ので、そこが面白いと思う。printfでは最後に3種類の動物が出現するように、 ここではdef文によってこうした繋がりを持たせることができる。 3,感想 私が知っている日常生活のしくみで、methodを使っているものとしては、トラン プが挙げられると思う。引いてだした数によって大小の大きさや、柄、マークな どが違うようになる。これは、イベントが数によって発生するので、methodの考 え方を使っていると思う。 4, 参考文献 基礎プログラミングII 西村まどか http://roy/~madoka/2011/r2/ 基礎プログラミングII 神田直弥 http://roy/~naoya/rubyII/index.html 基礎プログラミングII 広瀬 http://roy/~yuuji/2011/index.shtml