IPA過去問ドリル

平成21年度 秋期 基本情報技術者試験 午前 問19

テクノロジ/ソフトウェア

A,B というディレクトリ名をもつ複数個のディレクトリが図の構造で管理されている。 カレントディレクトリを ¥A¥B → .. → ..¥B → .¥A の順に移動させた場合,最終的なカレントディレクトリはどこか。ここで,ディレクトリの指定方法は次のとおりとする。 〔ディレクトリの指定方法〕 (1) ディレクトリは,“ディレクトリ名¥…¥ディレクトリ名”のように,経路上のディレクトリを順に“¥”で区切って並べた後に“¥”とディレクトリ名を指定する。 (2) カレントディレクトリは“.”で表す。 (3) 1階層上のディレクトリは“..”で表す。 (4) 始まりが“¥”のときは,左端にルートディレクトリが省略されているものとする。 (5) 始まりが“¥”,“.”,“..”のいずれでもないときは,左端にカレントディレクトリ配下であることを表す“.¥”が省略されているものとする。

平成21年度 秋期 基本情報技術者試験 午前 問19の図

出典:平成21年度 秋期 基本情報技術者試験 午前 問19

正解:エ

解説

まず ¥A¥B(ルートの下のA¥B)に移動し,次に「..」で1階層上のA に戻ります。続く「..¥B」は現在のディレクトリ(A)の1階層上,つまりルートの下にあるBディレクトリを指すので,カレントはルート¥Bに移動します。最後の「.¥A」は現在のディレクトリ(ルート¥B)の下のAを指すため,最終的なカレントディレクトリはルート¥B¥A,すなわち「¥B¥A」になります。

選択肢ごとの解説

  • 誤り。移動の途中経路に現れる位置であり,最後の「.¥A」による移動を反映していません。
  • 誤り。最初の「..」で1階層上に戻った直後の位置であり,その後の「..¥B」と「.¥A」の移動を反映していません。
  • 誤り。「..¥B」の移動先をルート¥A¥Bと誤って解釈した場合に得られる経路で,1階層上の位置の求め方が誤っています。
  • 正しい。順に移動をたどると,最終的なカレントディレクトリはルートの下のB配下のA,すなわち¥B¥Aになります。
基本情報技術者の過去問を演習モードで解く