2012年9月10日月曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 12(新しいクラスのオブジェクト), 12.2(練習問題)、ハッピーバースデー を解いてみる。

その他参考書籍

ハッピーバースデー

コード(TextWrangler)

sample.rb

#!/usr/bin/env ruby1.9
# -*- coding: utf-8 -*-

while true
  puts "生まれた年"
  year = gets.chomp.to_i
  break if year == 0
  puts "生まれた月"
  month = gets.chomp.to_i
  puts "生まれた日"
  day = gets.chomp.to_i
  birth = Time.gm(year)
  td = Time.new
  age = 0
  
  while birth.year < td.year
    age += 1
    birth = Time.gm(year + age)
  end
  
  age -= 1 if month == td.month and day > td.day
  age -= 1 if month > td.month
  
  i = 1
  age.times do |item|
    puts "平手打ち(パシッ) #{i}歳"
    i += 1
  end
end

入出力結果(Terminal)

$ ./sample.rb
生まれた年
2000
生まれた月
9
生まれた日
9
平手打ち(パシッ) 1歳
平手打ち(パシッ) 2歳
平手打ち(パシッ) 3歳
平手打ち(パシッ) 4歳
平手打ち(パシッ) 5歳
平手打ち(パシッ) 6歳
平手打ち(パシッ) 7歳
平手打ち(パシッ) 8歳
平手打ち(パシッ) 9歳
平手打ち(パシッ) 10歳
平手打ち(パシッ) 11歳
平手打ち(パシッ) 12歳
生まれた年
2000
生まれた月
9
生まれた日
10
平手打ち(パシッ) 1歳
平手打ち(パシッ) 2歳
平手打ち(パシッ) 3歳
平手打ち(パシッ) 4歳
平手打ち(パシッ) 5歳
平手打ち(パシッ) 6歳
平手打ち(パシッ) 7歳
平手打ち(パシッ) 8歳
平手打ち(パシッ) 9歳
平手打ち(パシッ) 10歳
平手打ち(パシッ) 11歳
平手打ち(パシッ) 12歳
生まれた年
2000
生まれた月
9
生まれた日
11
平手打ち(パシッ) 1歳
平手打ち(パシッ) 2歳
平手打ち(パシッ) 3歳
平手打ち(パシッ) 4歳
平手打ち(パシッ) 5歳
平手打ち(パシッ) 6歳
平手打ち(パシッ) 7歳
平手打ち(パシッ) 8歳
平手打ち(パシッ) 9歳
平手打ち(パシッ) 10歳
平手打ち(パシッ) 11歳
生まれた年
2000
生まれた月
10
生まれた日
1
平手打ち(パシッ) 1歳
平手打ち(パシッ) 2歳
平手打ち(パシッ) 3歳
平手打ち(パシッ) 4歳
平手打ち(パシッ) 5歳
平手打ち(パシッ) 6歳
平手打ち(パシッ) 7歳
平手打ち(パシッ) 8歳
平手打ち(パシッ) 9歳
平手打ち(パシッ) 10歳
平手打ち(パシッ) 11歳
生まれた年
2000
生まれた月
8
生まれた日
1
平手打ち(パシッ) 1歳
平手打ち(パシッ) 2歳
平手打ち(パシッ) 3歳
平手打ち(パシッ) 4歳
平手打ち(パシッ) 5歳
平手打ち(パシッ) 6歳
平手打ち(パシッ) 7歳
平手打ち(パシッ) 8歳
平手打ち(パシッ) 9歳
平手打ち(パシッ) 10歳
平手打ち(パシッ) 11歳
平手打ち(パシッ) 12歳
生まれた年
0
$

0 コメント:

コメントを投稿