
プログラミングの基本として3つの処理があります。
- 順番に進む
- 繰り返す
- 分岐する
多くのプログラムはこの3つのことを組み合わせて作られています。
この記事はプログラミングの基本である、順番に進む、繰り返す、分岐するについて説明していきます。
目次
順番に進む
プログラミングは基本的には上から書かれていることを順番に処理していきます。
ここでは簡単なプログラムを書いていくとして1から9までを表示するという題材でやってみましょう。
やりたいことは以下のようなものです。
- 1を表示する
- 2を表示する
- 3を表示する
- 4を表示する
- 5を表示する
- 6を表示する
- 7を表示する
- 8を表示する
- 9を表示する
Rubyでプログラミング
実際にRubyでプログラミングをしてみます。
Rubyで上記のやりたいことを書くと以下のようなプログラムになります。
puts 1
puts 2
puts 3
puts 4
puts 5
puts 6
puts 7
puts 8
puts 9
putsは画面に表示してくれる命令です。
その横に書いている文字を表示してくれます。
実際の実行結果は以下のようなものが画面に表示されます。
1
2
3
4
5
6
7
8
9
これで1から9を表示するプログラムを書くことができました。
繰り返す
1から9までを表示するプログラムは理解できたと思います。
ただもしこれが1000までやってとなると1000行も書かなくてはいけません。
9行だったのでよかったですが1000行だととても大変ですし、もしかすると数字を間違ってしまうかもしれません。
ここで一気に楽をするために繰り返しを使います。
それでは最初にやった「順番に進む」では全て同じことをしているのですがそれは何かわかりますでしょうか?
そうです、全て「数字を表示する」ということをやっています。
数字が1つずつ増えているだけで表示するというのは全て同じことです。
Rubyでプログラミング
実際にRubyで書いてみましょう。
(1..9).each do |number|
puts number
end
ずいぶんとすっきりしましたね。
ちょっと難しいところがでてきていますがここでは「puts」の部分が9回繰り返されていることに注目していください。
(1..9)の部分は1〜9までという意味でeachがそれを繰り返すという意味になります。
このように書いておくと1000回したいだけど言われても簡単です。
どこを直せば良いかわかりますでしょうか?
実際に自分のパソコンがある方はぜひ試してみてください!
Scratchでプログラミング
Scratchで繰り返しを体験するには以下の記事を見てチャレンジしてください!
分岐する
最後に分岐するです。
ある一定の条件もとではAを実行する、それ以外であればBを実行するというように細かく処理を分けていくことができます。
ここでは分岐の題材として「3の倍数だとアホになる」ということをやってみましょう。(これをみている子供たちは古すぎて元ネタがわからないかも・・・)
やりたいのは以下のようなものです。
- 1を表示する
- 2を表示する
- アホな3!を表示する
- 4を表示する
- 5を表示する
- アホな6!を表示する
- 7を表示する
- 8を表示する
- アホな9!を表示する
Rubyでプログラミング
実際に分岐をするプログラムを書いてみましょう。
やりたいことをみてみると3と6と9の時だけ表示したい文字が違いますね。
ではその3つの分岐を作ってあげれば良いのです。
プログラムは以下の通りです。
(1..9).each do |number|
if number == 3
puts "アホな#{number}!"
elsif number == 6
puts "アホな#{number}!"
elsif number == 9
puts "アホな#{number}!"
else
puts number
end
end
プログラムが少し多くなってしまっていますが基本的に増えているのは「if」と呼ばれいてるものです。
ifは日本語にすると「もし」になります。
なのでもし3だったらという意味になっています。
「elsif」に関しても同様で「if」の条件に一致しなかった場合に使われるものになっています。
最後に「else」は全ての条件にあてはまらなかった場合に通るものになっています。
これで順番に実行する、繰り返す、分岐するの3つを使ってプログラミングをしてみました。
Scratchでプログラミング
Scratchで分岐を体験するには以下の記事を見てチャレンジしてください!
もっとスマートにあほになるには?
最後にやった分岐でのプログラムはどうでしたでしょうか?
何かざわざわとした人、するどい!
最初にやった順番に進むと同じ問題が発生することに気づけたでしょうか?
例えば1000までやりたいと言われた時にまた1000までの3の倍数の分岐を作って行かなくてはいけないです。
もっとスマートにアホになる方法があるはずです。
よければ考えてみて実際に自分でやってみましょう!