平成18年 秋期 基本情報技術者 午前 問13

表は、配列を用いた連結セルによるリストの内部表現であり、リスト[東京、品川、名古屋、新大阪]を表している。
このリストを[東京、新横浜、名古屋、新大阪]に変化させる操作はどれか。
ここで、A(i , j )は表の第i 行第j 列の要素を表す。
例えば、A(3, 1)=“名古屋” であり、A(3, 2)=4である。
また、→は代入を表す。

A
1 2
1 “東京” 2
2 “品川” 3
3 “名古屋” 4
4 “新大阪” 0
5 “新横浜”

第1の操作 第2の操作
5→A(1, 2) A(A(1, 2), 2)→A(5, 2)
5→A(1, 2) A(A(2, 2), 2)→A(5, 2)
A(A(1, 2), 2)→A(5, 2) 5→A(1, 2)
A(A(2, 2), 2)→A(5, 2) 5→A(1, 2)


答え ウ


解説
[東京、品川、名古屋、新大阪]を表している連結セルを[東京、新横浜、名古屋、新大阪]に変えると、

A
1 2
1 “東京” 25
2 “品川” 3
3 “名古屋” 4
4 “新大阪” 0
5 “新横浜” 3
になる。
すなわち、“東京”の次のデータを指す2列目の値を“新横浜”を示す“5”にする『5→A(1, 2)』と、“新横浜”の次のデータを示す2列目の値を“名古屋”を示す“3”にする『3→A(5, 2)』を行う。

まず、1行目の“東京”の次の“品川”の次のデータを指す2列目の値を、5行目の“新横浜”の次のデータを指す2列目にコピーする。
 A(A(1, 2), 2)→A(5, 2)
つぎに、1行目の“東京”の次のデータを指す2列目の値を“新横浜”を示す“5”にする。
 5→A(1, 2)

先に“東京”の次のデータを指す2列目の値を“品川”を示す“5”にしたくなりますが、そうすると“東京”から“品川”への経路が切れてしまい、“品川”の次のデータを示す2列目の値を“新横浜”の2列目にコピーする操作ができなくなってしまいます。


キーワード
・連結セル

キーワードの解説
  • 連結セル
    一連のデータの表現方法。
    問題の表では、1列目Aがデータの項番を示し、2列目1がデータの値を、3列目の2が次のデータの項番を示している。

もっと、「セル」について調べてみよう。

戻る 一覧へ 次へ