Casio Basic: Prog
Casio Basic
コマンドリファレンス
Casio fx-5800P、fx-9860GII、fx-CG20、fx-CG50 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
最終更新 2017/01/03
fx-5800P / fx-9860GII / fx-CG20 / fx-CG50
Prog
◆ 概 要: サブルーチン呼出コマンド (プログラム呼出コマンド)
◆ 書 式: Prog "[プログラム名]"
◆ 引 数: プログラム名
◆ 戻り値: なし
Prog はプログラムを呼び出しすコマンドです。
プログラム中でプログラムを呼び出すので、サブルーチン呼び出しに使えます。
メインルーチンとサブルーチンは、いずれも独立したプログラムであって、メインルーチンとサブルーチンの違いは呼出関係で決まります。呼出元のプログラムをメインルーチンと呼び、呼び出されるプログラムをサブルーチンと呼びます。サブルーチンとして作成したプログラムも、それだけで独立して動作します。
呼び出されたサブルーチンの実行が終了すると、メインルーチン内の呼出元の位置へ戻ります。サブルーチンが Returnコマンド で終了した場合も、メインルーチンの呼出元の位置へ戻ります。
サブルーチンが実行されている間は、メインルーチンの動作は一時停止します。サブルーチンとメインルーチンが同時に動作することはありません。
サブルーチンからサブルーチンを階層的に呼び出すこと(ネスティング)ができます。ネスティングの階層(レベル)には限度があり、10階層(レベル)が最大です。
PROG 1
Prog "ROUTINE 1"
ROUTINE 1
Prog "ROUTINE 2"
ROUTINE 2
Prog "ROUTINE 3"
:
:
:
ROUTINE 9
Prog "ROUTINE 10"
階層呼出(ネスティング)で、10階層を超えて呼出を行うと「ネスティング エラー(Ne ERROR)」が発生します。
大域変数
サブルーチンで使用する変数とメインルーチンで使用する変数は共有されます(大域変数 / グローバル変数)。
メインルーチンとサブルーチンで共用されている変数がサブルーチンで変更されると、メインルーチンへ戻った時には、その変数の内容が変更されています。
MAIN
0→A
Prog "SUB"
SUB
5→A
この MAIN プログラムを実行すると、プログラム SUB が呼び出されます。SUBプログラムでは、Aに5を代入していて、この時点で MAIN で使われている変数 A は MAIN と共用されているので、 5 が格納されます。つまり、SUBの実行が終了してMAINへ戻った時には、既にプログラム MAIN の変数A は5に変更されています。
ラベルの範囲
Goto / Lbl で使用するラベルは、メインルーチンとサブルーチンで共有されません。サブルーチンで Goto 1 を実行すると、そのサブルーチンにある Lbl 1 にジャンプしますが、メインルーチンにある Lbl 1 へはジャンプしません。Goto / Lbl は1つのプログラム内だけで使えて、他のプログラムへジャンプすることはありません。
応援クリックをお願いします。励みになるので...
コマンドリファレンス
Casio fx-5800P、fx-9860GII、fx-CG20、fx-CG50 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
最終更新 2017/01/03
fx-5800P / fx-9860GII / fx-CG20 / fx-CG50
Prog
◆ 概 要: サブルーチン呼出コマンド (プログラム呼出コマンド)
◆ 書 式: Prog "[プログラム名]"
◆ 引 数: プログラム名
◆ 戻り値: なし
Prog はプログラムを呼び出しすコマンドです。
プログラム中でプログラムを呼び出すので、サブルーチン呼び出しに使えます。
メインルーチンとサブルーチンは、いずれも独立したプログラムであって、メインルーチンとサブルーチンの違いは呼出関係で決まります。呼出元のプログラムをメインルーチンと呼び、呼び出されるプログラムをサブルーチンと呼びます。サブルーチンとして作成したプログラムも、それだけで独立して動作します。
呼び出されたサブルーチンの実行が終了すると、メインルーチン内の呼出元の位置へ戻ります。サブルーチンが Returnコマンド で終了した場合も、メインルーチンの呼出元の位置へ戻ります。
サブルーチンが実行されている間は、メインルーチンの動作は一時停止します。サブルーチンとメインルーチンが同時に動作することはありません。
サブルーチンからサブルーチンを階層的に呼び出すこと(ネスティング)ができます。ネスティングの階層(レベル)には限度があり、10階層(レベル)が最大です。
PROG 1
Prog "ROUTINE 1"
ROUTINE 1
Prog "ROUTINE 2"
ROUTINE 2
Prog "ROUTINE 3"
:
:
:
ROUTINE 9
Prog "ROUTINE 10"
階層呼出(ネスティング)で、10階層を超えて呼出を行うと「ネスティング エラー(Ne ERROR)」が発生します。
大域変数
サブルーチンで使用する変数とメインルーチンで使用する変数は共有されます(大域変数 / グローバル変数)。
メインルーチンとサブルーチンで共用されている変数がサブルーチンで変更されると、メインルーチンへ戻った時には、その変数の内容が変更されています。
MAIN
0→A
Prog "SUB"
SUB
5→A
この MAIN プログラムを実行すると、プログラム SUB が呼び出されます。SUBプログラムでは、Aに5を代入していて、この時点で MAIN で使われている変数 A は MAIN と共用されているので、 5 が格納されます。つまり、SUBの実行が終了してMAINへ戻った時には、既にプログラム MAIN の変数A は5に変更されています。
ラベルの範囲
Goto / Lbl で使用するラベルは、メインルーチンとサブルーチンで共有されません。サブルーチンで Goto 1 を実行すると、そのサブルーチンにある Lbl 1 にジャンプしますが、メインルーチンにある Lbl 1 へはジャンプしません。Goto / Lbl は1つのプログラム内だけで使えて、他のプログラムへジャンプすることはありません。
応援クリックをお願いします。励みになるので...