昨日、息子にプログラミングを教えました
昨日、6才の息子に初めてプログラミングを教えました。
内容はRubyで、別のファイルを読み込んで、何時間何分という時間の書かれたリストから全部の合計時間を計算するというものです。
ソースはこんな感じ。
total_hour, total_minute = 0, 0 File.foreach("video-time-list.txt") do |line| next unless line =~ /(\d+):(\d+)/ hour, minute = $1.to_i, $2.to_i total_hour += hour total_minute += minute if total_minute >= 60 total_hour += 1 total_minute -= 60 end end puts "%dじかん%dふん" % [total_hour, total_minute] puts "%dにちかん%dじかん%dふん" % [(total_hour / 24), (total_hour % 24), total_minute]
きっかけが、HDDレコーダーにある息子の録画した番組のリストから全部で何時間か計算したいと言い出したことだったので、そのようなプログラムにしました。
最初は紙と鉛筆でがんばって計算していたのですが、ビデオのリストが150個もあり、30個くらいのところで挫折して、じゃあプログラムで計算してみよう!と私から提案しました。
もちろん、がんばればExcelでもできるような計算ですが、ちょうどプログラミングを教えるいい機会かなと思った次第です。
とりあえず、順次実行と条件分岐と繰り返しの3つがあるよということを教えてから、実際のプログラムを作ってビデオリストの合計時間を計算するところまでは達成しました(≧▽≦)
その時の説明文書が以下です。
プログラムとはコンピュータにはたらかせる めいれい をかいたもの
プログラムをかく ほうほうも たくさんあります
たとえば、ひとが はなす ことばにも にほんご や えいご や ちゅうごくご があるように
プログラムにも いろんな げんご がありますたとえば C Java ruby perl php python C# ...
きょうは そのなかで ruby という げんご で プログラムします
プログラムは きほんてきに
じゅんばんに めいれいを じっこうする
じょうけんぶんき (あるばあいと そうでないばあいで じっこうする めいれいをかえる)
くりかえしこの3つをつかってつくります
1つ目のプログラム
# じゅんばんに めいれいを じっこうする puts "こんにちは" # puts はがめんに もじを ひょうじする めいれい puts "◯◯くん" # ◯◯は息子の名前 puts "きょうは よろしくね" # けいさんをしてみよう # けいさんをするには へんすう というものをつかいます a = 1 # この a をへんすうといいます # すうじを いれることができる はこ のようなもの puts a puts a + a puts a + 1 b = 2 puts "a + b = %d" % (a + b)
2つ目のプログラム
# じょうけんぶんき a = ARGV[0].to_i puts a if a > 10 puts "おおきい" else puts "ちいさい" end
3つ目のプログラム
# くりかえし 2.times do |i| puts "%d: こんにちは" % i end 9.times do |i| 9.times do |j| puts "#{i+1} × #{j+1} = %d" % ((i+1) * (j+1)) end end
どの程度理解したかは分かりませんが、楽しんでくれたようだったので良かったです(^^;;