パーセント計算 | package入門(rpnマイスター編) [講座] | 逆ポーランド電卓の実践ウェブ rpn hacks!

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

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

rpn | 講座 | package入門 | ポテンシャルを飛躍的に高めるrpnパッケージを学習。

HOME > 講座 > package入門 > rpnマイスター編 > パーセント計算

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

パーセント計算

 物事の変化を見るとき、数値ではなく割合や比率を捉える感覚があると、一段上の視点で物事が見れます。以下のような問いにも、すぐに反応できたほうが数字に対する感覚は鋭くなるはずです。

  • 1300円の7割5分掛けはいくら?
  • 520kgあった商品が現在は380kg。在庫は初期の何割?
  • 2500円の商品を2000円で売ると何割引になる?

もちろん、rpnなら計算で答えは出てきます。でも、少々面倒です。

どうしても一旦、数値を計算する順番や数式を意識しないといけないので、思考が中断してしまいます。金融計算にもパーセンテージはよく使いますし、できれば数値とパーセント指定だけで答えが出てくれば思考中断もなく快適そうです。

そこで、rpnマイスターパッケージでは以下の3つのパーセント計算(%プログラム、%tプログラム、%dプログラム)を付加的な位置づけで用意しました。

パーセントを求める「%」

 市販の電卓に必ず付いている機能です。例えば、1300円の7割5分掛けがいくらかを知りたい時などに使います。%プログラムを使えば、市販の電卓と同じように直接的な計算ができます。

  >rpn 1300 75 -c %
  975


先に基準となる数値、次に割合をパーセントで指定します。答えは975円ですね。

全体の割合を求める「%t」

 全体の値は分かっている状態で、ある数値が何割になるのかを計算します。例えば、商品在庫が520kgあったものが380kgになっていたとき、在庫は最初に比べて何割になっているのかを知るときに便利です。

  >rpn 520 380 -c %t
  73.0769


rpnプログラムの%tは、先に基準となる数値、次に現在の数値を指定します。答えは73.0769です。なお、結果はパーセントで出力されます。

増減率を求める「%d」

 四則演算で計算すると意外に面倒なのが、2つの数値間の増減率です。例えば、2500円の商品を2000円で売る場合、何割引になるのかを知るときに割ったり1から引いたりと、ちょっとしたことですが面倒なものです。もっと簡単に計算できれば楽なのですが、その要求に応えるrpnプログラムが%dです。

  >rpn 2500 2000 -c %d
  -20


先に変化前の数値、後に変化後の数値を指定します。計算結果は-20です。マイナスなので20%の減少(2割引き)ということが分かりますね。当然、逆に2000円を2500円で売るときの増減率は以下のように計算できます。

  >rpn 2000 2500 -c %d
  25


25%の増加率ですが、同じ値が増えたり減ったりしたときの増減率が異なることに気づきます。増加率の非対称性です。

       +---- 2500円 <---+
  20% |500円     500円 | 25%
  減少 |減った    増えた| 増加
       +---> 2000円 ----+


株式を例にすると現実感があるかもしれません。ある銘柄の株価2500円が2000円になったときは20%の減少率なのですが、同じ2500円に戻るには25%の増加率が必要になるということです。

ちなみに、これは前述のrpnプログラム%tの逆計算に相当します。

  >rpn 520 380 -c %t
  73.0769

  >rpn 520 380 -c %d
  -26.9231


警告%、%t、%dは-cオプションで使用するプログラムなので、rpnに組み込まれている四則演算や関数とは一緒に使えないのが難点なのですが、単体で使う頻度が高いので、rpnマイスターパッケージとして提供しています。

半値八掛け二割引

 日経平均株価は1989年12月29日にザラ場で38957円を付けて、市場最高値をマークしました。それから約20年、マーケットはITバブルや平成バブルなど度々反騰を経験しながらも長期的には下落を続け、2008年10月28日に2番底の6994円をマークしました。

仮に1989年の年末に日経平均に連動する株式を保有していたとして、2008年10月末に至るまでの下落率はいくらになるのでしょうか。%dを使えばすぐに出てきます。

  >rpn 38957 6994 -c %d
  -82.0469


なんと82%もの下落率です。株式の長期保有者の嘆きが聞こえてきそうです。ところで、相場には半値八掛け二割引という格言があります。

株を買うときは高値の半値でもまだ早い。
それを八掛けして、さらに二割引になったら買ってもいい。

何とも大暴落時に役立ってくれそうな格言です。これをrpn式で計算すると以下のようになります。

  >rpn 38957 50 -c % | rpn 80 -c % | rpn 80 -c %
  12466.2


約1万2500円が格言が示す下落の限界です。ところが日経平均はまだ下げ続けて6994円になります。

  >rpn 38957 50 -c % | rpn 80 -c % | rpn 80 -c % | rpn 6994 -c %d
  -43.8963


格言から更に44%下げるわけです。仮に格言どおりに買ったとしても、株の評価資産が40%以上も下げた状態で保有を続けるのは、かなりの熟練者か肝っ玉の座った人以外は考えられませんね。

cashflowプログラムを使って計算すると分かりますが、最高値から2番底までの18.8年の間、年率にして実に8.7%のマイナス成長です。株価と経済が相関すると仮定すると、年成長率-8.7%の国が元気なわけがありません。

情報本講座で使用したプログラムは、rpnマイスターパッケージとして購入することができます。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

rpnマイスターパッケージ

マイスター

ユーティリティー

カレンダー

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

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

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

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

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