Casio Basic: Int / Frac
Casio Basic
コマンドリファレンス
Casio fx-5800P、fx-9860GII、fx-CG20、fx-CG50 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
fx-5800P/ fx-9860GII / fx-CG20 / fx-CG50
Int関数 / Frac関数
◆概 要: Int 関数は数値の整数部を、Frac 関数は数値の小数部を取り出す
◆書 式: Int(引数) / Frac(引数)
Int や Frac は、関数電卓として内蔵されている関数機能。
※ Frac 関数では、内部精度15桁を超える引数を与えると、丸め誤差が発生する。Int 関数では、このような丸め誤差は発生しない。
Int や Frac の使用例
1) 整数Nを3で割った余りMを求める: Int( )関数の使用例
N-3Int(N÷3)→M
(証明)
任意の整数は3で割った余りが、必ず0、1、2のいずれかになります。
Nを3で割った時の余りをMとすると、整数Aを用いて
N = 3A+M ・・・(式1)
と表すことができます。従って余りMは、
M = N - 3A ・・・(式2)
となります。ここで、Mを求めるためには、Aを知る必要があります。
そこで、(式1)を変形して、
N/3 = A + M/3 ・・・(式3)
但し、M = 0, 1, 2 なので、M/3 は 0以上1未満になります (0 ≦ M/3 <1)。
従って、A + M/3 を小数で表すと、
A + 0.xxxxxxxxx
となります。
ここで、Aは整数なので、A+M/3 の整数部は、A になります。
これを Int( )関数を用いて表すと、
A = Int(A+M/3)
となり、(式3)から、Int( ) の引数は、N/3 に置き換えられるので、
A = Int(N÷3) ・・・(式4)
(式4)を(式2)に代入すると、
M = N - 3Int(N÷3)
が得られます。
(証明終わり)
2) 整数Nの偶数 / 奇数の判定:Frac 関数の使用例
If Frac(N÷2)
Then "N is odd"
Else "N is even"
IfEnd
Nが奇数の場合は、2で割り切れません。このとき N÷2 は整数にならず、小数を伴う数値になります。つまり、Frac(N÷2) は0になりません。「Frac(N÷2) が0でない」は、Frac(N÷2) が「真」です。If [条件]の[条件]が「真」なので、Then 以下を処理し、N is odd (Nは奇数) と表示します。
Nが偶数の場合は、2で割り切れます。このとき N÷2 は整数になり、小数部はありません。つまり、Frac(N÷2) は0になります。「Frac(N÷2)が0である」は、Frac(N÷2) が「偽」で、「真」でありません。If [条件] の[条件]が「真」でないので、Else以下を処理し、N is evern (Nは偶数)と表示します。
この場合、Frac の引数である N÷2 が、少数以下14桁になることはあり得ないので、丸め誤差が発生することはありません。従って Frac を使っても問題はありません。
( ) を使わない引数指定時の注意 [fx-9860GII や fx-CG20/CG50]
1.2→A
Int A+0.8
を実行した結果は 1.8 となる。Int の引数の範囲が A+0.8 ではなくて、A のみになっていることが分かる。
A+0.8 を引数にするには、( ) を使って、
1.2→A
Int (A+0.8)
とする必要がある。
応援クリックをお願いします。励みになるので...
keywords: fx-5800P、CasioBasic、Int 関数、Frac 関数、プログラミング入門、プログラム関数電卓
リンク集 | ブログ内マップ
コマンドリファレンス
Casio fx-5800P、fx-9860GII、fx-CG20、fx-CG50 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
2015/01/09 更新
fx-5800P/ fx-9860GII / fx-CG20 / fx-CG50
Int関数 / Frac関数
◆概 要: Int 関数は数値の整数部を、Frac 関数は数値の小数部を取り出す
◆書 式: Int(引数) / Frac(引数)
- fx-9860GII や fx-CG20/50 では、( ) なしで引数を書けるが、( ) を使っても問題ない
- fx-9860GII や fx-CG20/50 で引数に式を使う場合は、引数の範囲を明確にするために ( ) 使用を勧める
Int や Frac は、関数電卓として内蔵されている関数機能。
※ Frac 関数では、内部精度15桁を超える引数を与えると、丸め誤差が発生する。Int 関数では、このような丸め誤差は発生しない。
Int や Frac の使用例
1) 整数Nを3で割った余りMを求める: Int( )関数の使用例
N-3Int(N÷3)→M
(証明)
任意の整数は3で割った余りが、必ず0、1、2のいずれかになります。
Nを3で割った時の余りをMとすると、整数Aを用いて
N = 3A+M ・・・(式1)
と表すことができます。従って余りMは、
M = N - 3A ・・・(式2)
となります。ここで、Mを求めるためには、Aを知る必要があります。
そこで、(式1)を変形して、
N/3 = A + M/3 ・・・(式3)
但し、M = 0, 1, 2 なので、M/3 は 0以上1未満になります (0 ≦ M/3 <1)。
従って、A + M/3 を小数で表すと、
A + 0.xxxxxxxxx
となります。
ここで、Aは整数なので、A+M/3 の整数部は、A になります。
これを Int( )関数を用いて表すと、
A = Int(A+M/3)
となり、(式3)から、Int( ) の引数は、N/3 に置き換えられるので、
A = Int(N÷3) ・・・(式4)
(式4)を(式2)に代入すると、
M = N - 3Int(N÷3)
が得られます。
(証明終わり)
2) 整数Nの偶数 / 奇数の判定:Frac 関数の使用例
If Frac(N÷2)
Then "N is odd"
Else "N is even"
IfEnd
Nが奇数の場合は、2で割り切れません。このとき N÷2 は整数にならず、小数を伴う数値になります。つまり、Frac(N÷2) は0になりません。「Frac(N÷2) が0でない」は、Frac(N÷2) が「真」です。If [条件]の[条件]が「真」なので、Then 以下を処理し、N is odd (Nは奇数) と表示します。
Nが偶数の場合は、2で割り切れます。このとき N÷2 は整数になり、小数部はありません。つまり、Frac(N÷2) は0になります。「Frac(N÷2)が0である」は、Frac(N÷2) が「偽」で、「真」でありません。If [条件] の[条件]が「真」でないので、Else以下を処理し、N is evern (Nは偶数)と表示します。
この場合、Frac の引数である N÷2 が、少数以下14桁になることはあり得ないので、丸め誤差が発生することはありません。従って Frac を使っても問題はありません。
( ) を使わない引数指定時の注意 [fx-9860GII や fx-CG20/CG50]
1.2→A
Int A+0.8
を実行した結果は 1.8 となる。Int の引数の範囲が A+0.8 ではなくて、A のみになっていることが分かる。
A+0.8 を引数にするには、( ) を使って、
1.2→A
Int (A+0.8)
とする必要がある。
応援クリックをお願いします。励みになるので...
keywords: fx-5800P、CasioBasic、Int 関数、Frac 関数、プログラミング入門、プログラム関数電卓
リンク集 | ブログ内マップ
- 関連記事
-
- Casio Basic グラフィックス - 目次 2015/09/11
- Casio Basic: Getkey 2015/01/12
- Casio Basic: Int / Frac 2015/01/09
- Casio Basic: If~Then~IfEnd 2014/10/07
- Casio Basic: While~WhileEnd 2014/06/01