数学プリントを自動生成する その12_1 分数 クラスモジュールをつくる
はじめに
分数の計算です。
今回はまずクラスモジュールをつくります。
分数の特徴
分数といえば。
1. 分子
2. 分母
3. 表記方法
4. 約分
5. 通分
このあたりが特徴でしょう。
クラスモジュールではこれらのうち1~4を実現させます。
5は関数のほうで
クラスモジュール
名前は「Fraction」にします。
Public Va As Integer '分子 Public Vb As Integer '分母 Private Sub Class_Initialize() Va = 0 Vb = 1 End Sub Property Get Str() As String '-------------------- 'Va/Vb '-------------------- If Va = 0 Then Str = "0" ElseIf Vb = 1 Then Str = Va Else Str = Va & "/" & Vb End If End Property Function Fit() '--------------------- '約分 '--------------------- Dim L As Integer '最大公約数 L = Application.WorksheetFunction.Gcd(Va, Vb) Va = Va / L Vb = Vb / L End Function
分数の特徴とコードの対応は以下の通り。
特徴 | コード |
---|---|
分子 | Va |
分母 | Vb |
表記方法 | Str |
約分 | Fit |
たとえば。
Fraction型の変数「num」について。
コード | 意味 |
---|---|
num.Va=3 | 分子が3 |
num.Vb=8 | 分母が8 |
num.Str | ”3/8” |
num.Fit | 約分して分子と分母の数値を更新する |
のようになります。
分子や分母の値を使いたいときはVaやVbを、文字列として扱いたいときはFormを使えるという、なかなか便利な仕様です。
まとめ
今回はクラスモジュールの説明に1回分の記事を割きました。
クラスモジュールも、プリント作成においてとても大事なツールです。
次回はこれを使って分数の計算を実装します。