• ベストアンサー

BASIC言語のプログラムについて

もし条件が成立したら、行番号の○○から○○までを実行するというようなプログラム、 つまり、GOTOのように指定した行番号に飛んでしまうだけで元の行に戻らないのではなく、指定した行番号からある程度の行までを実行したら、その命令をした次の行から実行するようなプログラムはどのように作れば良いのでしょうか。 一応、調べてはみたのですが、自分でも何と言えば良いのかあまりわからないということもあり、見つかりませんでした。 BASIC言語初心者ということもあり、わかりにくい説明かもしれませんが、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

行番号ということからすると、古いタイプのBasicだと思われます。 それだと「サブルーチン」を使用します。 GOSUB 行番号 で「行番号」からのサブルーチンへジャンプして、飛び先からはRETURN で戻ります。 条件分岐はIFですから IF ~ THEN GOSUB XXXX のような形になります。 ~が成立ったら、XXXX行から実行し、RETURN命令があったら呼び出したGOSUBの直後に戻ってきます。 ただ、近代の言語のような「ローカル変数」が無かったりするので、呼び出し側と完全に独立させるのは難しいです。

anpurio
質問者

お礼

お礼遅れてすみません。 ご回答ありがとうございました。 ソフトの名前((仮称)十進BASIC Ver. 7.4.2です)を言い忘れていたので申し訳ありませんでした。 詳しく教えていただきありがとうございます。

その他の回答 (2)

  • tetsumyi
  • ベストアンサー率25% (1946/7534)
回答No.3

過去のBasicでは行番号とGoto命令を使いましたが、プログラムが複雑となるので今ではそのようなBasicはほとんど使いません。 一連の処理を1つにまとめて、この部分を呼び出す形のプロシージャを使います。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1419153509 1連の手続きをSubやFunctionとして定義して、1つの関数のように呼び出します。 処理が終われば当然次の行を実行します。

anpurio
質問者

お礼

お礼遅れてすみません。 ご回答ありがとうございました。 ソフトの名前((仮称)十進BASIC Ver. 7.4.2です)を言い忘れていたので申し訳ありませんでした。 行番号とGoto命令を使わずともプロシージャを使えば良いことがわかり、助かりました。

  • alwen25
  • ベストアンサー率21% (272/1253)
回答No.1

昔のBASICならば GOSUB RETURN文 です。 VBはまだ勉強中なので分かりません。

anpurio
質問者

お礼

お礼遅れてすみません。 ご回答ありがとうございました。 ソフトの名前((仮称)十進BASIC Ver. 7.4.2です)を言い忘れていたので申し訳ありませんでしたが、ちゃんとできたので助かりました。

関連するQ&A