計算プリントを自動生成する その8 割り算の計算
はじめに
足し算、掛け算、引き算と来てようやく割り算。
割り算の実装の仕方も引き算と同様です。
今回は「Int_Multiplication」から「Int_MulDiv」を一気に作ります。
そんなに言いたいこともないのでサクッとコードを書いて終わりにしましょう。
自動化してみる
ひながたは今回は省略。
前回付け足した「version」変数を使って以下の変数を制御します。
Int_MulDiv
MulDivってなんか人の名前に見えますね。
Function Int_MulDiv(version, level) As String '---------------------------------- '整数の計算式を生成する 'version=1は掛け算 'version=2は割り算 '---------------------------------- '---------------------------------- '扱う変数の定義 '---------------------------------- Dim num() As Integer '指定する数値 Dim ans As String 'strに戻す値 Dim tmp As Integer 'numを入れ替えるための変数 '---------------------------------- 'numの値の決定 '---------------------------------- num() = Int_MulDiv_Num_Select(level) '---------------------------------- '割り算用の処理 '---------------------------------- If version = 2 Then tmp = num(1) num(1) = num(3) num(3) = tmp End If '---------------------------------- '計算式を文字列にする '---------------------------------- Select Case version Case Is = 1 ans = "a×b=c" Case Is = 2 ans = "a÷b=c" End Select ans = Replace(ans, "a", num(1)) ans = Replace(ans, "b", num(2)) ans = Replace(ans, "c", num(3)) '---------------------------------- '文字列を戻す '---------------------------------- Int_MulDiv = ans End Function
Int_MulDiv_Num_Select
命名法にのっとって「Int_Multiplication_Num_Select」の名前を変えただけです。
まとめ
この統合は概念的にはだいぶ大きい変化な気がするのですが
コードにしてみると全然大したことないですね。
ちょろっと数行足しただけだし。
別に関数を足したわけでもないし。
こちらもAddSubと同様にlevelの反映が適切かどうか疑問ですが
やっぱり保留!
次回はAddSubとMulDivを統合しようと思います。
統合というか仕分けが似ている関数を合併するだけというか。。