プログラミング(テーブル操作と金種)




テーブル操作と金種との間に、深い関係があるわけではないですが、プログラミング上ある共通のテクニックを使います。
テクニックとは、たぶん高校1年生あたりで習う、ガウス記号[x](Xを越えない最大の整数)です。しかし実社会では、「ガウス記号」とは言わず、単純に「小数を切捨てる」と言います。

テーブル操作

例で説明します。

たとえば、15個のデータ(A(0),A(A),〜,A(14)にデータが格納されている)があったとします。これを2次元テーブルに変換する必要がある場合のことです。

15個の変換先データの領域を、
T(0,0),T(0,1),T(0,2)
T(1,0),T(1,1),T(1,2)
T(2,0),T(2,1),T(2,2)
T(3,0),T(3,1),T(3,2)
T(4,0),T(4,1),T(4,2)
とします。

2次元テーブルにデータを入れる場合は、
T(0,0) = A(0)
T(0,1) = A(1)
T(0,2) = A(2)


T(4,2) = A(14)
のようにプログラムを作ってもいいのですが、実用的はありません。
通常は、インデックス操作を使います。

For I = 0 To 14
J = Int(I/3)   -----------I/3の小数部の切捨て。結果的に、商を求めています。
K = I - Int(I/3) * 3 -----3で割った場合の余りを求めています。
T(J,K) = A(I)
Next I

金種

金種とは、現金の額から、紙幣・硬貨の種類ごとの額を求めた結果のことです。
たとえば、ある会社で従業員に給与を現金で支払う場合、各従業員ごとに給与から金種を求め、会社が用意しなければならない1万円紙幣・5千円紙幣・1千円紙幣・500円硬貨・・・の、それぞれの合計を求めなくてはなりません。

それでは、金種を求めるプログラムを説明します。

Kyuyo  ----給与のデータが格納されている
Work   ----中間結果を格納
K10000 ----1万円の額
K5000  ----5千円の額
K1000  ----1千円の額
K500   ----500円の額
K100   ----100円の額
K50    ----50円の額
K10    ----10円の額
K5     ----5円の額
K1     ----1円の額

(Kyuyoの値が128269とします)
K10000 = Int(Kyuyo/10000) * 10000 ----------- K10000 = 120000
Work = Kyuyo - K10000             ----------- Work = 8269
K5000 = Int(Work/5000) * 5000     ----------- K5000 = 5000
Work = Work - K5000               ----------- Work = 3269
K1000 = Int(Work/1000) * 1000     ----------- K1000 = 3000
Work = Work - K1000               ----------- Work = 269
K500 = Int(Work/500) * 500        ----------- K500 = 0
Work = Work - K500                ----------- Work = 269
K100 = Int(Work/100) * 100        ----------- K100 = 200
Work = Work - K100                ----------- Work = 69
K50 = Int(Work/50) * 50           ----------- K50 = 50
Work = Work - K50                 ----------- Work = 19
K10 = Int(Work/10) * 10           ----------- K10 = 10
Work = Work - K10                 ----------- Work = 9
K5 = Int(Work/5) * 5              ----------- K5 = 5
k1 = Work - K5                    ----------- k1 = 4

ワンポイントテクニック

「小数を切上げる」関数は、
-[-X]
です。


不等式 関数 図形と方程式 軌跡と領域 微積分―整関数 公式集

「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook|