プログラミングU 第17回

数式の記法


この章では,変数(英字1文字)と四則演算子(+ - * /)だけからなる式を考えます.
ふつう,a-b*(c+d) のように,演算子を中に書き,次の約束をしてできるだけ括弧を省きます.
* / を + - より優先する.
* / どうし, + - どうしの場合は左を優先する.
この書き方を,中置記法と言います.
中置記法は,上の例の (c+d) のように括弧を省略できない場合がたくさんあります.
また,括弧を省略したり,省略した括弧を復元する手間がかかります.
演算子を前に書く前置記法,後に書く後置記法という書き方があります. それらは括弧を使わなくても演算の順序が一通りに決まるので便利な書き方です.
これを実行してみましょう.
中置記法の式を入力すると,木の形,前置記法,中置記法,後置記法で出力します.
ただし,入力は下の例のように括弧を省略しない形でないといけません.
  (a+b)
  ((a*b)+(c/d))
  (a-(b*(c+d)))
  z
これは,そのプログラムです.
ただし,前置記法,後置記法で書くプロシージャが未完成です.
課題
Tree2 を完成する.
提出期限   6月19日18時15分
プログラム名 Tree2 (1行目 Program Tree2; //学生証番号 氏名)
フォルダー名 Tree2-学生証番号

このプログラムの repeat ループの最後で Kaihou(Root) を実行しています.
これは,Tree を作るときに New() によってシステムから借りた領域をシステムに戻すものです.
これをしないと,借りっ放しで使わなくなった領域がどんどん増えてしまい, 場合によっては他のアプリケーションが実行できないなどの弊害が生じます.
借りたものは必ず返しましょう!