第5回 基礎プログラミング II レポート課題 氏名:荘司まゆ 学籍番号:c1051093 語学クラス:英語3 コース(系):社会 A. 1. A.私の名前をローマ字にすると、Shoji Mayuとなる。これをASCIIコードで示すと 以下のようになる。 S 53 h 68 o 6F j 6A i 69 M 4D a 61 y 79 u 75 また、これらは16進数なので10進数に直すと以下のようになる。 S(53)を計算すると、 16*5 + 3 = 78 h(68)の場合 16*6 + 8 = 104 o(6F)の場合 16*6 + 15(F) = 111 j(6A)の場合 16*6 + 10(A) = 106 i(69)の場合 16*6 + 9 = 105 Mの(4D)場合 16*4 + 13(D) = 77 a(61)の場合 16*6 + 1 = 97 y(79)の場合 16*7 + 9 = 121 u(75)の場合 16*7 + 5 = 117 また答えは10進数に接頭辞はないので、以上。 この計算で出た答えをそれぞれ16と10で割る。 S 53÷16=3余り5 78÷16=4余り14 それぞれ確かめてみる。 5 + 3 * 16 = 53 14 + 4 * 16= 78 結果 pan{c105109}% bc -l [~] 5+3*16 53 14+4*16 78 よってこれらは正しい。 h 68÷16 = 4余り4 104÷16 = 6余り8 それぞれ確かめてみる。 4 + 4 * 16 = 8 + 6 * 16 = 結果 pan{c105109}% bc -l 4+4*16 68 8+6*16 104 よってこれらは正しい。 o 6F÷16 = 111÷16 = 6余り15 確かめてみる。 15 + 6 * 16 = 111 結果 pan{c105109}% bc -l 15+6*16 111 よって正しいことが証明された。 j 6A÷16 = 106÷16 =6余り10 確かめてみる。 10 + 6 * 16 =106 結果 10+6*16 106 よって正しいことが証明された。 i 69÷16 =4余り5 105÷16 =6余り9 確かめてみる。 5 + 4 * 16 = 9 + 6 * 16 = 結果 5+4*16 69 9+6*16 105 よってこれらは正しい。 M 4D÷16 = 77÷16 = 4余り13 確かめてみる。 13+4*16 = 結果 13+4*16 77 よって正しい。 a 61÷16 =3余り13 97÷16 =6余り1 確かめてみる。 13+3*16 1+6*16 結果 13+3*16 61 1+6*16 97 よって正しい。 y 79÷16 = 4余り15 121÷16 =7余り9 確かめてみる。 15+4*16 9+7*16 結果 15+4*16 79 9+7*16 121 よってこれは正しい。 u 75÷16 =4余り11 117÷16 =7余り5 確かめてみる。 11+4*16 5+7*16 結果 11+4*16 75 5+7*16 117 よってこれは正しい。 B. def souji(futon,yuka,tukue) huton をたたむ soujiki を出す room = huton と yuka を掃除する room = room の tukue を掃除する end 2. A. a.設定 40人の生徒がいるクラスから3人の委員を決める組み合わせのプログラムを考え た。 b.プログラム本体 #!/usr/koeki/bin/ruby def factorial(m) if m == 1 1 else m * factorial(m-1) end end hito = 40 #40人 choose = 3 #3人 sa = hito - choose #40 - 3 = 37 printf("%d人の中から%d人を取る組み合わせは?\n", hito ,choose) printf("%d通りです。\n",factorial(hito)/(factorial(choose)*factorial(sa))) #組み合わせの式は、40!/(3!*37!) c.結果 pan{c105109}% ./def_combination.rb [~/Ruby] 40人の中から3人を取る組み合わせは? 9880通りです。 d.考察 今回はもとにしたプログラム(method_factorial)があったのでとてもやりやすかった。中学のときに PとCでものすごく悩んだ記憶があるのに、プログラムでするとあっさりできるこ とに驚いた。 C.参考文献 http://roy/~madoka/2010/r2/05/ 基礎プログラミング II 第5回 何度も呼び出そう 西村まどか 第3回 基礎プログラミング II レポート課題 提出レポート