ページ

2011-07-11

今日のプログラミングの授業

私は専門学校に通っていまして、専門は電気と情報です。

今日のプログラミングの授業は逆ポーランド記法というやつをやりました。
これは数式の記法で、例えば(5-1)*(3+2)というのがあったとすると、
逆ポーランド記法で表すと、51-32+*  という不可思議な文字の列になります。

この逆ポーランド記法で入力する方が、プログラムは数式を判断しやすいのかな?

先生いわく、電卓で括弧をつけるのがめんどい人は、この逆ポーランド記法で
処理する電卓を使っているんだって。

この逆ポーランド記法を入力して答えを求めるプログラムはスタックを用います。

さっきの51-32+* なら、左から読み込んでいって、スタックに詰め込んでゆきます。
そして演算子(+とか)を読み込むと、スタックに詰まっているデータを2こ引っ張
りだして演算し、またその結果をスタックに詰め込みます。

こうすることによって、数式を判断し、計算できる訳です。

授業では、スタックのデータ構造はサンプルデータの通り真似しただけで、逆ポーラ
ンド記法の所を作っていくだけだったので、簡単でした。(エラーはたくさん出てき
ましたが…)

2 件のコメント:

  1. はじめまして.
    逆ポ―ランド記法は逆ポと略すといいかもしれません.
    逆ができたなら次はポーランド記法のプログラムをつくってください.

    返信削除
  2. コメントありがとうございます。

    そういえば「逆」ポーランド記法なんですよね。
    ということはポーランド記法もあるんですか。

    機会があれば試してみます。

    返信削除