ITパスポート試験 ITパスポート 2010年 (平成22年 春期)53: 変数AとBに格納されているデータを入れ替えたい。データを一時的に格納するための変数をTMPとすると,データが正しく入れ替わる手順はどれか。ここで"x←y"は,y

ITパスポート 2010年 (平成22年 春期)
Q 5353 / 100
変数AとBに格納されているデータを入れ替えたい。データを一時的に格納するための変数をTMPとすると,データが正しく入れ替わる手順はどれか。ここで"x←y"は,yのデータでxの内容を置き換えることを表す。
この問の正解率:67.24%(1,737件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

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

選択肢

  • .TMP←A → A←B → B←A
  • .TMP←A → A←B → B←TMP
  • .TMP←B → A←B → B←TMP
  • .TMP←B → A←B → B←A

正解

. TMP←A → A←B → B←TMP

解説

変数AとBの値交換にはTMPに片方を退避して相手の値を上書きし退避値を書き戻す3手順が必要となる. TMP←A,A←B,B←TMPの順序が正しい値交換手順となる.

選択肢ごとの解説

  • .誤り. B←AではAが既にBの値となっており元のAに戻らない.
  • .正しい. TMP←A,A←B,B←TMPの順序で値が入れ替わる.
  • .誤り. A←BでBの値を消した後にBへTMPを書く順序が誤り.
  • .誤り. B←AはAが既にBの値となっており元のAに戻らない.

ITパスポート 2010年 (平成22年 春期)過去問一覧へ戻る・問53