5 月 9 日のレポートについて XXXX語XX XXXX系 C106XXXX XXXXXXXXX 1. A. ob100011 =1×2の5乗+0×2の4乗+0×2の3乗+0×2の2乗+1×2の1乗+1×2の0乗 =32+0+0+0+2+1 =35 よって、od=35 10進数から16進数へ変換するには、10進数を16で割って、その商をさらに16で割 る、またその商を16で割って…と、余りを出しながら商が0になるまで繰り返す。 そして最後の余りを先頭に下から順に並べる。 だから式は 35÷16=2 余り3 2÷16=0 余り2 となるから、16進数にすると、23 となる。 ( 参考文献 http://www.asahi-net.or.jp/~AX2S-KMTN/ref/bdh.html ) B.ある日、夕食でカレーを作っていたとき、 「味が薄ければ、ルーを足し、味が濃ければ水を足し、そうでなければその まま煮込む。」という調理方法であった。これをプログラムにすると if 味が薄い ルーを足す if 味が濃い 水を足す else 煮込む end となる。 2. A. 最初の体重は75kgで、目標体重を65kgに設定した。 #!/usr/koeki/bin/ruby aruku = 0 #歩いた歩数 d = 75 #現在の体重 print ("65kg〜75kgの範囲でダイエットをします。65kgになったらダイエット成功!\n") while true #何度でも繰り返す STDERR.printf("何歩歩きましたか?( 入力終了は q ) : ") #歩数を入力することを促す aruku = gets.chomp.to_i #入力された値を変数 aruku にしまう。to_iは整数にすること。 if aruku == "q" #もし(if)入力された文字が "q" だったら、終了する break end d -= aruku.to_i #歩いた歩数を体重から引いていく if d < 65 then #体重が65kgになったら、目標達成 print ("ダイエット成功!おめでとう!\n") break end printf("現在の体重は %d[kg] です。\n", d) end irsv{c106037}% chmod +x diet.rb [~/Ruby] irsv{c106037}% ./diet.rb [~/Ruby] と入力して、その結果は 65kg〜75kgの範囲でダイエットをします。65kgになったらダイエット成功! 何歩歩きましたか?( 入力終了は q ) : 5 現在の体重は 70[kg] です。 何歩歩きましたか?( 入力終了は q ) : 5 現在の体重は 65[kg] です。 何歩歩きましたか?( 入力終了は q ) : 5 ダイエット成功!おめでとう! となる。 3.プログラムを作るのがとても難しかった。でも最後には少し理解できた気がし た。10進法や16進法は理解できたのでよかった。プログラムの構造をもっと理 解してスムーズにできるようにしたい。