割り算の余りを利用して、曜日を当てるプログラムを作ろう。 cal_cal.rb
#!/usr/koeki/bin/ruby
# coding: euc-jp
STDERR.print("5 月の曜日を調べます。日付は?: ")
day = gets.to_i # 日づけをしまう変数
d = ( 1 + day ) % 7 # 2012 年 5 月は火曜日開始。0 は日曜日。
if d == 0
wday = "日" # 曜日を表す変数
elsif d == 1
wday = "月"
elsif d == 2
wday = "火"
elsif d == 3
wday = "水"
elsif d == 4
wday = "木"
elsif d == 5
wday = "金"
else wday = "土"
end
printf("%d 日は %s曜日 です\n", day, wday)
同じ曜日の日付が 7 ずつずれることを使ったプログラムである。 進数変換と同じしくみを使っている。