二つ目、配列の範囲外。
まずはソースを見て、どこか自分が間違えてないかを探してみるのが普通ですね。それでもし見ても分からなければ、迷わずその添字に使っている変数をPRINTしましょう。10の名推理よりも1行のPRINTです。その数値が予想外でも予想通りでも、必ず一歩前に進みます。で、たいてい数回もPRINTすれば問題は解決します。
さて、今回の場合、添字に使っているπ×πは、プリントすると約9.87と出てきます。さらにそれをCEIL()という関数に渡してますが、これは小数を切り上げる命令、つまり、切り上げて「10」になります。
VAR X[10]はサイズ10個の配列。添字に使えるのは「0~9」なので、10は確かに範囲外です。
(2)Subscript out of range
「Subscript」は配列の「添字」という意味だそうです。つまり「配列の添字が範囲外」。2番目くらいによくみるエラーではないでしょうか。
原因としては、添字に使っている変数が思ったのと違う値になっている事が考えられます。または、うっかり間違えて全然違う変数を使ってしまっているか。
(3)Out of range in 0:16(GCIRCLE)
GCIRCLEの何かが範囲外、と言ってますね。何が範囲外かはこれだけだとそれ以上分かりませんが、引数で与えたどれかの数値がおかしかったことが考えられます。
まず、元々の問題に対する解答は以上です。ここから、今回の具体的な原因についての解説です。
伝えたい事として「結果的に分かったバグの原因の知識そのものよりも、原因を探す力の方が大事」というのがありますので、探し方に重点を置いて解説したいです。