同一メモリ空間で,転送元の開始アドレス・転送先の開始アドレス・方向フラグ・転送数を指定してデータをブロック転送できる CPU がある。アドレス 1001〜1004 のデータをアドレス 1003〜1006 に転送したい(範囲が一部重なる)。方向フラグ0でアドレスの昇順,1で降順に転送する。指定するパラメータとして適切なものはどれか。

テクノロジ系・一部改変

ア 転送元1001/転送先1003/方向0/転送数4

なぜ違う: 昇順の前方コピーで、重なる元データを上書きして壊す。

イ 転送元1001/転送先1003/方向1/転送数4

なぜ違う: 開始アドレスが先頭のままで、降順でも整合しない。

ウ 転送元1004/転送先1006/方向0/転送数4

なぜ違う: 末尾開始だが昇順では範囲外へ進み正しく転送できない。

エ 転送元1004/転送先1006/方向1/転送数4

正解: エ

要点: 重なる前方コピーは元データを壊す。末尾から降順に転送(元1004/先1006/方向1/4)。

転送元1001〜1004と転送先1003〜1006は重複する。昇順で先頭から転送すると、まだ転送していない1003・1004を上書きして壊す。末尾から降順(転送元1004→先1006、…、1001→1003)に転送すれば重複部分を壊さない。よって 転送元1004/転送先1006/方向フラグ1/転送数4。

関連キーワード: ブロック転送・メモリ・重複コピー

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和6年度 春期 応用情報技術者試験 午前 問8