MOD( - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/08/17
追記修正 2018/08/18


[純正 / C.Basic] [FX / CG]


MOD(




整数の剰余を計算する。

(書式) MOD(A,N)
整数 A を 整数 N で割った余りを返す。

(キープレス) [OPTN] [F6](▷) [F4](NUM) [F6](▷) [F4](MOD)

(例)
 MOD(7,3)
※ 7 を 3 で割った余り 1 を返す。

(例)
  14→A
  5→N
  MOD(A,N)→M
  Locate 1,1,"M="
  Locate 3,1,M
  ※ 14 を 5 で割った余り M = 4 を出力する。

(注意) A や N が負の整数の場合は、AN で割った余りにならない。
MOD_Schematic2  
AN が負の整数の場合は、上表から分かるように 0, 1, 2 が繰り返すような計算結果になる。

※ 取扱説明書には "除算を行った際の余りを求める関数" とあるが、必ずしも正しくない。
※ この仕様は Casio Basic 特有のもので、特定の処理では役立つが、自然数に限定して使うのが良いかも知れない。



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


 



keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング



関連記事

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

コマンドリファレンス - Casio Basicプログラミング

Casio Basicプログラミング - コマンドリファレンス・トップ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/09
追記修正 2019/08/17


純正Casio Basic と C.Basic に共通のコマンドがあり、C.Basic で純正コマンドを拡張したものがあり、さらに C.Basic 独自のコマンドがある。

入力コマンド


出力コマンド
 [純正 / C.Basic] [FX / CG] Menu

制御コマンド
 [純正 / C.Basic] [5800 / FX / CG] If ステートメント
 [純正 / C.Basic] [5800 / FX / CG] For ステートメント
 [純正 / C.Basic] [5800 / FX / CG] While ステートメント
 [純正 / C.Basic] [5800 / FX / CG] Do ステートメント
 [純正 / C.Basic] [5800 / FX / CG] Prog
 [純正 / C.Basic] [5800 / FX / CG] Return
 [純正 / C.Basic] [5800 / FX / CG] Break
 [純正 / C.Basic] [5800 / FX / CG] Stop

 [C.Basic] [FX / CG] Switch ステートメント
 [C.Basic] [FX / CG] ElseIf
 [C.Basic] [FX / CG] Gosub



 [C.Basic] [FX / CG] Local
 [C.Basic] [FX / CG] ACBreak

文字列
 [純正 / C.Basic] [FX / CG] + (文字列結合)
 [純正 / C.Basic] [FX / CG] StrJoin( 
 [純正 / C.Basic] [FX / CG] StrLen(
 [純正 / C.Basic] [FX / CG] 
StrCmp(
 [純正 / C.Basic] [FX / CG] StrSrc(
 [純正 / C.Basic] [FX / CG] StrLeft(
 [純正 / C.Basic] [FX / CG] StrRight(
 [純正 / C.Basic] [FX / CG] 
StrMid(
 [純正 / C.Basic] [FX / CG] Exp▸Str(
 [純正 / C.Basic] [FX / CG] Exp(
 [純正 / C.Basic] [FX / CG] StrUpr(
 [純正 / C.Basic] [FX / CG] StrLwr(
 [純正 / C.Basic] [FX / CG] StrInv(
 [純正 / C.Basic] [FX / CG] StrShift(
 [純正 / C.Basic] [FX / CG] StrRotate(

 [C.Basic] [FX / CG] ToStr(
 [C.Basic] [FX / CG] StrChar(
 [C.Basic] [FX / CG] StrCenter(
 [C.Basic] [FX / CG] Hex(
 [C.Basic] [FX / CG] Bin(
 [C.Basic] [FX / CG] StrRepl(
 [C.Basic] [FX / CG] 
Sprintf(
 [C.Basic] [FX / CG] 
文字列変数 Str

座標変換
 [純正 / C.Basic] [FX / CG] Pol( / Rec(

関数
 [純正 / C.Basic] [FX / CG] MOD(


グラフィックス


行列



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


 


keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング

リンク集 | ブログ内マップ




関連記事

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

fx-5800P で Mod を使いたい - Casio Basicプログラミング

Casio Basicプログラミング
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2015/06/12
修正 2018/08/17

[純正] [5800P]
fx-5800P で整数の割り算の余りを求める Mod 関数を使いたい。



カシオのグラフ関数電卓 fx-CG50 / CG20 や fx-9860GII などに実装されている Mod 関数が、fx-5800P には無い。そこで、fx-5800P のプログラムで Mod 関数と同じ機能を実装する。


fx-9860GII などのグラフ関数電卓の Mod 関数
Mod は剰余を得る関数。fx-CG50 / CG20 や fx-9860GII では、1373 で割った余りは、Mod (137,3) で得られる。整数を格納した変数 AN を用いて、Mod (A,N) とすれば、AN で割った余りが求められる。


fx-5800P で Mod 関数と同じ機能を実現する
正の整数 A を 正の整数 N で割った時の商 Q と余り M は、以下の関係になる。

A = QN + M  ・・・(1)

一方、商 Q は以下のように現せる。

Q = Int(A÷N)  ・・・(2)


式(2) の Int( ) は、小数点を以下を切り捨てた結果の整数を求める関数だ。
式(2) を使って、式(1)の Q に代入すると、

A = N・Int(A÷N) + M

従って、式を変形して、余り M は以下の式(3)で現される。

M = A - N・Int(A÷N)   ・・・(3)


fx-5800P では、Mod(A,N) の代わりに以下の記述をすれば良い;

A-NInt(A÷N)

[2019/08/17 修正]
但し、Casio BasicMOD(A, N) と同じ動作とするには、A ≧ 0、N ≧ 0 (A, N0以上の整数) が前提条件となる。




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


 



keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング

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

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

fx-5800P Casio Basic をPCでコーディング - CcEditor

2018/02/12
追記修正 2019/08/13

fx-5800P の Casio Basic をPCでコーディング - CcEditor

[2019/05/06] CcEditor が Ver 2.2 にアップデート
ダウンロードはこちら


Pclink_fx-5800P_2
fx-5800P の Casio Basic プログラムがPCとデータリンク可能になったことを既に紹介している。

ついに fx-5800P がPCリンク可能になった

一旦PCにバックアップされたプログラムをPC上で編集するためのエディタ - CcEditor が、同じく takumako様により公開されている。

CcEditor は、CcLinker でバックアップしたプログラムの編集だけでなく、最初からプログラムを書ける。さらに fx-5800P で公開されていない隠し機能を使って、Casio Basic を拡張して使うこともできる。

そこで、実際に CcEditor を 現時点で最新バージョンの Windows 10 で使ってみたので、紹介する。


目 次

  CcEditor のダウンロードと起動

  CcEditor の基本コンセプト

  CcEditor の操作と拡張機能
    CCLファイルのインポート&プログラム変更 ⇒ fx-5800P へ転送
    CcEditor だけでプログラム作成 ⇒ fx-5800P へ転送





CcEditor のダウンロードと起動

CcEditor 最新版は ダウンロードページ からダウンロードできる。

ダウンロードし最初に実行すると、Windows の保護機能が発動する。

PC_Protection.PNG

詳細情報 をクリックすると [実行] ボタンが現れるので、これをクリックして 実行。次回からは保護機能の警告は出ない。


[2018/08/07 追記]
 CcEditor Ver 1.6e 以降は、この問題を回避するために フリーの圧縮解凍アプリ CGA にで圧縮されたファイル(拡張子がCGA)での提供に変更されている (詳しくはコチラを参照)。



<目次に戻る>



CcEditor の基本コンセプト

CcEditor の基本コンセプトを理解するとスムーズに使える。先ず File メニューを示す。
Booted_CcEditor13.PNG

Project (プロジェクト)、Build (ビルド)、Import (インポート) という項目があることに着目して欲しい。

fx-5800P から CcLinker でPCにバックアップすると拡張子が ccl の CCL ファイルフォーマットになる。
また CcEditor が扱う専用ファイルフォーマットには、CCLファイル に加えて拡張子が cce の CCEファイルがあり、CcEditor で編集した内容を保存するために用いる。CcEditor の編集画面は、fx-5800P のプログラム編集画面よりもコードが見やすくなっており、そのための特殊文字や制御文字を加えて内容を保存するための専用フォーマットにしているのが CCEファイルだ。

さて、CcEditor は単なるエディタではなく、簡易的なプログラム開発環境になっていると理解すると良い。つまり CCEフォーマットで扱うファイルは Project (開発プロジェクト) ファイルという扱いになっていて、fx-5800P に転送できるフォーマットになっていない。

そして編集が終われば、一旦 Build (ビルド)という操作を行って、fx-5800P に転送するための最終的な CCLフォーマットに変換する。この概念は、コンパイラ型言語 (C++ や C# など)と同様で、プログラムコードはプロジェクトファイルとして編集・保存し、これをコンパイル&ビルドすることで、実際に使える実行ファイルや中間コードファイルに変換する、という考え方に基づいている。

なお、File メニューに Import (インポート) 項目があり、これは CCL ファイルを取り込む操作だ。


以上をまとめると、CcLinker でバックパップした CCL ファイルImport (インポート)で読み込んで編集できる。それをファイルとして保存するには、CCE ファイル ( = Projectファイル) として保存する。CCEファイルを Build (ビルド)すれば fx-5800P に転送可能な CCLファイルに変換して保存する。

CcEditor で最初からコーディングすることもできる。その場合も CCE ファイル (= Projectファイル) として編集・保存する。或いは Build (ビルド)することで fx-5800P に転送可能な CCLファイルとして保存する。いずれにせよ CcLinker で fx-5800P に転送する前に、CcEditor で Build して CCLファイルに変換しておく必要がある。

以上の概念を理解すると、CcEditor をスムーズに使えると思う。
<目次に戻る>



CcEditor の操作と拡張機能

代表的な使い方を試したので、それを紹介する。拡張機能は随時追加されているので、ここでは全て触れていない。

[2019/05/08 追記] デバッグモード
デバッグモードが秀逸だ。fx-5800Pを CcLinker で接続した上で CcEditor の画面でデバッグができる機能だ。指定変数値のウォッチ、ブレークポイントの設定が可能で、PCの広い画面でデバッグができるため、プログラム全体の見通しが良くなり、とても効率が良い。⇒ デバッグモードの説明

詳細は takumako様のCcEditorのページで確認して欲しい。


CCLファイルのインポート&プログラム変更 ⇒ fx-5800P へ転送

初めて使うことを想定して、少し細かく説明する。

題材として、以前紹介している ピタゴラス数を計算して表示するプログラム (PYTHAGORAS) を変更して fx-5800P へ転送してみる。

PYTHAGORAS の CCL ファイル (PYTHAGORAS COMP 0142.ccl) のダウンロード
事前にダウンロードしたファイルを 全て大文字のファイル名 PYTHAGORAS として fx-5800P に転送して欲しい。その上で、以下の説明を見ながら、実際に操作して進めると分かり易いと思う。。

さて、CcLinker で fx-5800P から (再度) PCに転送し、ファイル名を小文字混じりの Pythagras.ccl として転送 (バックアップ) する。操作方法は "ついに fx-5800P がPCリンク可能になった" 参照。

CcEditor を起動し、PYTHAGORAS.cclImport で読み込む。
Import_Pythagoras13.PNG 

ファイル選択ダイアログで、PYTHAGORAS COMP 0142.ccl を選んで、[開く] をクリックする。

PYTHAGORAS COMP 0142.ccl が読み込まれ、ソースが表示される。
Imported_Pythagoras13.PNG 

このプログラムは、終了させるには [AC] キーを押す。そこで、[AC]たけでなく [EXIT]キーでも終了できるように変更してみる。
ここでは、例えば下から9行目の Doの下に

Getkey=73⇒0→L

を追加、Lbl 0 の上に

1→L

を追加し、最後の行を

L⇒Goto 0
Cls

に変更してみる。これで、ピタゴラス数が連続表示されている時に [EXIT] キーを長押しすると、画面クリアしてからプログラムが終了するようになる。

プログラムコマンドは、[Program]ボタンを押して現れるコマンドリストから入力する。"", "="、""、"Getkey" はコマンドリストから入力、数字はキーボードから直接入力できる。

変更が終わったので、一旦 CCE ファイルとしてプロジェクトを保存する。

[File] - [Project] - [Save] とすると、
Save_Project_PYTHAGORAS_CCE_13.PNG 

ファイル選択ダイアログが表示されるが、ファイル名の欄は左詰めになっていないので、左端までスクロールしてファイル名を確認する。[2018/02/21 追記] Ver 1.3 で左詰め表示がされるようになった。

ここでは、試しに 頭の P 以外を小文字にしたファイル名 (Pythagoras.ccl) にしてみる。
Pythagoras_Save.PNG 

[開く] をクリックすると、プロジェクト Pythagoras.cce が保存される。指定フォルダに保存されていることを確認する。

Check_Saved_Pythagoras.PNG
さて、プログラム文法をチェックするために、[File] - [Check] を選択。
Check_Pythagoras13.PNG 

Check
されると、コマンドに色が付く。もしエラーがあればエラーメッセージがポップアップする。
Checked_Pythagoras13.PNG 

fx-5800P に転送可能な CCL ファイルに変換するために、[File] - [Build] を選択すると、
Build_Pythagoras13.PNG 

Check
を選んだ時と同じ文法チェックが自動的に行われ、エラーがなければ、確認ダイアログが現れる。

Building_Pythagoras13.PNG 

[はい] をクリック

FileSelect_Final_CCL.PNG

ファイル選択ダイアログで [開く] をクリックして、Pythagoras COMP.ccl を保存する。ここでオリジナルの Pythagoras.ccl とは異なるファイル名にしておくことを勧める。

Saved_Pythagoras_CCL.PNG
Pythagoras COMP.ccl が保存されていることを確認。

最後にこれを CcLinker で fx-5800P に転送する。そこで先ず、fx-5800P と CcLinkerドングルを繋ぎ、ドングルをPCに刺し、CcLinker を起動する。

或いは CcEditor Ver 2.0  以降では Add-In 機能から CcLinker を直接呼び出せる。

StartUp   

fx-5800P で [MODE] - [▼] - [1](1:LINK) - [2](2:Receive) を押すと、CcLinkerアプリは自動的に Transmit モードになり、ファイル選択ダイアログが表示される。ここで Pythagoras COMP.ccl を選ぶ。

Transmit_Pythagoras_CLL.PNG

[開く] をクリック (或いは ファイルをダブルクリック) すると転送が始まる。

転送が正常に終わると fx-5800P と CcLinnker の両方で Complete! と表示される。 

fx-5800P で動作確認してOKなら、プログラム変更は成功だ。



CcEditor の拡張機能 (1) - 小文字ファイル名が使える

fx-5800P のプログラム名は大文字アルファベットと数字に限定されるが、上の例のようにファイル名に小文字を使ってfx-5800Pに転送すると、大文字だけのファイルと共存できることが分かる。
<目次に戻る>


CcEditor だけでプログラム作成 ⇒ fx-5800P へ転送

CcEditor で最初からプログラムを作る例を紹介する。

CcEditor を起動する。
Started_CcEditor13.PNG

Project 名が Default、その右で動作モードが COMP になっている。
ここでは、Project 名に test と入力、動作モードは COMP のままにする。そしてプログラムコードを入力する。
test_code13.PNG 

プログラムコードは下記のようにした。赤文字部分は純正Casio Basicでは入力できない表記だ (ところが実行するとエラーにならない、以下参照)。

"CcEditor Test"
1→a
2→αⓑ
Locate 1,2,
a①+αⓑ



CcEditor の拡張機能 (2) - 表示に小文字アルファベットやギリシャ文字が使える
純正Casio Basic では入力できない小文字アルファベットやギリシャ文字、添え字を文字列の1部として出力できる。

CcEditor の拡張機能 (3) - 小文字アルファベット、ギリシャ文字が変数として使える
  • 純正では使えない小文字アルファベットが変数として使える。
  • 純正で使えないギリシャ文字が変数として使える。
はエディタでの表示は〇に囲まれているが、1文字変数の添え字となる。
プログラムを fx-5800P に転送すると、電卓上では、添え字付き変数 a1αb と表示される。それぞれ1文字変数の添え字になっていて、変数として正常に使える。添え字が異なると別の変数として使えるので、使える変数が大幅に増える。

小文字アルファベットの入力は、キーボードから直接入力できる。
ギリシャ文字や〇で囲まれる添え字は、[Function] ボタンを押して現れる Functionメニューで [ALPHA] を選び、プルダウンメニューから選んで入力する。

Surfix_number.png


CcEditor の拡張機能 (4) - 1文字変数に添え字を付加して別変数として使える
  • [Function] ボタン - [ALPHA] ⇒ プルダウンメニューから入力
  • 〇に囲まれた文字は添え字入力に使う

入力が終われば、一旦 test プロジェクトとして保存 (test.cce 保存)。そして Build して CCL ファイル (test.ccl) に変換する。
最後に CcLinker で fx-5800P に転送する。

転送後、Prog List では小文字のプログラムファイル名 test が見つかる。コードを表示させると以下のようになる。

"CcEditor Test"
1→a1
2→αb
Locate 1,2,a1b

これを実行すると、出力は以下になり、小文字アルファベットやギリシャ文字が添え字付きで変数として正常に使えていることが分かる。

CcEditor Test
3


なお、これらの 小文字出力や 小文字変数、ギリシャ文字変数、添え字付き変数は、fx-5800P の Casio Basic に既に備わっている隠し機能であり、CcEditor によってこれら隠し機能が使えるようになる。
<目次に戻る>



今後、必要に応じて随時追記・修正してゆく。




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


 



keywords: fx-5800PCasioBasic、データリンク、CcLinker

リンク集 | ブログ内マップ



関連記事

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

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

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR