第5回 基礎プログラミング II レポート課題 氏名:奥山広大 学籍番号:c109039a 語学クラス:英語 コース(系):地域 1、A コード okuyama koudai 16進数表記 o=Ox6f k=Ox6b u=Ox75 y=Ox79 a=Ox61 m=Ox6d a=Ox61 k=Ox6b o=Ox6f u=Ox75 d=Ox64 a=Ox61 i=Ox69 全て足すと 6 15 6 11 ---------- 13 10 7 5 ---------- 1 4 15 7 9 ---------- 1 12 8 6 1 ---------- 2 2 9 6 13 ---------- 2 9 6 6 1 ---------- 2 15 7 6 11 ---------- 3 6 2 6 15 ---------- 3 13 1 7 5 ---------- 4 4 6 6 4 ---------- 4 10 10 6 1 ---------- 5 0 11 6 9 ---------- 5 7 4 文字コードを全て足した答えは、574となる。 10進数 6f o 6 * 16 + 15 = 111 k 6 * 16 + 11 = 107 k 6 * 16 + 11 = 107 o 6 * 16 + 15 = 111 u 7 * 16 + 5 = 117 u 7 * 16 + 5 = 117 y 7 * 16 + 9 = 121 d 6 * 16 + 4 = 100 a 6 * 16 + 1 = 97 a 6 * 16 + 1 = 97 m 6 * 16 + 13 = 109 i 6 * 16 + 9 = 105 a 6 * 16 + 1 = 97 文字コードを全て足した答えは、1396となる。さらにその数字を16で割っていく。 1396 / 16 = 87....余り 4 87 / 16 = 5....余り 7 5 / 16 = 0....余り 5 答え 574 さっきの文字コードど数字が合っているので、正しいと言える。 B、 日常繰り返すとして、コーヒーを作る動作をプログラム風に書き出した。 def coffee(hotwater,spoon,cup) cup に入れる hotwater を注ぐ spoon でかき混ぜる end coffee(お湯 ,スプーン,カップ) print("おいしいコーヒーの出来上がり") プログラム 考えた設定 募集人数から、採用人数を選ぶ組み合わせを求めるプログラムを作成した。 プログラム本体 #!/usr/koeki/bin/ruby print("\n 新入社員採用試験 \n") def f(z) if z ==1 1 else z * f(z-1) end end def combination(a,b) if a == b 1 elsif b == 0 0 elsif b > a print("\nエラーになります。 ") print("\n応募人数より採用人数が多いです") elsif 3130 < a print("応募人数は3130人以下で入力して下さい\n") else f(a)/(f(b)*f(a-b)) end end STDERR.print("\n今回の応募人数 : ") a = gets.to_i STDERR.print("今回の採用人数 : ") b = gets.to_i printf("\n%d人から %d人は %d通りの組み合わせです。 \n\n" , a,b,combination(a,b)) 結果 pan{c109039}% ./def_combination.rb [~/Ruby] 新入社員採用試験 今回の応募人数 : 4 今回の採用人数 : 2 4人から 2人は 6通りの組み合わせです。 考察 確かめ算をした結果 pan{c109039}% bc -l [~/Ruby] 4 * 3 * 2 / (2 * 2) 6.00000000000000000000 結果の答えと合っていたので正解と言える。 感想 毎回課題をやるごとに、少しずつスキルが身についていると感じています。先輩 に詳しくやり方を教えてもらって自分のスキルにプラスとなっていると思うので 毎回の授業で、聞いたことを身につけさらに先輩からの物も自分の物にして自分 なりに頑張っていきたいです。 機械的な操作を繰り返すもの 人を感知する < 扉が開く < 人がいなくなった < 扉が閉まる 自動ドア 参考文献 基礎プログラミング II 第05回 何度も呼び出そう レポート講評 http://roy/~madoka/2009/r2/05/crt.html 先輩の講評レポート http://roy/~madoka/2009/r2/05/rpt/c108174.txt