楽天市場
[無料でホームページを作成] [通報・削除依頼]

1kワードのTINYBASIC その4


◎GOSUB~RETURNとFOR~NEXTの実装

以前のページで、1kワードのTINYBASICはGOSUB~RETURN文とFOR~NEXT文が搭載されていないと記述しましたが、
以下の記述を用いることでGOSUB~RETURN文、FOR~NEXT文と同様な働きをさせることが出来ます。


◎GOSUB~RETURNの実装例 変数A(=5)の3乗(=125)を求める
20行目がGOSUB文に相当します。変数R(任意の変数)にはサブルーチンから戻る行番号を代入します。
100行目はサブルーチンで処理する内容、110行目のGOTO RがRETURN文に相当します。
Rの値を変更することで、別な場所からも100行目を実行して戻ることが可能となり、サブルーチンとして使用できます。

img_20190704-050745.jpg


◎FOR~NEXTの実装例 5の階乗を求め、変数A(初期値1)に代入する
20行目と25行目がFOR文に相当します。変数RにはFOR文に戻る行番号を代入します。
(以下の例では、FOR I=1 TO 5)、処理の都合上、25行目のIの終値には5ではなく6(=5+1)を使用しています。
25行目の#は不等号です。(I≠6ならば100行目へジャンプ)

100行目はループで処理する内容、110行目のI=I+1:GOTO RがNEXT I文に相当します。

img_20190704-052442.jpg