ストラクチャードプログラミング(読み)すとらくちゃーどぷろぐらみんぐ(英語表記)structured programming

デジタル大辞泉 の解説

ストラクチャード‐プログラミング(structured programming)

構造化プログラミング

出典 小学館デジタル大辞泉について 情報 | 凡例

日本大百科全書(ニッポニカ) の解説

ストラクチャードプログラミング
すとらくちゃーどぷろぐらみんぐ
structured programming

コンピュータのプログラムをつくるときに、理解しやすく、修正しやすく、正しさが検証しやすいプログラムになるように、問題段階的に詳細にしていき、最終的には制御構造が明確なプログラムをつくる方法論。1960年代の終わりごろにダイクストラEdsger Wybe Dijkstraが提唱し、現在のあらゆるプログラムの作成方法に影響を及ぼしている。構造プログラミングとか構造化プログラミングともいう。

 ストラクチャードプログラミングは次のように行う。

 プログラムをつくるときには、まず「何を」しなければならないかをよく考え、「しなければならないこと」を大まかに順を追って記述する。次に、いま記述した「しなければならないこと」のうち一つ一つについて、そうするためには「何を」しなければならないかを考え、その「しなければならないこと」を順を追って記述する。当然、この記述は一段階前の記述よりも細かくなっている。このようにして、いちばん初めに記述したことが目的とするプログラミング言語プログラム言語)によってすべて表現されるまで続ける。このとき、そこで扱うデータも手順の詳細化の程度と歩調をあわせて詳細化していく。最終的なプログラミング言語による表現は、いちいちの手順を表したものであり、「どう」すべきかを表現したものになるので、詳細化の段階ではすこしずつ「どう」すべきかを決定しながら、最終的なプログラミング言語での表現を持ち込んでいく。ただし、「どう」すべきかの決定は、できる限り遅らせるほうがよい。

 最終的な制御の構造としては、
(1)順次(sequence) 上から順番に一つずつ文を実行していく構造
(2)選択(selection) if‐then文、if‐then‐else文、case文
(3)繰り返し(repetition) while‐do文、repeat‐until文
だけを用いることを原則とする。

 これらは、すべて実行時には制御が上からきて下に行くという性質がある。そこで、プログラムの先頭から並んでいる順に文が実行されることになるので、理解しやすくなる。goto文があると実行時の制御の流れがこのようにはならず、できあがったプログラムは理解しにくくなり、間違いのもとになるので、goto文はできる限り使わないほうがよい。しかし、前述の制御構造だけでは、構造化はされるがかえってわかりにくくなるような場合も出てくる。そのような場合で、しかもgoto文を使ったほうがわかりやすい場合に限って使うようにすべきである。

[土居範久]

出典 小学館 日本大百科全書(ニッポニカ)日本大百科全書(ニッポニカ)について 情報 | 凡例

今日のキーワード

部分連合

与野党が協議して、政策ごとに野党が特定の法案成立などで協力すること。パーシャル連合。[補説]閣僚は出さないが与党としてふるまう閣外協力より、与党への協力度は低い。...

部分連合の用語解説を読む

コトバンク for iPhone

コトバンク for Android