基本情報トップに戻る
B難易度: 2026年度

基本情報技術者 予想問題B 第70問

問題

次の擬似言語プログラムを実行したとき、aとbの最終的な値はどれか。 整数型: a ← 5 整数型: b ← 8 整数型: temp temp ← a a ← b b ← temp

選択肢

  1. 1ア a=5, b=8
  2. 2イ a=8, b=5
  3. 3ウ a=5, b=5
  4. 4エ a=8, b=8

正解

2. イ a=8, b=5

詳しい解説を見る

解説

一時変数tempを使って2つの変数の値を交換する、定番のスワップ処理である。順にトレースすると、①temp ← a でtemp=5(aの元の値を退避)、②a ← b でa=8、③b ← temp でb=5となり、最終的にa=8、b=5と交換が完成する。よってイが正解である。アは交換が行われなかったと誤読した場合の初期値である。tempを使わずに a ← b、b ← a と書くと、最初の代入でaの元の値5が失われ、両方とも8になってしまう(エの状態)。これを防ぐために元の値を一時退避するのがtempの役割である。スワップはバブルソートや選択ソートなど整列アルゴリズムの内部で必ず登場する基本操作であり、3行の代入の順序と各時点の変数値を正確に追えるようにしておくことが重要である。

一問一答

科目A 180問+科目B 60問

Bの関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。