【FE】カレントディレクトリの移動を丁寧に読む
この問題の正解は ア です。
ポイントは、ディレクトリ名の A や B が何度も出てくるため、名前だけで判断しないことです。
必ず、
「今どこにいるのか」
を1手ずつ更新しながら考えます。
この問題で問われていること
目標は、カレントディレクトリを次の場所にすることです。
¥B¥A¥B
これは、
ルート
└ B
└ A
└ B
という意味です。
つまり、ルート直下のBに入り、その中のAに入り、その中のBにいる状態です。
記号の意味を確認する
この問題では、次の記号が大事です。
¥ ルートから始める
. 今いるディレクトリ
.. 1階層上のディレクトリ
たとえば、今いる場所が ¥A だとします。
..¥B
は、
1階層上へ戻る
↓
そこからBへ入る
という意味です。
¥A の1階層上はルートなので、結果はこうなります。
¥A
↓ ..¥B
¥B
ここがこの問題の一番大事なところです。
ディレクトリ構造を整理する
問題の図は、ざっくり書くと次のような構造です。
ルート
├─ A
│ ├─ A
│ │ ├─ A
│ │ └─ B
│ └─ B
│ ├─ A
│ └─ B
└─ B
├─ A
│ ├─ A
│ └─ B ← 目標:¥B¥A¥B
└─ B
├─ A
└─ B
同じ名前の A や B がたくさんあります。
しかし、次の2つは別物です。
¥A¥B
¥B¥A¥B
どちらにも B が出てきますが、場所が違います。
ディレクトリ問題では、名前だけでなく、ルートからの道順で区別することが大切です。

選択肢アを確認する
選択肢アは、次の移動です。
¥A → ..¥B → .¥A¥B
1つずつ確認します。
最初の移動です。
¥A
先頭が ¥ なので、ルートから見ます。
現在地:¥A
次に、
..¥B
これは、今いる ¥A から1階層上へ戻り、その後 B に入る、という意味です。
現在地:¥A
↓
1階層上へ戻る
↓
ルート
↓
Bへ入る
↓
現在地:¥B
最後に、
.¥A¥B
. は今いる場所です。
今いる場所は ¥B なので、そこから A に入り、さらに B に入ります。
現在地:¥B
↓
Aへ入る
↓
¥B¥A
↓
Bへ入る
↓
¥B¥A¥B
目標の場所になりました。
したがって、アが正解です。
アの流れをまとめる
¥A
↓
現在地:¥A
..¥B
↓
現在地:¥B
.¥A¥B
↓
現在地:¥B¥A¥B
最終的に、
¥B¥A¥B
になります。
他の選択肢が違う理由
イ
¥B → .¥B¥A → ..¥B
順番に追うと、
¥B
↓
¥B¥B¥A
↓
¥B¥B¥B
になります。
目標は、
¥B¥A¥B
なので違います。
ウ
¥B → ¥A → ¥B
すべて先頭に ¥ が付いています。
つまり、毎回ルートから指定し直しています。
¥B
↓
¥A
↓
¥B
最終的には ¥B です。¥B¥A¥B ではありません。
エ
¥B¥A → ..¥B
最初に、
¥B¥A
へ移動します。
次に、
..¥B
なので、1階層上に戻ってから B に入ります。
¥B¥A
↓
1階層上へ戻る
↓
¥B
↓
Bへ入る
↓
¥B¥B
結果は、
¥B¥B
です。
目標の ¥B¥A¥B ではありません。
この問題の解き方のコツ
この手の問題は、頭の中だけで解こうとすると混乱します。
おすすめは、次のように 現在地を毎回書く ことです。
移動指定:¥A
現在地:¥A
移動指定:..¥B
現在地:¥B
移動指定:.¥A¥B
現在地:¥B¥A¥B
特に大事なのは、次の3つです。
¥ から始まる → ルートからやり直す
. から始まる → 今いる場所から進む
.. から始まる → 1つ上に戻ってから進む
受験者が間違えやすいポイント
一番多い間違いは、..¥B を見たときに、なんとなく「Bへ行く」とだけ考えてしまうことです。
正しくは、
1つ上へ戻る
↓
そこからBへ入る
です。
つまり、..¥B は単なる ¥B ではありません。
今どこにいるかによって結果が変わる指定です。
まとめ
問題は、ディレクトリの知識そのものよりも、現在地を1手ずつ更新できるかを問う問題です。
正解は、
ア
です。
理由は、移動後の現在地が次のように変化するからです。
¥A
↓
¥B
↓
¥B¥A¥B
最終的に、問題で求められている
¥B¥A¥B
になるため、選択肢アが正解です。












ディスカッション
コメント一覧
まだ、コメントがありません