こんにちは、みっちゃんです。
プログラミング初心者の方は「プログラム=複雑で良く分からん文章」というイメージを持っていらっしゃるかもしれませんが、全くそんなことはありません。
実は、たった3つの構造の組合せになっており、非常に論理的に書かれています(論理的でないと、コンピュータに理解してもらえません)。
そこで今回の記事では、その3つの構造について、Rubyでの書き方とともに、紹介したいと思います。
目次(まとめ)
- プログラムは、「順次」「選択」「繰返し」からなっている
- 順次構造は、プログラムの上から順番に実行
- 選択構造は、分岐文をつかって、別の処理を実行
- 繰返し構造は、繰返し文をつかって、同じ処理を複数回実行
プログラムは、「順次」「選択」「繰返し」からなっている
複雑なプログラムも、実は、「順次」「選択」「繰返し」という構造の組合せで書かれています。
なぜなら、プログラムを読んで実行するのは、コンピュータであり、コンピュータが理解できるようにシンプルにする必要があるからです。
つまり、どんなプログラミング言語を使ったとしても、最終的には、コンピュータに理解させることを目標にする必要があります。
以下で、Rubyというプログラミング言語を使用して解説を進めます。全ての項目において、"test.rb"というrubyファイルを書いていきます。rubyの実行環境の構築については、以前の記事をご覧ください。実行方法は、以下の通りです。
# ruby test.rb
順次構造は、プログラムの上から順番に実行
プログラムには、コンピュータにやってもらいたいことを、上から順番に記述していくのが基本になります。
例題:花子(flower_child)さんが、花束を3束持って出かけました。お店で、花束を2束買いました。花子さんが持っている花束は全部でいくつでしょうか?
これは、以下のようにプログラミングできます。
# test.rb
flower_child = 3 #最初に花子さんが持っていた花束の数
flower_child = flower_child + 2 #お店で買った花束の数を足す計算
p flower_child #合計の花束の数を出力する
これを実行すると、"5"と表示されると思います。
このように、上から順番にプログラムを実行する構造を「順次構造」と呼びます。
選択構造は、分岐文をつかって、別の処理を実行
ここでは、「場合分け」を実現します。
例題:花子(flower_child)さんが、花束を3束持って出かけました。山田(mountain)くんが、花束を2束持って出かけました。お互い、相手が何束持って出かけたのか知りません。どちらが多くの花束を持っているでしょうか?
これは、以下のようにプログラミングできます。
# test.rb
flower_child = 3 #花子さんが持っていた花束の数
mountain = 2 #山田くんが持っていた花束の数
if(flower_child > mountain) #flower_childとmountainが持っている花束の数を比較
p "flower_child" #flower_childと表示
else
p "mountain" #mountainと表示
end
これを実行すると、"flower_child"と表示されます。当然、花子(flower_child)さんが、多くの花束を持っていたからです。
このように、条件文(if文)を使って、実行する処理を変える構造を「選択構造」と呼びます。
繰返し構造は、繰返し文をつかって、同じ処理を複数回実行
ここでは、繰返しを実現します。
例題:花子(flower_child)さんが、花束を3束持って出かけました。お店(store)に5回、繰り返し通って、1束ずつ花束を購入したいと思っています。購入後、花子さんは何束の花束を持っているでしょうか?
これは、以下のようにプログラミングできます。
# test.rb
flower_child = 3 #花子さんが持っていた花束の数
for store in 1..5 do #お店に5回、繰り返し通う
flower_child = flower_child + 1 #毎回、1束ずつ購入
end
p flower_child #合計の花束の数を出力する
これを実行すると、"8"と表示されると思います。
このように、繰り返し文(for文)を使って、同じ処理を繰り返す構造を「繰返し構造」と呼びます。