この実験について
短いプログラムを作成し、3次元の盤面で試してみましょう。ロボットは各命令を文字どおりに実行するため、移動が妨げられたり、誤った方向に曲がったりすると、その様子が確認できます。意図したルートと実際の実行経路を比べ、プログラムを編集してもう一度試しましょう。
学習目標
- ルートを、順序どおりの正確な命令列に変換します。
- 各ステップ後の位置と向きを確認して、プログラムをデバッグします。
- 命令を変えずに障害物を変更すると、プログラムの結果がどう変わるか説明します。
使い方
- 1最初のプログラムを実行し、意図したルートと一致しない最初の命令を特定します。
- 2巻き戻し、[ステップ]と[戻る]を使って、各命令の後の位置を確認します。
- 3「ルートの例」を読み込み、終点を予測してから、実行してゴールを目指します。
- 4ボードのタイルを上にドラッグして障害物を作ります。コマンドボタンを使ってルートを修正し、プログラムとその結果を記録します。
モデル
前提条件
- ボードは6行6列です。ロボットは左下から右向きにスタートし、ゴールは右上です。
- 前進命令で1マス進みます。左折と右折は移動せずに90度向きを変えます。衝突するかゴールに到着すると、実行が終了します。
- ロボットは命令を解釈して実行するものであり、剛体の物理シミュレーションではありません。視覚的な補間によって、マス単位の位置が変わることはありません。
授業で試してみましょう
- Q1同じ命令でも、あるボードではうまくいき、壁を動かした後のボードでは失敗するのはなぜでしょうか?
- Q2繰り返し命令が使えるとしたら、どうすればもっと短いプログラムを書けるでしょうか?
よくある質問
ロボットは自分で道を見つけますか?
いいえ。与えられた命令列をそのまま実行します。ルートを見つけて修正することが、この実験の目的です。
壁にぶつかるとどうなりますか?
ロボットは最後に移動できたマスにとどまり、移動が阻止されたことを示してプログラムを停止します。