過去問ドリル

平成22年度 春期 ITパスポート試験 問53

テクノロジ/アルゴリズム

変数 A と B に格納されているデータを入れ替えたい。データを一時的に格納するための変数を TMP とすると,データが正しく入れ替わる手順はどれか。ここで “x ← y” は,y のデータで x の内容を置き換えることを表す。

平成22年度 春期 ITパスポート試験 問53の図

出典:平成22年度 春期 ITパスポート試験 問53

正解:イ

解説

A の値を TMP に退避してから A に B の値を入れ,最後に退避しておいた A の元の値(TMP)を B に入れると,値が入れ替わります。コップ二つの中身を入れ替えるとき,空のコップを一つ使うのと同じ考え方です。

選択肢ごとの解説

  • ア誤り。TMP ← A,A ← B,B ← A の順では,最後に B に入る A は既に B の値になっているため,両方が B の元の値になってしまいます。
  • イ正しい。A の元の値を TMP に退避し,A ← B で A に B の値を入れ,B ← TMP で A の元の値を B に入れます。
  • ウ誤り。TMP ← B,A ← B,B ← TMP では,A の元の値が失われ,A と B がどちらも B の元の値になります。
  • エ誤り。TMP ← B で B を退避した後,A ← B,B ← A とすると,A と B が B の元の値になり,A の元の値は消えます。
ITパスポートの過去問を演習モードで解く