Casio Basic: Lbl / Goto

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

Casio fx-5800P、fx-9860GII、fx-CG20 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
2015/01/22 更新

fx-5800P / fx-9860GII / fx-CG20
Lbl / Goto

◆概 要:
プログラム実行位置をジャンプさせる。

◆書 式: Lbl n / Goto n  (n は、0~9の数字、および A~Zのアルファベット)


条件分岐の結果、処理内容を変更する時に使います。

さらに、ジャンプ命令をうまく組み合わせることでループ処理に使うと便利です。



使用例1: 条件分岐処理

Cの値が0の時、あるいは0以外の時で、処理を変える例です。

If C=0
Then Goto A
Else Goto B

IfEnd
Lbl A
[Cが0の時の処理]
Lbl B

[Cが0でない時の処理]




使用例2: カウントダウン・ループ処理

ループを100回繰り返す処理。所定の待ち時間を作る時に有用です。

100→C
Lbl 0
Dsz C
Goto 0
[次の処理]


この例では、条件ジャンプ命令 Dszをうまく利用しています。
Dsz  C はCを1つ減らし、その結果がCが0でないなら次の処理を実行し、Cを1つ減らした結果Cが0の時は次の処理を飛ばして、2つめの処理へジャンプします。
つまり、Cが100から2の間は Goto 0 により Lbl 0 へ戻って繰り返し、Cが1になると、Dsz C の結果Cが0になるので、Goto 0を飛ばして [次の処理] へジャンプするので、100回繰り返し間が待ち時間となります。



使用例3: 条件ループ処理

変数Lが0でない間はループを継続し、Lが0になったらループをを終了させ、次の処理へ進む:

Lbl D
[必要な処理]
L⇒Goto D

[次の処理]


ここでは、条件ジャンプ命令 ⇒ をうまく使っています。
L が0でない時は ⇒ の右の処理を行い、L が0になると ⇒ の右の処理を飛ばして、その次の処理へジャンプします。



使用例4: 無限ループ処理

単純に以下のようにすると、無限ループになります。

Lbl G
[必要な処理]

Goto G


CasioBasic では、[AC] キーを押せば無条件にプログラムを終了するので、[AC] との組み合わせを前提とすれば、無限ループも使えます。



[2015/01/22 追記]
Goto / Lbl ループの処理速度について

Casio プログラム関数電卓では、古くから Goto / Lbl が採用されています。Casio では、古くからのユーザーに対して、プログラム動作の互換性を重視しており、そのため 新世代 Casio Basic で新たに採用されているコマンドとのプログラム動作の互換性を維持するために Goto の内部動作に、Goto 専用スタックを仮スタックとして使っていて、本スタックと比較したりジャンプ先の修正を行っています。そのため、プログラムの制御構造(プログラムの分岐やループによるジャンプ動作)が複雑になり、そこに Goto が使われていると、処理時間が大幅に長くなります。プログラムにもよりますが、Goto / Lbl ループを WhileDo によるループに変えるだけで、処理時間が半分になることもあります。

Lbl / Goto がペアになっているだけの単純なループでは、単純な WhileDo ループとほぼ同じ処理速度ですが、機能追加によりプログラム規模が大きくなったり、制御構造が複雑になる場合は、無限ループには、While / WhleEndDo / LpWhile の使用を勧めます。




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800PCasioBasicLbl/Gotoプログラミング入門プログラム関数電卓

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

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

コメントの投稿

非公開コメント

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

やす (Krtyski)

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


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

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

おもしろい・役に立つならクリックしてください。励みになります。

人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR