第5回 基礎プログラミング II レポート課題 氏名:斎藤拓也 学籍番号:c1090704 語学クラス:英語1 コース(系):地域共創コース 1.A. 第3回のレポートから ASCII コード 0x73 0x61 0x69 0x74 0x6f 0x74 0x61 0x6b 0x75 0x79 0x61 21 + 6 + 54 + 74 + 90 + 28 + 6 + 66 + 35 + 63 + 6 = 449 449 / 16 = 28 余り 1 10進数 0x73 = 7 * 16の1乗 + 3 * 16の0乗 = 112 + 3 = 115 0x61 = 6 * 16の1乗 + 1 * 16の0乗 = 96 + 1 = 97 0x69 = 6 * 16の1乗 + 9 * 16の0乗 = 96 + 9 = 105 0x74 = 7 * 16の1乗 + 4 * 16の0乗 = 112 + 4 = 116 0x6f = 6 * 16の1乗 + 15 * 16の0乗 = 96 + 15 = 111 0x74 = 7 * 16の1乗 + 4 * 16の0乗 = 112 + 4 = 116 0x61 = 6 * 16の1乗 + 1 * 16の0乗 = 96 + 1 = 97 0x6b = 6 * 16の1乗 + 11 * 16の0乗 = 96 + 11 = 107 0x75 = 7 * 16の1乗 + 5 * 16の0乗 = 112 + 5 = 117 0x79 = 7 * 16の1乗 + 5 * 16の0乗 = 112 + 9 = 121 0x61 = 6 * 16の1乗 + 1 * 16の0乗 = 96 + 1 = 97 10進数では 115 + 97 + 105 + 116 + 111 + 116 + 97 + 107 + 117 + 121 + 97 = 1199 1199 / 16 = 74 余り 15 0x28 = 0d74 B.夜の寝る前の行動をプログラム風に書く def night(game, tv, hamigaki, sleep) game をする game をやめる tv を見ながら hamigaki をする。 sleep する。 end game(1時間) tv(30分) hamigaki(5分) sleep(7時間) print("おはよう\n") 2.A. a.m の部分を替えてもできるのか調べてみた。 manga という物にしてみた。 b.#!/usr/koeki/bin/ruby def factorial(manga) if manga == 1 1 else manga * factorial(manga-1) end end # manga = 1 STDERR.print("数: ") manga = gets.chomp.to_i printf("%dの階乗は%dです\n", manga, factorial(manga)) c.元にしたプログラムは def_factorial.rb で m,n を manga にした。 d.pan{c109070}% ./def_factorial.rb [~/Ruby] 数: 5 5の階乗は120です e.プログラムの解説 3行目 階乗のメソッドを使い manga という名前で計算をする。 4行目 manga をの最初の数字を 1 とする 7行目 manga * manka-1 を出来る所までやる 12行目 数を聞く 13行目 数字を貰ったらそれを計算する 15行目 階乗の計算を表示する 実行した結果の計算の合否 pan{c109070}% bc -l [~/Ruby] 5 * 4 * 3 * 2 * 1 120 計算の結果 計算は当たっている 3.今回は問題を理解することができませんでした。組み合わせが何の意味なのか 分からずプログラムをどうすれば良いのか分かりませんでした。 機械的人間の行動は法隆寺御坊さんの修業が機会的だと思う。御坊さんは起きると坐禅 をしてその後に食事をして、食事をした後は掃除をする。その後は旅行客にお寺 案内や説明をする。またその後には坐禅をして夕食をとって坐禅をして睡眠をと る。それをほぼ毎日繰り返す。 4.階乗計算 西村先生 http://roy/~madoka/2010/r2/05/05_07_theme_05_factorial.html 共同学習者 嘉村爽太 菊池浩平 山科雄介