データを転がして計算しよう [基礎] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 基礎 | あなたもできるたった「5つ」のステップでカンタンにrpn電卓をマスター。

HOME > 基礎 > データを転がして計算しよう

hatena twitter facebook rss ソーシャルブックマーク

データを転がして計算しよう

 実物の電卓を模倣した電卓ソフトでは、どれだけがんばっても実物にはかないません。どんなにキレイなグラフィックで着飾っていても、リアルなキータッチ音があっても本物の手触り、質感、クリック感を超えることはできないのですから。

それに実物の電卓で大変だった大量データの計算や、キー入力のミスをパソコン上の電卓ソフトで繰り返しては何の意味もありませんよね。やはり、電卓ソフトならではの特長がなければ意味がありません。実物にはできない特長を持った何かをです。

また、表計算ソフトに対してですが、電卓ソフトはどんなに背伸びしても表計算にはかないません。表計算の多機能、グラフの多さ、マクロなど、もはやパソコンの高級言語レベルです。でも、そんな表計算も起動するのが遅かったり計算手順を毎回打ち込んだりで、結構面倒なものです。ちょっと計算したいだけなのに大袈裟にシートを広げる感じです。

そんな実物の電卓と表計算ソフトの間を埋める電卓ソフトがrpnです。rpnには他の電卓ソフトにはないユニークさがあります。その一番の特長がこのデータを転がして計算するスタイルです。さっそく、例題でその様子を見てみましょう。

表計算ソフトで計算すると面倒…

 ここに、商品の価格と受注数量を記したテキストファイル"order.txt"があるとします。大量のデータを用意してもいいのですが、説明のために8行だけのファイルとしますね。

  +--order.txt
  | 1500  5
  | 3800  1
  | 2400  2
  | 2400  1
  | 2400  4
  | 1200  5
  | 2400  3
  | 1500  5
  +----------


このorder.txtファイルが毎日あなたの手元に届くとします。そこで、このファイルを使って消費税込みの金額を出してみることにします。なお、計算した金額はorders.txtというファイルに追加保存しておきます。

この程度は朝飯前の例題ですね。表計算の場合、大体次のような手順になります。

  1. 表計算のファイルを開くで、order.txtを読み込む。
  2. テキストファイルウィザードで各種設定をする。
  3. 表計算の式でC1のセルに「=A1 * B1」を入力。
  4. C1のセルを選択して、C1からC8までドラッグしてコピー。
  5. C9のセルに「=sum(C1..C8)」を入力。
  6. C10のセルに「=C9*1.05」を入力。
  7. C10のセルをコピー。
  8. 表計算のファイルを開くで、orders.txtを読み込む。
  9. テキストファイルウィザードで各種設定をする。
  10. ファイルの最後尾に形式を選択して、値をコピー。
  11. order.txtとorders.txtを保存終了。

こんな感じですね。作業は簡単でも手順を示すと結構な量になります。表計算のソフトは何種類かあるのでしょうが、どれも大体同じような操作手順になるでしょうから、これ以上簡略化するのは難しいでしょう。

rpnで計算すると速攻解決!

 では、これをrpnで計算するとどうなるでしょうか。実物の電卓より強力に計算できて、表計算よりも素早く手軽に計算できる…。そんな方法があるのでしょうか。そこで、rpnが提案する計算スタイルが次になります。

>rpn * <order.txt | rpn -c sum | rpn 1.05 * >>orders.txt


なんと、これだけ。一行で計算しています。たったこれだけでも、order.txtから価格と数量を掛けて、合計を出して、消費税込みで金額を出し、最後にorders.txtに追加保存しています。

これはDOSのリダイレクトやパイプの仕組みを利用して、rpnが答えを順番にリレーして最終的な答えを出しているからできるワザなのです。このあたりの説明はdos入門のリダイレクトパイプに詳しくありますので、興味のある人は後からじっくり読んでみてください。今の時点では、”そういう使いかたができるんだ”ということで留めておいて大丈夫です。

でも、何をしているのか分からないと不満が残りますよね。そこで、①から④の番号を振って、それぞれ何をしているのかちょっと謎解きをしてみます。

            データ             データ       データ
       +--------------+        +---+        +---+
       |              |        |   |        |   |
       |              v        |   v        |   v
  >rpn * <order.txt | rpn -c sum | rpn 1.05 * >>orders.txt
         ①               ②           ③          ④ 


  ①orderx.txtの価格と数量を掛けています。その答えをデータとして、次に渡します。
  ②次のrpnは渡されたデータを合計して、また次に渡します。
  ③最後のrpnは渡されたデータに消費税分を掛けて、また次に渡します。
  ④このデータを答えとして、orders.txtに追加記録します。


この一連の計算で、データがrpnの間を転がっていくイメージがつかめるでしょうか。具体的に計算途中のデータも見えるようにして図解すると以下のような感じです。

                   7500
                   3800
   価格と数量を    4800     合計して…           消費税を
         掛けて…  2400                            掛けて…
      +----------> 9600 ---+
      |            6000    |        +-> 48800 --+        +-> 51240
      |            7200    |        |           |        |
      |            7500    v        |           v        |
  rpn * <order.txt         rpn -c sum           rpn 1.05 *


イメージできましたか。データを水に例えると、何段かの滝があって一つ一つ滝を落ちていく感じですね。それぞれのrpnがデータを転がしていくことで計算をこなしていく感じです。

とにかく、order.txtが届けば、毎日以下の一行を実行するだけでいいのです。起動の面倒さも手直しも計算間違いも一切ありませんから、快適ですね。

  >rpn * <order.txt | rpn -c sum | rpn 1.05 * >>orders.txt


それに電卓と違って、どれだけorder.txtが大量でも難なく計算しますし、表計算のようにデータ量の増減にともなって、毎回手作業でセルの数式を変更することもありません。

情報rpnはバッチファイルという方法で手作業を極力なくすこともできます。そうすることで、数文字のキー入力で実行でき、処理時間も数秒に短縮できます。


逆ポーランドのまとめ

 今回はちょっと難しかったかもしれません。しかし、rpnのほとんどの利用方法は前回の「プログラムで計算しよう」までで十分です。本ウェブサイトの記事も読むだけなら問題なく理解できるはずです。

広報これまでの記事をまとめてあります。逆ポーランド記法の基本とrpnの実行方法、およびrpn導入に関する話を掲載してあります。

道標逆ポーランド記法のまとめLinkIcon
道標逆ポーランド電卓のまとめLinkIcon

さぁ、逆ポーランドを楽しもう!

 逆ポーランド電卓のrpnは、小さい頃から慣れ親しんだ計算の世界とは違います。

たとえ、計算方法がちょっと変わっていても慣れてしまえば、普通の電卓よりも遥かに使いやすく、知らないうちに計算にも強くなれるのです。

是非、この機会に逆ポーランド電卓rpnの世界を楽しみましょう。

広報わかりやすいウェブサイトの閲覧ガイドがあります。初めは簡単なコーナーから読み進めて、徐々に気に入ったコーナーを閲覧していくとよいでしょう。

道標ウェブサイトの閲覧ガイドLinkIcon

広報右サイドバーに姉妹サイト「電卓ソフトで学ぶオンライン講座電卓ソフトで学ぶオンライン講座」もあります(別ウィンドウで開きます)。すぐに役立つオンライン講座の紹介です。お金に関する講座、データ分析やビジネス統計、株式投資、その他各種オンライン講座の概要を分かりやすく解説しています。

rpnを実際に試してみたくなったら  

広報rpnには標準版と試用版があります。ビジネス等、本格的に使うrpn標準版LinkIconが必須です。

広報逆ポーランド電卓を試したいだけならrpn試用版(無料)でも、ほとんどの例題を実行することができます(機能の一部に制約あり)。

オリジナル.bmp rpn標準版と試用版の違いLinkIcon
動画 rpnソフトウェアの動画デモLinkIcon

rpnをウェブでダウンロードしたら  

わかりやすいrpnのインストール方法とrpnの使い方の説明があります。

オリジナル.bmp rpnのインストールLinkIcon

紹介 rpnの利用シーンはこちら…

講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ
物語気楽に読めるrpn物語もどうぞ

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲って下さい。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。




[すぐに役立つオンライン講座の紹介]


電卓ソフトで学ぶオンライン講座