【こうぞうかぷろぐらみんぐ】

構造化プログラミング とは?

最終更新:
💡 順番・分岐・繰り返しで、処理の流れを整理

順次・選択・反復などの制御構造を組み合わせ、処理の流れを追いやすく整理するプログラミングの考え方。無秩序なジャンプを避け、コードの構造と実行の流れを対応させる。

📌 このページのポイント
構造化プログラミングの3つの基本構造 ① 順次:順に進む 入力を読む 結果を表示 ② 選択:条件で分かれる 条件は? 処理A 処理B 真 偽 ③ 反復:条件の間、繰り返す 続ける? 1件を処理 真 偽 次へ 矢印は実行の流れ。各図は別の例
順次・選択・反復のフローチャート。選択は真/偽の分岐と合流、反復は真で本体を実行して条件へ戻り、偽で抜ける。三つは独立した例で、上から全部続けて実行する図ではない。制御構造を使うだけで正しさや読みやすさを保証しない。
ひよこ ひよこ
構造化プログラミングって何?
ペンギン先生 ペンギン先生
順に実行する、条件で選ぶ、繰り返す、といった制御構造を組み合わせて処理を整理する考え方だよ。コードを読んだときに、実際の処理がどう進むかを追いやすくするんだ。
ひよこ ひよこ
3つの構造ってどういうもの?
ペンギン先生 ペンギン先生
順次は「入力を読む→結果を表示する」のように順に進むこと。選択は「条件を満たせばA、そうでなければB」。反復は「処理対象がある間、1件ずつ扱う」といった繰り返しだよ。
ひよこ ひよこ
goto文とはどう関係するの?
ペンギン先生 ペンギン先生
gotoは指定した場所へ処理を移す命令だよ。無秩序に飛び回る流れは追いにくくなる。ダイクストラは1968年の有名な文章でこの問題を論じ、1969年にはNotes on Structured Programmingを書いた。1968年に一人で全体を発明した、と単純には言えないんだ。
ひよこ ひよこ
今の言語でも使う考え方?
ペンギン先生 ペンギン先生
例えばPythonのif文は条件に応じた選択、for文は要素を順に扱う反復を表すよ。言語ごとに書き方や使える構文は違うけれど、処理の流れを整理する場面で役立つんだ。
ひよこ ひよこ
ifとループを使えば読みやすくなる?
ペンギン先生 ペンギン先生
それだけで保証されるわけではないよ。条件を深く入れ子にしたり、長い処理を詰め込んだりすると追いにくくなる。処理のまとまりや条件の意味も分かるように整理し、正しく動くかを確かめることが大切なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「構造化プログラミング」って出てきたら「順番・分岐・繰り返しの3パターンでコードを整理する考え方」と思えればだいたいOK!
📖 おまけ:英語の意味
「Structured Programming」 = 構造化されたプログラミング
💬 structured(構造化された)programming(プログラミング)で、コードに規則正しい構造を持たせようという考え方だよ

参考資料

← 用語集にもどる