Gosub - コマンドリファレンス

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

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

2018/01/21

[C.Basic] [FX / CG]


Gosub




プログラムファイル内のサブルーチンへジャンプする。ジャンプの際に引数と戻り値を指定することが可能。純正Casio Basicにはない C.Baisc 独自コマンドで、Goto コマンドを拡張したもの。

Prog コマンドで別のプログラムファイルを呼び出す代わりに、Gosub / Lbl / Return で同じファイル内に記述したルーチンを実行することが可能になる。


(書式) Gosub <ジャンプ先ラベル>[,<引数1>[,<引数2>]...]

ジャンプ先ラベルは、プログラムファイル内に記述した Lbl ラベル。例えば Gosub E に対して Lbl E で受ける。ここで使えるラベルは Goto / Lbl で使えるラベルと同じで、09AZ、さらに azr ([ALPHA][x^2]のr)θ ([ALPHA][∧]のθ) が使える。或いは、Alias コマンドで指定した別名ラベルも使える。

指定ラベルへジャンプした後、Gosub実行位置へ戻るには、必ず Return コマンドを用いる。制御コマンドが無い場合は、処理がそのまま下へ続く。Return コマンドを用いる際、C.Basic で拡張された機能として、戻り値を指定できる。例えば Return X とすると 変数 Ans に 変数Xの内容が格納され、Gosub コマンド位置に制御が戻る。Gosub の直後で 変数 Ans を参照すると 変数 X の値が得られる。

(例)
 10->X
 Gobus A
 Disp Ans
 Stop

 Lbl A
 Return 2X


Gosub 以外に Lbl A に到達しないように Stopコマンドを用いている。Lbl A にジャンプ後 2Xを変数 Ansで返す。Disp Ans2X の結果 (=20) を表示する。


<引数n> はジャンプ先へ渡す変数を指定する。
ジャンプ先に渡す変数はジャンプ先で別名変数にできる。その場合は Local コマンドを利用する。別名変数は全ての変数が使えるが、プログラムの可動性を得るために小文字使用を推奨する。

例えば、Gosub で変数XYを渡し、ジャンプ先で渡された変数を a, z として利用するときは、

Gosub A,X,Y
・・・
Lbl A
Local a,z


と記述する。なお 変数 X, Y, a, z はプログラム内で共通して使える大域変数のままである点に注意。但しジャンプ先ラベル以下で別名変数として擬似的なローカル変数として使えるので、コマンド名が Local になっている。

(例)
  10→X
  20→Y
  X+1→a
  Y×2→b
  Gosub A,X,Y
  Disp Ans
  Disp a
  Disp b
  Stop

  Lbl A
  Local a,b
  Dips a
  Disp b
  Return a+b


-------------実行結果
  10
  20
  30
  10
  20
-------------

Gosub 実行前は、X=10Y=10a=11b=20 となっている。
Gosub 実行により Lbl A へジャンプし、ジャンプ後 Local コマンドで、変数 X の値は 変数 a に格納、変数 Y の値は 変数 b に格納される。この時点で、a=10b=20 となる。これによりジャンプ前の変数 ab の値は変更されている。
Return a+b により a+b の値は変数 Ans に格納され、Gosub の位置へ戻る。
従って、Disp Ans30 と表示され、Disp a10と、Disp b20 と表示される。



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


 



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

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





関連記事

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

コメントの投稿

非公開コメント

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

やす (Krtyski)

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


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

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR