第4回 基礎プログラミング I レポート課題 氏名:XXXXXXXXX 学籍番号:c109XXX 語学クラス:英語1 コース(系):政策 /////////////////////////////////////////////////////////////////////////////// 1、筆記問題 A、10進数 0b10111=(1*2^4)+(0*2^3)+(1*2^2)+(1*2^1)+(1*2^0)=16+0+4+2+1=23 答え、 0b10111=0d23である ・16進数 10進数を16進数に直す。 0d23は 23/16=1 余り 7 1/16=0 余り 1 よって 0d23=0x17 なので 0b10111=0x17 B、 木の実を取りに行った。左側の木からは20個取れて、右側の木からは30 個取れた。40個取れたら終了する。 x = "木" y - "取れた木の実" if x == 左 than 20個 else if x == 右 than 30個 end となる。 2、プログラミング問題 A、 #!/usr/koeki/bin/ruby zandaka = 1000000 # 今現在持っている金額 STDERR.print("現在の金額は100万円\n") #現在の金額の表示 STDERR.print("入金と出金を選んでください。(入金ならa、出金ならb)") #入金と出金の選択 sentaku = gets.chomp #入力させる if sentaku == "a" #入金を選んだ場合 STDERR.print("入金はいくら?:") #入金額の入力 nyukin = gets.to_i # 整数で入力させる printf("%d円\n",zandaka + nyukin) #最初にある金額に入金額を足す elsif sentaku == "b" #出金を選んだ場合 STDERR.print("出金はいくら?:") #出金額の入力 syukkin = gets.to_i # 整数で入力させる printf("%d円\n",zandaka - nyukin) #最初にある金額に入金額を引く end #場合分けの終了 //実行結果...a// pan{c109120}% ./while_bookkeeper.rb [~/Ruby] 現在の金額は100万円 入金と出金を選んでください。(入金ならa、出金ならb)a 入金はいくら?:100000 1100000円 //実行結果...b// pan{c109120}% ./while_bookkeeper.rb [~/Ruby] 現在の金額は100万円 入金と出金を選んでください。(入金ならa、出金ならb)b 出金はいくら?:100000 900000円 //考察// プログラ厶が正常であるか確かめ算をしてみた。 入金の確かめ算 pan{c109120}% bc -l [~/Ruby] 1000000+100000 1100000 quit 出金の確かめ算 pan{c109120}% bc -l [~/Ruby] 1000000-100000 90000 quit 結果同じなのでこれは正常である。 3、感想 今回のプログラミングでは if elsif end の使い方を何度も間違ったがそのお かげで完璧とはいえないが大体理解できることが良かった。これからもプログ ラミングを頑張りたいです。 4、協力者 酒井 信市郎 //参考文献// 「2 進数から 16 進数へ」 http://roy/~madoka/2010/r1/04/04_14_appendix_04_binary.html 「もしもそうならば」 http://roy/~madoka/2010/r1/04/04_03_theme_01_branch.html 「比較演算子」 http://roy/~madoka/2010/r1/04/04_05_theme_02_comparison.html ////////////////////////////////////////////////////////////////////////////////