第10章 年の終わりもばたばたと
第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年生相当の課題なのか。
そう思ったところではじまらない。
まずは出来るところからやっていこう。
取り敢えずはファイルを読み込んで配列変数に落とすところ。
それと読み込んだ迷路をディスプレイでウィンドウ表示して、出発点と目標地点を入力する部分。
まずはそこから作って、それから考えることにする。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます