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

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

解説

ITパスポート 2010年 (平成22年 春期) 問53「変数AとBに格納されているデータを入れ替えたい。データを一時的に格納するための変…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約67%です。

正解

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

正答率 67.2%(1,737人中 1,168人が正解)

問題の解説

二つの変数の値を入れ替えるには、上書きで失われる値を一時変数に退避しておく必要がある。まず元のAをTMPに退避し、AにBの値を入れ、最後にBへTMP(元のAの値)を入れると入れ替わる。例えばAが1、Bが2なら、TMPは1、Aは2、Bは1になる。

選択肢ごとの解説

  • ア二つ目でAがBの値に置き換わるため、三つ目のB←Aは同じ値を書き戻すだけになる。TMPに退避した元のAの値を使っておらず、A、Bとも元のBの値になる。
  • イ正しい。TMPに元のAを退避してからAにBの値を入れ、最後にBへTMP(元のAの値)を入れるので、二つの値が入れ替わる。
  • ウ退避したのが元のBなので、A←Bでは元のAの値が失われる。最後のB←TMPはBに元の値を戻すだけで、AもBも元のBの値になる。
  • エTMPを使わずにAとBを書き換えており、A←Bの時点で元のAの値は失われる。最後のB←Aでも元のBの値が入り、入れ替わらない。

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

ITパスポート試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

ITパスポート試験 合格.dev を App Store でダウンロード