5月9日のレポートについて XXXX語XX XXXX系 XXXXXXXX 1、 A:2進数100011を10進数に 手計算 1*1+2*1+4*0+8*0+16*0+32*1 35/2=17...1 17/2=8...1 =1+2+32 8/2=4...0 4/2...0 =35 2/2=1...0 1/2...1 0b100011=0d35 2進数100011を16進数に 右端から 4 桁ごとに区切る 10 0011 4 桁ごとに 16 進数で書き直す 2 3 0b100011=0x23 参考:講義ノート B: N君が朝起きてする行動をプログラムしてみた。 「目が覚めるまで顔を洗い、時間があれば朝ごはんを食べて外出 する。」 プログラムの内容は while 顔を洗う。 if 目が覚めた。 brake end end if 時間がある 朝ごはんを食べて外出 else 朝ごはんを食べずに外出 end になる。 2、C 設定したプログラム 4月の銀行のインターネットバンキングのシステム 作成したプログラム #!/usr/koeki/bin/ruby STDERR.print("4月の曜日を当てます。日にちをどうぞ: ") day = gets.chomp.to_i d = (4 + day) % 7 # 4 月 1 日は日曜日なので # day == 1 なら d = 5 となるよう調節 if day<31 #31日以降の入力は作動しない if d == 0 wday = "火" a="OK" elsif d == 1 wday = "水" a="OK" elsif d == 2 wday = "木" a="OK" elsif d == 3 wday = "金" a="OK" elsif d == 4 wday = "土" a="NG" elsif d == 5 wday = "日" a="NG" else wday = "月" a="OK" end printf("4月%d 日は%s曜日です。銀行は%sです。\n", day, wday ,a) end もとにしたプログラムの変更点 講義に作成したカレンダーのプログラムを4月に変更し、銀行の土日はNG、平日はOKと 設定した。 プログラムを実行した結果 30日以内 irsv{c106071}% ./bank.rb [~/Ruby] 4月の曜日を当てます。日にちをどうぞ: 11 4月11 日は水曜日です。銀行はOKです。 31日以降 irsv{c106071}% ./bank.rb [~/Ruby] 4月の曜日を当てます。日にちをどうぞ: 43 irsv{c106071}% [~/Ruby] プログラムの結果の考察 結果をカレンダーで確認しました。 参考文献 講義ノート:カレンダーのプログラム 3、感想 レポートを作成して、やっとifやwhileの使い方を覚えた気がしました。でも、 なかなかスムーズに設定やプログラムが完成しなかったので、結構考えました。 これからも、まだまだ講義で覚えることがあると思うのでがんばって食いついて いこうと思います。