ITの基礎知識|ITパスポート・基本情報

ITパスポート 平成22年春 問53

2017.10.04

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

 

Show answer

正解: イ

解説:

 

どの選択肢も、2手順目で「A←B」を実行し、Bの値をAに代入している点に着目する。この結果、Aの値は上書きされてしまうので、その前にAの値を退避しておく必要がある。

つまり、最初の手順で「Aの値をTMPに代入」という手順が必要になるので、この時点でア、イのいずれかとなる。

最終的に、AとBの値を入れ替えるが、もともとAに入っていた値はTMPに代入されていて、Aには元々Bに入っていた値が代入されているので、3手順目では「TMPに退避しておいた値をBに代入」という手順が必要となる。

上記のように推論していくか、変数A、Bに違う数値を当てはめて、各選択肢の手順を実際に試してみて、解答を導く。