>nobuさん
複数のスペースがまとめて入っているのは対になる命令が複数
使用されていた場合にどの命令がどの命令の対なのかを
分かりやすくする目的があります。
CLS
FOR I=1 TO 9
PRINT I;"のだん"
FOR J=1 TO 9
PRINT I;"×";J;"=";I*J
NEXT
WHILE BUTTON(2)!=0:WEND
PRINT
NEXT
END
もし文字列変数が使えず文字列定数しか扱えないとすると
名称などを扱おうとしたときに非常に煩雑なプログラムが
必要になります。
A$に教科名を代入してPRINT A$で表示する部分も
Aに教科名に対応する数字を代入して
IF A==1 THEN PRINT "こくご ”
IF A==2 THEN PRINT ”さんすう”
IF A==3 THEN PRINT "りか ”
IF A==4 THEN PRINT "しゃかい"
としなくては表示できなくなります。
文字を扱う必要がある場合に簡潔に表記するためには
文字列変数は必要な機能でした。
これは何らかの入力待ちをしている状態でAボタンだけまたは
ENTERキーだけを押したときだけループということでいいの
でしょうか?
@1
IN$="":BT=0
WHILE INKEY$()!="" OR BUTTON(0)!=0:WEND
WHILE IN$=="" AND BT==0
IN$=INKEY$():BT=BUTTON(0):VSYNC
WEND
IF IN$==CHR$(13) OR BT==16 THEN GOTO @1
END
キーとボタンが何らかの入力をされるまでWHILEでループをして
押されたキーがENTERだけかAボタンだけだった場合は@1に
ジャンプします。
それ以外はループを抜けます。
>nobuさん
正しいボタンを押しても終了してしまうということは
IN$=INKEY$():BT=BUTTON(0):VSYNC
か
IF IN$==CHR$(13) OR BT==16 THEN GOTO @1
の部分が上手く動作していないように感じます。
プログラム編集中のスクリーンショットは貼れますか?
スーさんのプログラムで使われている|の記号はキーボードの
Aの左の記号です。