技術・家庭
中学生
解決済み

ロボチャートという、ソフトのレベル9の答えを教えていただきたいです。

回答

✨ ベストアンサー ✨

そもそも、レベル9ってどんな迷路ですか?
↓の課題9の迷路で良いのでしょうか?
http://www.ypec.ed.jp/gijyutu/hyouka/seigyo-rubric.pdf

日本中全ての中学校で、ロボチャートをしているのではないのですよ。
教科書会社ですら、3社あるのだから、どんな問題か、詳しく提示して下さいね。

ロボチャート 情報 プログラミング的思考
われ

わかりにくくてすみません。
これからは詳しく提示するようにします。

レベル9の迷路というのは下の画像の迷路です。
下の画像の黄色のネズミがいるところ、2と書いてあるところ、両方に通用するプログラミングを考えます。
答えを教えていただけたら幸いです。

ひふみ

ザックリとした答えですので、そちらで、フローチャートかして下さいね。

▲一般的には、迷路問題の解決の1つの公式で、右手の法則と言われる物です。
ぶつかるまで、前進
もし、ぶつかったら、右に向く
ぶつかるまで、前進
を繰り返すと、絶対迷路から出れます。
ただ、最短で出れるかどうかは別ですけどね。
で、検算したら、この迷路だとぐるぐる回ってしまう・・・

本来は、どこにいても通用する解を出したかったのですが、良いのがひらめきません。
この二点のスタートにげんていすると、
ぶつかるまで直線(②の位置だと四歩前進、ネズミの位置だと三歩で壁に激突して空回り)
ぶつかったら、右に90度曲がって
二歩進んで
右に90度曲がって、
ひたすら直進
ってかんじですかね。

われ

ありがとうございます。
解決することができました。

ひふみ

追記
右手の法則をフローチャートで、さらに考えてみました。
ただし、ロボチャートを手元に持っていませんので、で再現できるかは?です。

①前に障害がない(障害にぶつからない)と前進
②❸と❹を繰り返していく
❸前に障害があると左に90度曲がる。
❹★右に障害(右壁)がある状態なら、(前に障害があるまで)前進しする。右の障害(右壁)が無くなると右に90度曲がり、右の障害(右壁)が見つかるまで前進。

★は分岐処理で、右壁があると前進。右壁がないと右に曲がると言う風に、右壁のありなしで行動を変える。

ひふみ

あらあら、追記を書いて送信したら、その前に、解決しましたのメッセージきていました。
書き始めは、メッセージきてなかったのにね。
私、ぐだぐだと長文を書いてしまうので、書くのが遅いんですよね。

もし、良ければ、ロボチャートの課題について、どんなフローチャートを実際に書いたか教えてもらうと、私も参考になります。
よろしくお願いします。

われ

追記がこちらに来る前に解決しましたのメッセージを送ってしまいました。失礼しました。
私が考えたフローチャートは一度消してしまい、もう手元には残っていません。(保存もしていません。)なので、実際に私がどのようなフローチャートを書いたのかお教えすることができません。すみません。

この回答にコメントする
疑問は解決しましたか?