BASICプログラミング言語のGOTOとGOSUB文の違いは何ですか?BASIC GOTO文とGOSUB文の違い
答えて
GOTO
は単にGOSUB
は、それが(おそらく、スタック上の)どこから来たのかを追跡し、そのインタプリタがRETURN
に遭遇したとき、それが戻ってGOSUB
が呼び出された最後の場所に戻り、別の行にジャンプします。
私はもっと興味があるのですが、なぜBASICを何かに使っていますか?
GOTOを呼び出すと、プログラムは問題の行にジャンプし、実行を続けます。
GOSUBを使用すると同じことが起こりますが、ある時点でRETURN文をコーディングすることができ、コードはGOSUBの直後の行に戻ります。
GOSUBはXに移動しますが、GOSUBはXに移動しますが、現在の場所を覚えているので、後で戻ることができます。
ありがとうございます;しかし、私は、意図した実行可能命令がGOTOステートメントに続く次の行に終わったところでコマンドの別の転送を組み込むことができると思います。しかし、最初の制御転送の行より上の制御文を別の転送コードは通常のGOSUBよりも1回戻ります。例えば10 GOTO 30. 15コード。 20コード。 25 GOTO 45. 30コード。 35コード。 40 GOTO 15. 45 ENDこれはうまくいき、決して終わらないループにはなりません。 –
あなたのコメントを読むことができません。あなたの質問を編集してください。 –
あなたの答えは正しいです!私はより多くのコードを含む別の方法を記述しようとしています。答えられた質問ありがとうございます。私はあなたの答えにすでに投票しました –
他の回答は、GOTOとGOSUBの使い方をよく説明していますが、処理方法には大きな違いがあります。 GOTOが実行されると、GOTOはスタックの先頭から開始し、GOTOとみなされる行が見つかるまで、すべてのコード行を反転させます。その後、別のGOTO文を使って戻ると、スタックの先頭に戻り、次の場所に到達するまですべてを反転します。
GOSUBはGOTOとほぼ同じことをしますが、どこにあったのかを覚えています。 RETURNステートメントを使用すると、最初にスタックの先頭に移動せずにすべてを再びフリップすることなく、ジャンプするだけです。したがって、はるかに高速です。コードを速く実行したい場合は、スタックの最上部に最もよく呼ばれるサブルーチンを置き、GOTOの代わりにGOSUB/RETURNを使用する必要があります。
- 1. "goto"エラーのある "If"文
- 2. C++のgoto(というより継続)構文風変わり
- 3. GroovyのGOTO文はどうですか?
- 4. Visual Basicの文字リテラル
- 5. SQL文と句の違い
- 6. Visual BasicでIf文とElse文の問題
- 7. 構文の違い
- 8. メッセージボックス内のVisual Basicの条件文
- 9. Scalaの式と文の違い
- 10. LINQ - メソッドとクエリの構文の違い
- 11. Cのバイトと文字の違い
- 12. Visual Basic 2008のコレクション初期化構文?
- 13. 文字配列とポインタの違い
- 14. 構文エラーと解析エラーの違い
- 15. asp.netラベルテキスト要素と序文の違い
- 16. Typescript:文字列と文字列の違い
- 17. Objective-C:メッセージ構文とドット構文。違いは何ですか?
- 18. udev gotoとラベル
- 19. バイナリ文字列、バイト文字列、ユニコード文字列と普通の文字列(str)の違い
- 20. の#import文のObjective Cの中の文字列とchar配列の違い
- 21. 小文字のwindows.hと大文字のWindows.hの違いはありますか?
- 22. Sunspotのキーワードと全文の相違点
- 23. Clojureの読み込み文字列と読み込み文字列の違い
- 24. クロス適用とカーソル - 構文と相違
- 25. ブラウザとの相違点alexgorbatchev.com構文ハイライト
- 26. 文字列とリストの違いと結合の利用
- 27. C#で。文字列と文字列の違いは何ですか?
- 28. PHPではシングルクォート文字列とダブルクォート文字列の違いは何ですか?
- 29. COM文字列(BSTR)と.NET文字列の違いは何ですか?
- 30. PHPの文字列の違い
Basicがまだ使用されています。 VB.NETはまだ基本的です。 –
何ですか? VB.NETはまったく異なる言語です。確かにBasicと呼ばれていますが、基本的ではありません – Collin
@Colin - あなたはその点を見逃しています。 VB.NETはまだ基本的です。はい、それは多くのオブジェクト指向拡張を持っていますが、それは基本的に基本です。確かにそれは解釈されませんが、それは言語の関心事ではない実行戦略です。 –