第5回 基礎プログラミング II レポート課題 氏名:永井 絹人 学籍番号:c109120 語学クラス:英語1 コース(系):政策 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 1,筆記問題 A [Nagai kento]のASCIIコードは「4e,61,67,61,69, 4b,65,6e,74,6f」である。 これを全て足すと 4e+61=AF AF+67=116 116+61=177 177+69=1E0 1E0+4B=22B 22B+65=290 290+6e=2FE 2FE+74=372 372+6F=3E1 よって0x3E1である これを10進数になおすと 3*16^2+E*16^1+1*16^0=993 よって0d993となる なので 0x3E1 = 0d993 B、習慣のプログラム 携帯のメールを見た def phone(open) for 0..open.length end end def mail(check) end x = 0 while x < 5 phone(look) mail(x) x += 1 end print("%d回メールをチェックしました。\n") 2、プログラム問題 A、プログラム #!/usr/koeki/bin/ruby def factorial(a) if a == 1 return 1 else a * factorial(a -1) end end def awase(x,y) if x == y return 1 elsif x < y print("それはないな\n") exit else factorial(x)/factorial(y)/factorial(x-y) end end STDERR.print("アイスいくつ欲しい?:") aisu = gets.chomp.to_i STDERR.print("種類は?:") syurui = gets.chomp.to_i printf("アイスを%d個。そして%d種類のアイスを買うときの組み合わせは%dあります。\n",aisu ,syurui, awase(aisu,syurui)) B、実行結果 アイスより種類が多いとき pan{c109120}% ./def_combination.rb [~/Ruby] アイスいくつ欲しい?:3 種類は?:5 それはないな アイスより種類が少ないとき pan{c109120}% ./def_combination.rb [~/Ruby] アイスいくつ欲しい?:5 種類は?:3 アイスを5個。そして3種類のアイスを買うときの組み合わせは10あります。 アイスより種類が同じとき pan{c109120}% ./def_combination.rb [~/Ruby] アイスいくつ欲しい?:2 種類は?:2 アイスを2個。そして2種類のアイスを買うときの組み合わせは1あります。 C、考察 組み合わせの数が合ってるか確かめ算した (5*4*3)/(3*2*1) 10.00000000000000000000 2/2 1.00000000000000000000 どれも同じなのでこのプログラムは正しい 3、感想 今回はプログラムより進数計算のほうが苦労しました。 何度も何度も直してやっと出来ました。 正しく送れてなくて遅くなりました。 4、参考文献 「階乗計算」 http://roy/~madoka/2010/r2/05/05_07_theme_05_factorial.html 「並べかえプログラム」 http://roy/~madoka/2010/r2/05/05_10_theme_08_quicksortprog.html 著 西村まどか