Petitverse
ゲストさん (
ログイン
)
ログイン
コミュニティ内検索
コミュニティ一覧
Petitverse ご利用ガイド
Petitverse からのおしらせ
プチコン 非公式コミュニティ
プレイ日記
みどり
◆UuFOYlGswjhS
2018/8/26 10:20
突然ですが、プログラムエラークイズ!
Lv.1
下のコードがエラーになる理由を書きなさい。
@1
GOSUB @2
IF IL==3 THEN @A
@2
A=RND(3)+1
GOTO @1
因みに@Aが無いからではありません。
コメント
say
2018/8/26 10:43 ネタバレ
◆1nbKtD/tFu04
スタックが積み上がってそれがオーバーフローした
ざっくり解説:
gosubとは、、戻り先を記憶しておくgotoである
戻り先を「記憶」するので、当然、メモリを食う
で、メモリを食いまくって、「もう食うメモリがない」となったときにエラーになる
このコメントはネタバレを含んでいます。
このコメントをひらく
みどり
2018/8/26 11:40
◆UuFOYlGswjhS
sayさん>違います。それより前にエラーになります。
ばかばかPC
2018/8/26 11:44
◆tN9oa6NkiQt.
三行目無駄ですね
笹身
2018/8/26 12:14 ネタバレ
◆AUnhmHIpE1fp
普通にスタックオバフロな件
まさかIFがlF(小文字L)とか?
このコメントはネタバレを含んでいます。
このコメントをひらく
海月ちゃん
2018/8/26 12:23
◆jfoZX/rRZr9p
リターンなくね?
リターンする前に前来た同じゴーサブに来たらエラーじゃなかったっけ
しょうご
2018/8/26 12:41
◆tpp2zBc4h8pI
自分もリターンだと思いましたが、GOTOがあるので違うんじゃないですかね。
今は外出中なので、家に戻ったら確認してみます。(3DS自体は今も所持していますが、さすがに外なので開けません。画面も暗くて見づらいです。)
say
2018/8/26 13:03
◆1nbKtD/tFu04
StackOverflowでないエラーだってっんならわかんないや
まさかフォント違いて言う、論外な答えなわけないよね?
みどり
2018/8/26 13:03
◆UuFOYlGswjhS
正解はリターンが無いからです。
笹身
2018/8/26 13:17 ネタバレ
◆AUnhmHIpE1fp
うーん、”リターンが無い”だけではエラーになりませんね、少なくともプチコン3号では
とりあえずサンプル
@1
GOSUB @2
@2
A=A+1
IF A==16384 THEN END
GOTO @1
このコメントはネタバレを含んでいます。
このコメントをひらく
しょうご
2018/8/26 14:23
◆tpp2zBc4h8pI
本来ならGOTOがあればリターン無しでエラーにはならず、スタックオーバーでエラーになると思います。リターンが無くとも途中でGOTOされていることで抜け出せています。
もし間違っていたらごめんなさい。
Stack overflowでエラーが発生している状態なら、スタックオーバーです。
say
2018/8/26 14:29
◆1nbKtD/tFu04
>正解はリターンが無いからです。
???
6行目をreturnにすればいい ってこと?
だったら@2の直上にend文がなければならないよ?
☆これだと正常終了する
@2の直上にendがない場合は、また別のエラーが出るんだけど、
それだと
>(前略)リターンが無い(後略)
の答えが成り立たないよ?
正解のコードを頼みます
みどり
2018/8/26 14:51
◆UuFOYlGswjhS
正解のコードはこちら
@1
GOSUB @2
IF IL==3 THEN @3
?"おしまい":END
@2
IL=RND(3)+1
RETURN
Soybeanman
2018/8/26 15:09
◆/ggd1c6ZKIiI
あげ足取りだとは思いますが、
3行目、@3ではなく@Aでは?
あと、?"おしまい"は元のコードにない上、エラーの解決に関わってないので、いらないと思います。('コメントの方が良かったかも)
前の方が仰る通り、ちょっと問題がガバガバすぎるかなと。
こういち
2018/8/26 16:19
◆ou0jbJnEJ0Kb
これがLV1…
じゃあLVが上がるとどれだけ難しくなるのか…
みどり
2018/8/26 16:57
◆UuFOYlGswjhS
中の人も初心者なのでガバガバなのは許して下さい…後Lv.2作ります。
しょうご
2018/8/26 18:25
◆tpp2zBc4h8pI
Illegal function callなど、エラー内容を教えていただけないでしょうか?(ヘルプに表示されている番号でも構いません)
say
2018/8/26 21:50
◆1nbKtD/tFu04
元設問にどこにend文があんの?
設問自体がエラーやん
複数回答がある上に、俺回答のみが正解ってーのは感心せんね
クイズだったら、せめて解答は一つにしなきゃ
それに、クイズに初心者逃げは通用しないよ(別解を提示されたら素直に認めること)
みどり
2018/8/27 8:04
◆UuFOYlGswjhS
問題を間違えたのはこちらの責任なので、正解者は全員とします。後、実はGOSUBあまり使ってないです。
みどり
2018/8/27 13:04
◆UuFOYlGswjhS
しばらくLv2以後は見送ります。
コメントを書く
この投稿にはコメントできません。
-
WEB PATIO
-