第9回 基礎プログラミング I レポート課題 氏名:xxxxxxxx 学籍番号:c109xxx 語学クラス:中国語 1 コース(系):地域共創コース 1 筆記問題 A まず13を16進数から10進数に直す 16進数 1 3 重み 16のn乗 16 1 それぞれに重みを掛けて足す。 3 * 1 + 1 * 16 = 19 同じく24も直す 2 * 1 + 4 * 16 = 36 ここで足すことができる。19 + 36 = 55 16進数を直す方法 : 16で割っていって下から余りを並べる 55/16 = 3 余り 7 3/16 = 0 余り 3 よって0x37である。 B 同じくB問題も10進数に直して解く 3 * 1 + 2 * 16 = 35 eは14なので 14 * 1 + 1 * 16 = 30 35+30 = 65 65/16 = 4 余り 1 4/16 = 0 余り 4 よって 0x41になる。 C 同じくC問題も解いていく 10 * 1 + 10 * 16 = 170 3 * 1 + 3 * 16 = 51 170 - 51 = 119 119/16 = 7 余り 7 7/16 = 0 余り 7 よって 0x77である。 2.プログラム問題 A 広告ホームページURL [http://roy/~c109063/advertise/] 実用部門にエントリーします。 ホームぺージ(index.html) http://roy/~c109063/advertise/index.html 企画書(plan.txt) http://roy/~c109063/advertise/plan.txt 取り扱い説明書(00redme) http://roy/~c109063/advertise/00readme プログラム(sinsukeisan.rb) http://roy/~c109063/advertise/sinsukeisan.rb B作成したプログラム -----企画書(plan.txt)------------------------------------ 進数計算プログラムの企画にあたり --企画前-- 進数計算はパソコンの仕組みを知るうえでとても重要である。 しかし、計算は手間のかかるものだ。中でも、10進数から16進数への 変換は割り算が必要なため、理屈は分かっていてもどうしても時間が かかってしまう。そこで、計算がすぐに出来るプログラムを作ろうと 思う。 --企画後-- 便利なプログラムにはなったが、10進数から16進数の変換しか出来ない のはちょっと不便である。もっと多くの進数計算が出来るプログラム を作れば更に便利になると思う。 --キャッチフレーズ-- 2秒で解ける! ------------------------------------------------------------- -----取り扱い説明書(00readme)--------------------- 進数計算プログラム 進数計算プログラムとは、文字通り進数計算するための プログラムである。しかし、今回のプログラムで出来る計算は 10進数から16進数への変換のみである。 プログラムの実行方法 ☆以下の2つのファイルをダウンロードする sinsukeisan.rb (プログラムファイル) 00readme (取り扱い説明書) この2つをすべて同じディレクレトリに保存する。 ☆ktermを開く 保存したディレクトリに移動し、chmod +x sinsukeisan.rb と入力し、enterで実行できる。 ☆計算するには 変換したい10進数を入力するよう求められるので入力しenterを押す。 -----ホームページ(index.html)--------------------------------- 進数計算プログラム

進数計算プログラム


進数計算の中でも、ちょっと厄介な10進数から16進数の計算

計算の仕方は分かっているけど計算に時間がかかる

これはそんな人のためのプログラムです

メニュ〜

企画書

取り扱い説明書

プログラム

注意事項

このプログラムは東北公益文科大学2年の小関文紀が著作権を保有しています。

このプログラムの使用で生じた損害、障害、不具合等について、作成者は一 切の責任を負いません。

ご意見、ご感想などがありましたら

c109063@e.koeki-u.ac.jp

にご連絡下さい。

ホームページへ

-----プログラム本体----------------------------------- #!/usr/koeki/bin/ruby print "16進数に変換したい10進数を入力して下さい:\n" a = gets.chomp printf("%s を16進数に変換すると %x になります\n", a, a ) -------------------------------------------------------- -----実行結果----------------------------------- pan{c109063}% ./sinsukeisan.rb [~/public_html/advertise] 16進数に変換したい10進数を入力して下さい: 256 256 を16進数に変換すると 100 になります ------------------------------------------------------ -----考察----------------------------- 0d256を16進数で表す場合 256 / 16 = 16 余り0 16 / 16 = 1 余り0 1 / 16 = 0 余り1 よって0d256を16進数で表すと0x100になる このことから、このプログラムは正しく機能していると言える。 ----------------------------------------------- 3.感想 今回は、プログラム自体は簡単に作ることが出来、実用性の高いものを作ること に力をいれた。その結果、個人的にはとても実用性のあるものを作ることができ た。今回は一つの進数変換しかできないプログラムだったので、今後色々な計算 の出来るプログラムを作っていきたい。しかし、このプログラムに頼り過ぎてし まうと地力での計算が遅くなったり、最悪の場合忘れてしまう可能性もあるので あまり感心出来るプログラムでは無いように感じた。 4参考文献 西村まどか先生 第4回基礎プログラミングI 講義ノート http://roy/~madoka/2010/r1/04/ 西村まどか先生 第9回基礎プログラミングI 講義ノート http://roy/~madoka/2010/r1/09/ 協同学習者 堀悠貴