初心者必見!図でわかるプログラムの3つの制御構造

プログラミング

コードを見ていきなり、プログラムを読んだり、書いたり…なんて初心者には難しいですよね。
プログラムと聞くと複雑そうなイメージですが、3つの制御構造を理解すればプログラム全体を把握することができます。
例ではJavaのコードを載せているので、参考にしてみてください。

プログラムの流れを把握するには

 

ビギン
ビギン

プログラミング初心者だけどコード見てもよくわからない…

ゆりグル
ゆりグル

プログラムの構造を知れば理解しやすくなるよ。

プログラムの流れを把握するのはコードを見慣れてない初心者には大変なものですよね。
しかしプログラムの構造を知っておくとプログラムへの理解が深まります。
プログラム全体の大まかな構造を知ることがプログラム理解への第一歩です。

3つの制御構造

全部のプログラムが上から順番に行われるわけではありません。
プログラムの順番を制御している構造を制御構造といいます。
これだけだとよくわからないと思いますが、代表的な3つを見てみると想像しやすいです。

代表的なのは3つあり「順次」「分岐」「繰り返し」です。

この3つの構造さえ理解できれば、どんな複雑なプログラムも作成可能です。
それぞれの説明と例を見ていきましょう。

順次

順次」は上から順に1つずつ行っていく構造です。

こちらは、一番わかりやすいものですね。上から順番に処理をしていく、流れです。
プログラムの例を見てみましょう。

package sample;

public class Main1 {
	public static void main(String[] args) {
		int x=5;
		int y=2;
		String answer="x+yは"+(x+y);
		System.out.println(answer);
	}
}

実行結果:

x+yは7

上から順番に実行していけば、最後に計算結果を出してくれるプログラムになりました。

分岐

分岐」は条件によってプログラムがわかれる構造です。
プログラムは「if構文」を使って書くことができます。
ifは英語で「もしも~」という意味があります。

プログラムの例で見てみましょう。
「もし天気が良かったら」という条件があった場合、天気が良かった場合の行動と、天気がよくない場合の行動は、違うので、処理がわけられます。
フローチャートで見てみるとこんな感じです。

フローチャートをコードで見てみると以下のようになります。
コード例:晴れの場合

package sample;

public class Main2 {
	public static void main(String[] args) {
		boolean weather = true; //晴れている場合
		if (weather==true) {
			System.out.println("洗濯物を干す");
			System.out.println("買い物に出かける");
		} else {
			System.out.println("家でテレビを見る");
		}

	}
}

実行結果:

洗濯物を干す
買い物に出かける

コード例:晴れていない場合

package sample;

public class Main2 {
	public static void main(String[] args) {

		boolean weather = false; //晴れていない場合

		if (weather==true) {
			System.out.println("洗濯物を干す");
			System.out.println("買い物に出かける");
		} else {
			System.out.println("家でテレビを見る");
		}

	}
}

実行結果:

家でテレビを見る

「if-else構文(if構文の基本形)」で場合分けができます。このような処理を分岐をいいます。

繰り返し

繰り返し」は条件が満たされるまで繰り返す処理です。つまり、条件が成立している間はずっと繰り返します。
while文」を使って繰り返しの制限を行えます。
whileは英語で~の間はという意味です。


プログラム例を見てみましょう。
数字を足していくプログラムです。数字が5より小さいか同じの場合は、処理を繰り返します。

package sample;

public class Main3 {
	public static void main(String[] args) {
		int num=1;
		while (num<=5) {
			System.out.println("数字は"+num);
			num=num+1;
		}
	}
}

実行結果:

数字は1
数字は2
数字は3
数字は4
数字は5

このようにwhileを使って繰り返しの制御ができます。

最後に

全体のプログラムの流れや構造を把握しやすくなりましたか?
どんなに長く、複雑なプログラミングにでも構造が見えれば、プログラミングが見やすくなれるのではないでしょうか。
初心者だと最初に引っ掛かりやすいところは「繰り返し」の部分ではないかと思います。
私は特にこの中で「繰り返し」に苦手意識がありました。
プログラムを書くとき、読むときはいきなりコードからではなく、必ず図にして頭の中で整理していきましょう。

コメント

タイトルとURLをコピーしました