2020.8.12
前へ
次へ
ホームページトップへ戻る

[新連載]復活!TINY BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
すべてはここからはじまりました。
中日電工も。
40年前を振り返りつつ新連載です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第63回]


●Expressions(式)の計算プログラム

Expressions(式)の計算については[第4回]で簡単に説明をしました。
式(数式、論理式)の計算プログラムはいかにもコンピュータ的なプログラムです。
昔は「電子計算機」などと言っていたのですから、そういうことからしても、これから説明する部分はTINY BASICでも最もコアになる部分だといえましょう。



プログラムは大きく4つのサブルーチンに分かれています。
’EXPR’は式の算術演算または論理演算を行ないます。
式計算のもっとも上位にあるプログラムですが、下位のプログラムの中でもCALLされます。
そのようなプログラムをRECURSIVE(再帰的)なプログラムと言います。
プログラムの中で自分自身を呼び出すことができます。
たとえば式の計算(EXPR)の中で配列@を使うこともできますが、その配列の添え字として@(EXPR)のように計算することが可能です。
なんだかちょっと面食らってしまいそうです。
<EXPR>の構造は単純に<EXPR2>だけからなる場合もあれば<EXPR2><関係演算子><EXPR2>の場合もあります。
後者の場合には論理演算となって結果の値は1(真)または0(偽)になります。
<EXPR2>は(+または−)<EXPR3>(+または−)<EXPR3>(.....)のような構造になっています。
<EXPR3>を+または−で複数つないだ形です。
<EXPR3>は<EXPR4>(* OR /)(<EXPR4>(.....)のような構造になっています。
<EXPR4>を*または/で複数つないだ形です。
<EXPR4>は変数または関数または(<EXPR>)です。
関数の引数として<EXPR>を使うこともできます。

うーん。
ややこしい!
BASICの式計算プログラムの構造をプログラムで示すとそういうことになります。
普通に数式の法則としてそれほど深く考えないで使っていることです。
しかし()の多重使用とか*/+−の優先順位などを考えると、それをどのようにしたらプログラムとして実現できるのか、それは非常に難しいアルゴリズムだと思います。
そこのところをTINY BASICのプログラムは上記の<EXPR>〜<EXPR4>に分けてサブルーチンにすることで、非常に短いプログラムとしてまとめています。
<EXPR>、<EXPR2>、<EXPR3>、<EXPR4>の各プログラムのリストを下に示します。









これから各プログラムリストを見ながら説明をしていくことにしますが、最初はやはり最下層のEXPR4:から説明をするのがよいように思います。
本日はちょっと時間がありませんので、次回から説明をはじめることにいたします。

復活!TINY BASIC[第63回]
2020.8.12upload

前へ
次へ
ホームページトップへ戻る