こんにちは、みっちゃんです。

プログラミング初心者の方は「プログラム=複雑で良く分からん文章」というイメージを持っていらっしゃるかもしれませんが、全くそんなことはありません。

実は、たった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文)を使って、同じ処理を繰り返す構造を「繰返し構造」と呼びます。

どのようなプログラミング言語でも、「順次」「選択」「繰返し」の書き方を覚えることが基本です。