エラー自体は、電子説明書に載ってるので
余裕はないけれど、まる写しもなんなので…考えも。
Syntax error おかしな文法が含まれている
5行目 MSG→MSG$ 文字列変数の$マークが抜けている。
Subscript out of range 配列の添字が想定外である
11行目 これ苦手です…0~9の10個にわけられているので
10番は含まれていない?とかなのかな…わかりませぬ。
Out of range 数値が有効範囲を超えた
16行目 円を描く指令の半径の部分が設定限界を超えたのか
表示限界を超えた…かな。STEPが、まだわかってないです。
うーん。
CEIL PI VAR GCIRCLE
使った事がない・・・・
しかし、これをきっかけに!
数値の切り上げ、円周率、DIMと同じ、円を書く。なるほど・・・
その2は、Xが10に成る事が原因。
VAR[10]では0から9で10。
10個あるけど、10は含んでいない。
その3は、Xの数値が0の時、アウト。
FOR TO の開始を変えればいい、のかな?
そして、その1。
+でなく;を使うべき、と思ったけど、
+で試したら出来た・・・。??
(2)Subscript out of range
「Subscript」は配列の「添字」という意味だそうです。つまり「配列の添字が範囲外」。2番目くらいによくみるエラーではないでしょうか。
原因としては、添字に使っている変数が思ったのと違う値になっている事が考えられます。または、うっかり間違えて全然違う変数を使ってしまっているか。
(3)Out of range in 0:16(GCIRCLE)
GCIRCLEの何かが範囲外、と言ってますね。何が範囲外かはこれだけだとそれ以上分かりませんが、引数で与えたどれかの数値がおかしかったことが考えられます。
まず、元々の問題に対する解答は以上です。ここから、今回の具体的な原因についての解説です。
伝えたい事として「結果的に分かったバグの原因の知識そのものよりも、原因を探す力の方が大事」というのがありますので、探し方に重点を置いて解説したいです。
二つ目、配列の範囲外。
まずはソースを見て、どこか自分が間違えてないかを探してみるのが普通ですね。それでもし見ても分からなければ、迷わずその添字に使っている変数をPRINTしましょう。10の名推理よりも1行のPRINTです。その数値が予想外でも予想通りでも、必ず一歩前に進みます。で、たいてい数回もPRINTすれば問題は解決します。
さて、今回の場合、添字に使っているπ×πは、プリントすると約9.87と出てきます。さらにそれをCEIL()という関数に渡してますが、これは小数を切り上げる命令、つまり、切り上げて「10」になります。
VAR X[10]はサイズ10個の配列。添字に使えるのは「0~9」なので、10は確かに範囲外です。