跳到正文

平成26年度 春期 ITパスポート試験 問68

这道题的解析和你的作答记录。

問68
頻出度★☆☆

図に示す階層構造において,カレントディレクトリが*印のディレクトリであるとき,相対パス指定で ..¥..¥B¥B によって指定したディレクトリと同じディレクトリを絶対パス指定したものはどれか。 - ルート - A - A - A - B - B - A - B - B - A - A* - B - B - A - B 〔ディレクトリ及びファイルの指定方法〕 (1) ファイルは,“ディレクトリ名¥…¥ディレクトリ名¥ファイル名”のように,経路上のディレクトリを順に“¥”で区切って並べた後に“¥”とファイル名を指定する。 (2) カレントディレクトリは“.”で表す。 (3) 1階層上のディレクトリは“..”で表す。 (4) 始まりが“¥”のときは,左端にルートディレクトリが省略されているものとする。 (5) 始まりが“¥”,“.”,“..”のいずれでもないときは,左端にカレントディレクトリ配下であることを示す“.¥”が省略されているものとする。

出典 平成26年度 春期 ITパスポート試験 問68
解説

問 68

  • 错误ア

    ¥A¥B¥B 是从根目录正下方的 A 往下走的路径,属于树的左半边的目录。而*号在右半边(根目录正下方的 B 的下面),即使用“..”往上走,也不可能移动到左半边的 A 那一侧。这是弄错了当前目录位置时会犯的错误。

  • 错误イ

    ¥B 只是应用了两次“..”之后停下来的位置,即 ¥B¥A¥A → ¥B¥A → ¥B。它没有反映后面接着的“¥B¥B”这两个元素所表示的向下移动,因此少了两层。

  • 错误ウ

    ¥B¥B 是上升到 ¥B 之后只向下走了一次“B”的位置。相对路径的末尾并排着两个 B,所以向下移动需要进行两次,因此这里少了一层。这是在数“..”的次数和向下的次数时数错才容易选的错误答案。

  • エ

    正解 首先用绝对路径确定*号的位置。在图的树中,带*号的那个 A 是沿着 根目录 → B → A → A 一路走下去到达的,所以当前目录是 ¥B¥A¥A。接下来把相对路径“..¥..¥B¥B”从左边起一个元素一个元素地应用。(1) 第一个“..”向上一层,到 ¥B¥A。(2) 第二个“..”再向上一层,到 ¥B。(3) 接着的“B”是此刻所在位置 ¥B 正下方的 B,于是变成 ¥B¥B。(4) 最后的“B”是再往下一层的 B,于是变成 ¥B¥B¥B。图中根目录下的 B、它下面的 B、以及再下面的 B 也都确实存在。因此用绝对路径表示同一个目录就是 ¥B¥B¥B,所以エ正确。

ここがポイント
  • 绝对路径是以根目录为起点来表示的指定方法,相对路径是以当前目录为起点来表示的指定方法。“.”指当前目录,“..”指上一层目录。
  • 相对路径的可靠解法是从左边起一个元素一个元素地依次应用,边走边更新当前位置。把它拆成「有几个“..”就向上走几层,再按剩下的目录名个数向下走几层」来数,可以减少出错。
用語
解答問68エ
练这一题

作答记录