e-Gadget - プログラム関数電卓 Casio Basic: Int / Frac

Casio Basic: Int / Frac

Casio Basic
コマンドリファレンス

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/30以上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)

とする必要がある。




応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ




keywords: fx-5800PCasioBasicInt 関数Frac 関数プログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを作って、使ってナンボ!

プログラム電卓を実際に使って気づいたこと、自作プログラム、電卓での Casio Basic, C.Basic そして Casio Python プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではありません。いつでもどこでもプログラミングができるプログラム電卓が好きな1ユーザーです。


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR