基礎プログラミング I 第 4 回 (プログラミングの方法) 「曜日を調べるプログラム」 講義ノート目次

割り算の余りを利用して、曜日を当てるプログラムを作ろう。 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 ずつずれることを使ったプログラムである。 進数変換と同じしくみを使っている。