FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム基礎知識ガイド
ログイン不要・無料で学習

テクノロジ系

プログラミングの基礎|値の流れと処理の境界を追う

変数、関数、配列、繰返し、再帰、キューを、値がいつどこで変わるかから学ぶ基本情報技術者試験のプログラミング入門です。

科目Bの擬似言語は、特定のプログラミング言語を知っているかではなく、与えられた規則で値を追えるかを見ます。関数へ渡した値、配列の要素、繰返しの終了条件を分けて書けば、長いコードでも小さな状態変化の連続として読めます。

この分野で身に付けること

  • 変数、引数、戻り値の値の流れを説明できる。
  • 配列やキューの添字と有効範囲を追える。
  • 再帰で、進む段階と戻る段階の両方を表せる。

1. 変数は、代入した時点で値が変わる

変数名は箱の名前のようなもので、代入文が実行されるとその箱の中身が変わります。右辺は先に現在の値で計算され、その結果が左辺へ入ると考えます。a = a + 1 のような文を数学の等式と同じに読まず、更新として扱うことが大切です。

関数を読むときは、呼出し側の変数、関数の引数、関数内のローカル変数、戻り値を別の列に書きます。同じ名前が出ても、どの範囲で使える値かを確認してください。問題の仕様が参照渡しか値渡しかを示していれば、その規則に従います。

2. 繰返しは、開始・継続・更新を確認する

forやwhileでは、初期値、継続条件、更新式の三つを並べて読みます。添字がどこまで進むか、最後の要素を含むか、条件が偽になるのはいつかを表にします。内側の繰返しが外側の変数に依存する場合は、外側の一回ごとに内側の範囲を書き直します。

条件の中で配列の範囲外を参照しないかも確認します。実務のコードでは入力が空の場合なども考えますが、試験問題では明示された前提を守ることが優先です。前提を超えた動作を想像しすぎず、指定された値だけでトレースします。

3. 再帰は、止まる条件と戻り値を一組で見る

再帰関数は自分自身を呼び出しますが、必ず終了条件と、終了条件へ近付く引数の変化があります。まず呼び出しがどこまで進むかを矢印で書き、終了条件に達した値を決めます。その後、戻り値が呼出し元へどう足されるか、掛けられるかを逆向きに追います。

スタックの細かい実装を知らなくても、呼出しごとに引数と戻り値を一行ずつ書けば読めます。元の変数が一つだけだと思い込まず、各呼出しに別の引数の値があることを意識します。

用語・考え方の比較

値がどこで生まれ、どこで変わるかを区別する
要素見る場所確認すること
引数関数を呼ぶ瞬間何の値が渡るか
ローカル変数関数の内部呼出しごとにどの値か
戻り値関数が終わる瞬間呼出し元でどこへ使われるか

例:各桁の和を再帰で求める

digitSum(729) が、十進表記の各桁の和を返す関数だとします。

  1. 729は、9 + digitSum(72)に分けられる。
  2. 72は、2 + digitSum(7)、7は、7 + digitSum(0)に分けられる。
  3. digitSum(0)から戻ると、7、9、18の順に戻り値ができる。

ここで確認:進む段階だけで終わらず、戻り値を使う段階まで追うことが再帰の要点です。

確認してから、演習へ進む

間違えやすいポイント

  • 代入の左辺と右辺を同時に新しい値として扱わない。
  • 配列の有効な添字と、要素数を同じものとしない。
  • 再帰で終了条件だけを見て、戻り値の計算を省略しない。

自分で確かめる三つの手順

  1. 変数ごとに列を作り、代入文一つごとに値を書く。
  2. 関数呼出しごとに、引数と戻り値を別行にする。
  3. キューではheadとtailが何を指すかを問題文の定義から書く。

この分野の演習問題

ガイドを読んだ後は、対応する9問で、理由を説明しながら理解を確かめましょう。 正答率は振り返りのための記録であり、本試験の評価点や合否を予測するものではありません。

範囲と参照資料

このページは本サイト独自の学習用解説です。試験範囲や用語の最終確認には、IPA:試験要綱・シラバス ↗を確認してください。制度や出題範囲は変更されることがあります。