によると、ウィキペディアは構造化プログラミングパラダイムについて述べています
以下は、Structuredと呼ばれる言語を修飾します。
これらの条件のすべてまたは一部が存在している必要があります。
それがルールの一部である場合。これは、以下の非構造化BASICコードにif/then
があるため、Structuredと呼ばれる資格があることを意味しますか?
5 LET S = 0
10 MAT INPUT V
20 LET N = NUM
30 IF N = 0 THEN 99
40 FOR I = 1 TO N
45 LET S = S + V(I)
50 NEXT I
60 PRINT S/N
70 GO TO 5
99 END
すべてのルールを含める必要がある場合、関数型プログラミングは反復/ループをサポートしていないため構造化されていないと言えますか?
ちなみに、私はこのフローチャートをプログラミングパラダイムをよりよく理解するために作成しましたが、それは正しいですか?
回答後に編集します。
クリストフの回答を経た後。
下の図は彼の修正を反映しています
......... /////////////////////////////// .......... ........................
いいえ、例で使用されている従来の [〜#〜] basic [〜#〜] は構造化言語とは見なされません。
[〜#〜] fortran [〜#〜] は最初は構造化されていませんでしたが、どこか(1966?)でブロック構造が追加され、後で選択(1990)されました。しかし、多くのコードは構造化されていません。
したがって、構造化言語は少なくとも以下を提供する必要があります。
最も初期の構造化言語は [〜#〜] algol [〜#〜] および Pascal でした。 Simula はオブジェクト指向でしたが、構造化プログラミングのすべてのプロパティを備えていました。
私は言語理論家ではありませんが、分類グラフは正しくないと思います。
文字通り言葉をとってもいいと思います。構造化言語と非構造化言語はなく、構造化コードと非構造化コードだけがあることに注意することが重要です。
構造とは、ビルディングブロックで構成された建物です。ブロックは、一連の操作またはスイッチにすることができます。スイッチはコードパスをリダイレクトし、実行をa(nother)ブロックの先頭に転送します。
ポイントは、理解しやすく、言語に依存しない一般的なブロックタイプがあることです。そして、プログラムの流れをグラフィカルに描くことができるはずです。
私が学校にいたとき、構造化されたコードを作成せざるを得なかったため、コードを書く前に、いわゆる Nassi-Shneiderman Diagrams を描画してソリューションを表現する必要がありました。描画するものは本質的に構造化されているため、図を取得したらコードを入力するのは簡単です。
NSダイアグラムは学外では人気がなく、放課後に使用したことはありませんが、構造化プログラミングの優れたデモンストレーターであると私は思います。