第5回 何度も呼び出そう レポート課題 氏名:馬宮巧 学籍番号:c1101833 語学クラス:中国語 コース(系):政策マネジメント 1.A mamiya takumi これをASCIIコードで直した。 0x 6d 0x 61 0x 6d 0x 69 0x 79 0x 61 0x 74 0x 61 0x 6d 0x 75 0x 6d 0x 69 d=13 0x6 13 = 6*16+13=109 0x61 = 6*16+1=97 0x6 13 = 6*16+13=109 0x69 =6*16+9=105 0x79 = 7*16+9=121 0x61 = 6*16+1=97 0x74 = 7*16+4=116 0x61 = 6*16+1=97 0x6 13 = 6*16+13=109 0x75 = 7*16+5=117 0x6 13 = 6*16+13=109 0x69 = 6*16+9=105 109*4 + 97*3 + 105*2 + 121 + 116 + 117 = 1291 1291を16で割り、16進数にする。 16)1291 _____ 16) 80 11 _____ 16) 5 0 _____ 0 5 11をbに変換し、下から読むと 50b となる。 よって16進数で表すと0x50bとなる。 全部足すと10進数は1291となり、16進数は 0x50b となった。 0d1291 = 0x50b 16進数と10進数で計算した結果同じになったので、計算はあっている。 B.毎朝の行動をプログラム風に書き直します。 def food (apple yoghurt bred) appleを半分に切る yoghurtを取り出す dish = appleを乗せる end # 乗せられてる物を食べる food(1/2個、150g,2個) # 親に起こされる drink(コップ1杯) print("おはよう!\n") 2,A.1、考えた設定 各都道府県の隊長の中から、何人かを総隊長を選び何通りあるかを求めるプロ グラムを考えた 2、作成したプログラム #!/usr/koeki/bin/ruby def factorial(n) if n == 1 # もし nが1だったら 1 else # 違っていたら n * factorial(n-1) end # if のend end # if の end def kumiawase(f,w) factorial(f)/factorial(f-w) end # def の end STDERR.print("総隊長の組合せを求めます\n") STDERR.print("都道府県の中から総隊長を決めることになった。何人総隊長を決めますか?\n") # 表したい文章をカッコとダブルコーテーションで囲む soutaichou = gets.to_i taichou = 47 # 都道府県は 47 あるので 47 を代入 printf("%d 人選んだときの組合せは %d 通りです。\n",soutaichou,kumiawase(taichou,soutaichou)) 3、変更点 factorial の引数を s から n に変えた。 4、実行結果 pan{MAMIYA Takumi}% ./def_combination.rb [~/program] 総隊長の組合せを求めます 都道府県の中から総隊長を決めることになった。何人総隊長を決めますか? 3 3 人選んだときの組合せは 97290 通りです。 3、感想 くまの人形が太鼓をたたくオモチャがあると思う。同じリズムでたたいているの で繰り返しだと思う。 数を多くしすぎて、難しかった。もっと簡単なもので試したい。 参考文献 基礎プログラミング二 第5回 何度も呼び出そう 講評 http://roy/~madoka/2010/r2/05/rpt/ 西村まどか http://roy/naoya/rubyll/8.html 基礎プログラミング2 第8回 神田直弥 6、添付