0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DNCLで逆ポーランド記法電卓を作ってみた

0
Posted at

はじめに

この記事は 共通テスト手順記述標準言語 (DNCL) Advent Calendar 2025 の13日目の記事です。

DNCLで逆ポーランド記法電卓を作ります。キューというデータ構造を使います。

↓キューについては下の記事をご覧ください。

逆ポーランド記法電卓を書こう

関数スタック()は空のスタックを返します。
関数名前.push(値)はスタック名前の一番上にを追加します。
関数名前.top()はスタック名前の一番上の要素を取得します。
関数名前.pop()はスタック名前の一番上の要素を取得した後、削除します。
関数要素数(名前)はスタック名前の要素数を返します。

逆ポーランド記法電卓
shiki ← {3,4,+,2,*,7,-}
stack ← スタック()

i ← 0
i < 要素数(shiki)の間、
|  token ← shiki[i]
|  もし tokenが数字である ならば
|  |  stack.push(token)
|  を実行し、そうでないならば
|  |  a ← stack.pop()
|  |  b ← stack.pop()
|  |  もし token == "+" ならば
|  |  |  stack.push(a + b)
|  |  を実行し、そうではなくもし token == "-"ならば
|  |  |  stack.push(b - a)
|  |  を実行し、そうではなくもし token == "*"ならば
|  |  |  stack.push(b * a)
|  |  を実行し、そうではなくもし token == "/"ならば
|  |  |  stack.push(b ÷ a)
|  |  を実行する 
|  i ← i + 1
を繰り返す

stack.top()を表示する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?