初めてのプログラミング2

当ブログ2008年6月20日のアーティクル 初めてのプログラミング でご紹介のRuby及びプログラミングの入門書 初めてのプログラミング の良書なるを感じ乍、学習を進めた2006年9月、
1章 プログラミングを始める準備
2章 数と計算
3章 文字列
4章 変数と代入
5章 数と文字列の変換
6章 メソッド
と項目を重ねたのは如何やら黙読のみにて、 用意された練習問題を実践した形跡もない処、次章に至って、 関連フォルダ内に其れらしき名を示したファイルの残り居り、目次を参照すれば
7章 流れ制御
7.1 比較メソッド
7.2 分岐
7.3 ループ
7.4 論理を少し
7.5 練習問題
と、此処でループの登場に依ってか依らずか、 練習問題を実際に書き、走らせて見た様です。

其の際、此の書にては練習問題に答えの必要無しとの著者の判断も首肯出来る処乍、 多少の困惑も感じた記憶がありますから、 もしや同様の軽い乍も感じた不安を軽減出来る方の存在するならとの思いから、 ひっそりと投稿させていただきます。
スポンサーリンク
練習問題は本書64頁の
7.5.1. 99本のビールが壁に
遠足などでよく歌われる古典的な童謡の歌詞、「 99 Bottles of Beer on the Wall 」を出力するプログラムを書いてみましょう。
と云う、此の身に取っては少々不可解な古典の閲覧される方はご存知であるかも今は取敢えず、 解答に差し障りなければ、書いてみたコードは以下になります。
def bottles_of_beer request
  while request >= 0
    if request == 0
      puts 'No Bottles of beer on the wall'
      puts 'No Bottles of beer'
      puts 'Take one down and pass it around'
      puts 'No Bottles of beer on the wall'
      request -= 1
    elsif request == 1
      puts request.to_s + ' Bottle of beer on the wall'
      puts request.to_s + ' Bottle of beer'
      puts 'Take one down and pass it around'
      request -= 1
      puts 'No Bottles of beer on the wall'
      puts
    else
      puts request.to_s + ' Bottles of beer on the wall'
      puts request.to_s + ' Bottles of beer'
      puts 'Take one down and pass it around'
      request -= 1
      puts request.to_s + ' Bottles of beer on the wall'
      puts
    end
  end
end

puts 'Please, enter your favorite Number!'
request = gets.chomp.to_i

flag = false

while flag == false
  if request < 0
    puts 'Please, enter plus Number!'
    request = gets.chomp.to_i
  elsif request > 15
    puts 'Please,enter Number that is smaller than 15'
    request = gets.chomp.to_i
  else
    bottles_of_beer request
    flag =true
  end
end
上を現在の手元環境
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
で走らせると
Please, enter your favorite Number!
と、問われ、適当に 5 抔と入力しリターンキーを押せば、 以下の結果が得られます。
Please, enter your favorite Number!
5
5 Bottles of beer on the wall
5 Bottles of beer
Take one down and pass it around
4 Bottles of beer on the wall

4 Bottles of beer on the wall
4 Bottles of beer
Take one down and pass it around
3 Bottles of beer on the wall

3 Bottles of beer on the wall
3 Bottles of beer
Take one down and pass it around
2 Bottles of beer on the wall

2 Bottles of beer on the wall
2 Bottles of beer
Take one down and pass it around
1 Bottles of beer on the wall

1 Bottle of beer on the wall
1 Bottle of beer
Take one down and pass it around
No Bottles of beer on the wall

No Bottles of beer on the wall
No Bottles of beer
Take one down and pass it around
No Bottles of beer on the wall
如何も99回も画面上に繰り返されるは叶わぬと、当時、 ユーザーの入力を受け取って、それも 15以上では実行せぬ と云う仕様にした様です。

該当者の為の精神安定の目的とは云え、 薬事法には引っ掛からぬ、風邪薬と称す小麦粉程の効験ですから、 あまり期待にも参考にもなさらず、軽く眺め、 優越感に浸られるが、当アーティクルの正しい使用法にて、 然れども有意の方あれば、添削いただくは当方にては願ったり叶ったりと云う下心の存在は否定しません。

2件のコメント

  1. 初めてのプログラミング3

    初めてのプログラミング当ブログ2008年8月日のアーティクル初めてのプログラミング2にて提示したのはRuby及びプログラミングの入門書初めてのプログラミングでの7章 流れ制御7.1 比較メソッド7.2 分岐7.3 ループ7.4 論理を少し7.5 練習問題なる章立てに於ける練習問題

  2. 初めてのプログラミング4(閏年)

    初めてのプログラミング当ブログに於いてRuby及びプログラミングの入門書初めてのプログラミングの各章の最後に位置付けられる練習問題にて正解の掲載されぬに少しく不安を感じたかも知れぬ本誌購読のご同志の為の、参照、比較検討用に生贄的に供す個人的な解釈、解答を掲載

コメントは受け付けていません。