Tips 26 呪文のコード?
PCプログラミングの基本三構文とは?
入門書には、 連接、選択、繰り返し、
が基本三構文とは載っているが。
現実にはPCプログラミングは 一つ しか構文がないといえる。
それは、『選択』。この一つだけ。
連接、は。順番に処理が続きますよ。ってだけだから、
時間が前へ前へと進むように当たり前のことで、無視できる。
(まあデバッグ時には、逐次いまの処理がどこを指しているかを把握しないといけないだろうが。これは常識だから無視できる。)
繰り返し構文は。現実のプログラミングでは、
なまじ選択より使用頻度が高いケースが大半だろうが。
本質的に、繰り返し構文は二次的なものなのだ。
どんな繰り返し構文でも、
処理を終了してループを脱するときに選択構文を使っている。
いってしまえばマシン語は、条件分岐(if文)と、ジャンプ(Goto文)しか存在しないのである。
あとは参照と代入処理だから構文には入らない。各種の演算も代入処理の一部に入る。
構造化プログラミングを実装した結果、
高級言語ではGoto文を使わなくてよくなっているが。
それは数学的には限定的な話。
構造化プログラミングの前提は、
「一つの入り口、一つの出口で成り立てるアルゴリズムなら、
Goto文を使わなくても基本三構文だけですべて実現できる」
の、数学的な証明だし。
条件分岐処理を入れ子状にしすぎて、複雑だからなかなか修正できない。
なのに途中から処理を別に移したいなんてときは、
ラベルを貼ってGotoする力技がある。他の処理への影響が怖いが。
Exitもできない窮地はしかたない。
逃げ道は確保して戦う、これは大前提だ。
『まず勝ちて、後に戦う』ことが重要で。(出典 『孫子』)
意味すら知らず、「背水の陣だ!」 などと叫ぶのは愚かだ。〆




