修了試験 2017-07-23実施分 基本情報技術者試験 問19
絶対パス名¥a¥a¥b¥cをもつディレクトリがカレントディレクトリであるとき,相対パス名.¥..¥..¥a¥b¥fileをもつファイルを,絶対パス名で表現したものはどれか。 ここで,ディレクトリ及びファイルの指定方法は,次の規則に従うものとする。 〔ディレクトリ及びファイルの指定方法〕 (1) ファイルは,"ディレクトリ名¥…¥ディレクトリ名¥ファイル名"のように,経路上のディレクトリを順に"¥"で区切って並べた後に"¥"とファイル名を指定する。 (2) カレントディレクトリは"."で表す。 (3) 1階層上のディレクトリは".."で表す。 (4) 始まりが"¥"のときは,左端にルートディレクトリが省略されているものとする。 (5) 始まりが"¥",".",".."のいずれでもないときは,左端にカレントディレクトリ配下であることを示す".¥"が省略されているものとする。
正答3
解説
正解は3です。 相対パス名は、カレントディレクトリを起点にしてファイルの位置を表します。 「.」はカレントディレクトリ、「..」は1階層上のディレクトリを表すので、先頭から1つずつたどります。 【計算】 カレントディレクトリは ¥a¥a¥b¥c です。 「.」はカレントディレクトリなので、¥a¥a¥b¥c のままです。 1つ目の「..」で1階層上がり、¥a¥a¥b になります。 2つ目の「..」でさらに1階層上がり、¥a¥a になります。 そこから a¥b¥file をたどると、¥a¥a¥a¥b¥file になります。 【選択肢別解説】 1:× ¥a¥b¥file は、ルートディレクトリから a¥b¥file をたどった場合の絶対パス名です。 実際には、カレントディレクトリから2階層上がった ¥a¥a を起点にします。 2:× ¥a¥a¥b¥file は、3階層上がって ¥a に戻った場合の結果です。 「.」はカレントディレクトリを表すだけで、階層は上がりません。 3:○ ¥a¥a¥b¥c から2階層上がった ¥a¥a の下に a¥b¥file をつなげると、¥a¥a¥a¥b¥file になります。 4:× ¥a¥b¥a¥b¥file は、2階層上がった位置を ¥a¥a ではなく ¥a¥b と取り違えた場合の結果です。 2階層上がった ¥a¥a の下に a¥b¥file を付けるので、正しくは ¥a¥a¥a¥b¥file です。 【ポイント】 相対パスは「.」では動かず、「..」ごとに1階層上がると考えます。 最初に起点のディレクトリを書き出し、1要素ずつ書き換えていくと確実です。まとめて解く
修了試験 2017-07-23実施分を通しで解く(80問)→