| 転送元の開始アドレス | 転送先の開始アドレス | 方向フラグ | 転送語数 | |
|---|---|---|---|---|
| ア | 1001 | 1003 | 0 | 4 |
| イ | 1001 | 1003 | 1 | 4 |
| ウ | 1004 | 1006 | 0 | 4 |
| エ | 1004 | 1006 | 1 | 4 |

応用情報技術者試験 令和6年度春期 午前 問8「同一メモリ空間で,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約63%です。
エ. 転送元の開始アドレス 1004,転送先の開始アドレス 1006,方向フラグ 1,転送語数 4
正答率 63.0%(667人中 420人が正解)
転送元(1001〜1004)と転送先(1003〜1006)が重なっているので、昇順に 1 語ずつ転送すると、まだ読み出していない 1003 と 1004 の元データが、先に書き込まれる値で上書きされてしまう。そこで、末尾の 1004 を 1006 へ、1003 を 1005 へと、降順(方向フラグ 1)で 4 語を転送する。この順なら、読み出す前の元データが上書きされることがない。