6 月 13 日のレポートについて 語学クラス:XXXX語XX 系 :環境系 学籍番号 :C106XXX 氏名 :XXXXXXX 1. 解答に至る過程もつけて答えよ。 1. 0x11 + 0x22 = 0x33 2. 0x11 + 0xee = 0x?? まず2進数に変換する。 0x 11 = 0b 10001 0x ee = 0b 11101110 次に10進数に変換する。 0b 10001 = 1 * 2**4 + 1 * 2**0 = 16 + 1 = 17 0b 11101110 = 2**7 + 2**6 + 2**5 + 2**3 + 2**2 +2**1 = 128 + 64 + 32 + 8 + 4 +2 = 192 +46 = 238 足しちゃう。 238 + 17 = 255 また2進数に戻す 255 / 2 = 127 1 127 / 2 = 63 1 31 / 2 = 15 1 15 / 2 = 7 1 7 / 2 = 3 1 3 / 2 = 1 1 1 / 2 = 0 1 0b 10111111 16進数にする。 0b 10111111 = 0x bf よって 0x 11 + 0x ee = 0x bf 3. 0xaa - 0x11 = 0x?? 2進数にする。 0x aa = 0b 10101010 10進数にする。 2**7 + 2**5 + 2**3 + 2**1 = 128 + 32 + 8 +2 = 170 引いちゃう。 170 - 11 = 159 2進数にする。 159 / 2 = 79 1 79 / 2 = 39 1 39 / 2 = 19 1 19 / 2 = 9 1 9 / 2 = 4 1 4 / 2 = 2 0 2 / 2 = 1 0 1 / 2 = 0 1 0b 10011111 16進数にする。 0b 10011111 = 0x 9f 参考 http://roy/~madoka/2007/r1/04/04-12-binary2.html 2. * 企画書 (plan.txt) データ + + + 企画書のページ + + + 授業で習ったことを使い計算機を作ってみた。 ちょこっと+算や-算を使いたい時にでも是非使って欲しい。 手もとに計算機がないときになど是非!!! + + + 今後の課題 + + + 割算の計算プログラムを作れるようにしたいと思ったが、 現在の自分の能力では力不足であった。 のでできるようにしたい。 * 取り扱い説明書 (00readme) データ + + + THE つかいかた + + + calculator.rb (足算、引算) 数値を入力すると自動的に加算されていくようになっている。 もし、−計算したい場合は数値の前に -(ハイフン) をつけることによって 引算になるので活用して欲しい。 終了したいときは = を押すとそこで試合終了となる。 calculator2.rb (掛算) 数値を入力すると自動的に掛算されていくようになっている。 割算計算したい場合は簡単な計算であれば頑張れば出来る。 これも同じように終了する際は = を押すとそこで試合終了となる。 とりあえずこれらをダウンロードして使って下さい。 では、活用してみちゃって下さい。 * プログラム本体 (プログラム名.rb) データ: calculator.rb α:プログラム #!/usr/koeki/bin/ruby total = 0 #初期値設定 sum = 0 #初期値設定 while true #繰り返し print(" 計算機です。足算引算専用だけど使用するといい( ^ω^) \n") printf(" 数値入力してください! ↓: 現在の数値 + − < %d > − + \n",total) sum = gets.chomp #数値取り出し if sum == "=" then # = を押せば計算終了。 break end total += sum.to_f #実数を出すため end print("結果は以下の通りです!\n") printf("[ %d ] \n",total) #結果 β:実行結果 irsv{c106113}% ./calculator.rb [~/public_html/advertise] 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 0 > − + 3 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 3 > − + 5 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 8 > − + 7 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 15 > − + = 結果は以下の通りです! [ 15 ] irsv{c106113}% ./calculator.rb [~/public_html/advertise] 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 0 > − + 6 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 6 > − + 15 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 21 > − + 8 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 29 > − + -12 計算機です。足算引算専用だけど使用するといい( ^ω^) 数値入力してください! ↓: 現在の数値 + − < 17 > − + = 結果は以下の通りです! [ 17 ] γ:考察 3 + 5 + 7 = 15 6 + 15 + 8 - 12 = 29 -12 = 17 おk。 データ: calculator2.rb α:プログラム #!/usr/koeki/bin/ruby total = 1 #ここは初期値1でないと掛算が成立しないため。 sum = 0 while true print("計算機です。掛算専用だけど使用してみるといい( ^ω^) \n") printf("数値入力して下さい! ↓: 現在の数値 × < %d > × \n",total) sum = gets.chomp if sum == "=" then break end total *= sum.to_f # 掛算 end print("結果は以下の通りです!\n") printf("[ %d ] \n",total) β:実行結果 irsv{c106113}% ./calculator2.rb [~/public_html/advertise] 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 1 > × 2 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 2 > × 2 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 4 > × 2 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 8 > × 2 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 16 > × 2 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 32 > × 5 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 160 > × = 結果は以下の通りです! [ 160 ] irsv{c106113}% ./calculator2.rb [~/public_html/advertise] 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 1 > × 10 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 10 > × 10 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 100 > × 0.5 計算機です。掛算専用だけど使用してみるといい( ^ω^) 数値入力して下さい! ↓: 現在の数値 × < 50 > × = 結果は以下の通りです! [ 50 ] γ:考察 2 * 2 * 2 * 2 * 2 * 5 = 32 * 5 = 160 10 * 10 * 0.5 = 50 (10 * 10 / 2 = 50) おk。 データ:index.html
〜 基礎プログラミング I 〜
ここでは計算プログラムを作ろうと思います。
↓
いかがでしたか?(=・_・=)
トップに戻る 3. 感想 今回のプログラムは純粋に電卓を作りたかったけれども、思ったようにい かず戸惑わせられた。足算引き算はいけたけれども掛算はプログラムを変 えないといけなかったし、割算はできなかったのでまだまだ力不足だ。 ので勉強してできるようになったらいいなと思う。 ちなみに自分のホームページのリンク先 http://roy.e.koeki-u.ac.jp/~c106113/ また、広告ページも http://roy.e.koeki-u.ac.jp/~c106113/advertise/ で あります。