第208話 課題の期限は1週間
また課題が出てしまった。
今度はプログラミングの課題だ。
① 51×51のマス目がある。
② 全体は壁で囲われていて、その中には通れない壁と通れる床がある。
③ その中の任意の出発地点から、任意の目標地点へのルートを求めるプログラムを作成せよ。
そんな課題である。
要は迷路を解くプログラムを作れ、という事だ。
期間は1週間、来週のこの授業まで。
なおわざわざ注釈として、『上下左右の壁のどこにも接触していない壁が存在する場合があります』と書かれている。
つまり迷路の解法としてお馴染みの『右手を常に壁につけて歩いて行けば、いずれは目標地点に……』という、いわゆる右手法という攻略は使えない。
なお、今回の課題の採点基準は
① 図面データ3種を与え、全てでルートを探し出すのに成功した場合は、そのルートが最短であるかどうかを問わずA評価。
② 同じ条件で図面データ2種でルート探知成功、またが1種でもいいから最短ルートを探し出せればB評価。
③ 同じ条件で図面データ-1種でもルートを探知できればC評価。
④ なおアルゴリズムの独自性、優位性等で加点する場合もある。
⑤ それ以外は基本的に不可で別課題。別課題の評価はC及び不可のみ。
となっている。
なお図面データについては
① 図面データの提供様式はテキストファイル、床を0,壁を1として表記
② 例えば5×5のデータならば
11111
10001
10101
10101
11111
と、テキスト形式でファイルになっている。
③ プログラム中で任意のファイル名を選択し、読み込めるよう作成の事。
また出発地点と目標地点はそれぞれ座標を入力する形式とする。
④ 一番外側は全て壁とする
⑤ 座標指定は今回に限り、左上の壁を(0,0)、右下の壁を(50,50)とする変則表記を採用する。つまりY座標は一番上が0で、一番下が50となる。なお座標は(X,Y)表記。
⑥ ルートの提示方法は自由。画面表示でも印刷でも構わない。
⑦ 使用言語は問わない。ただし必ずソースプログラムを提出する事
⑧ アルゴリズム及びプログラムは、独自で作成する事。共同制作等の疑いがあるときは、面接の上判断する。
という感じだ。
これは能ヶ谷情報によれば、今までになかった課題とのこと。
つまり先輩からこっそり教わる、なんて事は出来ない訳だ。
なお動作確認用のサンプルデータやサンプル問題も公表されている。
これで動作すれば、最低でもC判定にはなるとの事。
ぶっちゃけ、無茶苦茶難しい。
これって高校1年生相当の課題なのか。
そう思ったところで、はじまらない。
まずは出来るところからやっていこう。
取り敢えずはファイルを読み込んで、配列変数に落とすところ。
それと読み込んだ迷路をディスプレイでウィンドウ表示して、出発点と目標地点を入力する部分。
まずはそこから作って、それから考えることにする。




