科目Bで必要変数だけ追う方法を理解する
科目Bの長い疑似言語では全変数を追うと表が巨大になる。設問の答えに影響する変数と制御条件だけを選ぶと、速く正確に追える。
この単元で学ぶこと
- 目的変数の意味と役割を説明できる
- 依存変数の意味と役割を説明できる
- 制御変数の意味と役割を説明できる
- 設問から目的変数を特定し、依存・制御に必要な変数だけを選べる
本文解説
まず設問が求める最終値・出力・回数を確認し、その値へ直接/間接に影響する変数を逆向きにたどる。ループカウンタや分岐フラグは制御に影響するため必要になることが多い。
目的変数 設問が直接求める値。 必ず追跡対象にする。
依存変数 目的変数の式や条件へ影響する変数。 逆向きに依存関係をたどる。
制御変数 ループ回数や分岐経路を決める変数。 値そのものが答えでなくても必要。
不要変数 目的値・依存式・制御へ影響しない変数。 追跡省略できる。
依存関係図 どの変数がどの値へ影響するか矢印で整理する。 長いコードで有効。
「何を答えるか」から逆向きに、式と条件で使われる変数をたどる。
最終sumを問うならsum、加えるa[i]、その添字i、ループ条件に使うnを追い、無関係なdebug変数は省略できる。
図解
重要ポイント
- 目的変数: 設問が直接求める値。
- 依存変数: 目的変数の式や条件へ影響する変数。
- 制御変数: ループ回数や分岐経路を決める変数。
- 不要変数: 目的値・依存式・制御へ影響しない変数。
- 必要変数を減らしても、条件判定に使う制御変数まで消してはいけない。
間違えやすい点
- 目的値に直接出ない制御変数を不要と決めつけない。
- 配列添字変数を省略しない。
- 最適化し過ぎて実行経路を失わない。
用語解説
- 目的変数
- 設問が直接求める値。
- 依存変数
- 目的変数の式や条件へ影響する変数。
- 制御変数
- ループ回数や分岐経路を決める変数。
- 不要変数
- 目的値・依存式・制御へ影響しない変数。
- 依存関係図
- どの変数がどの値へ影響するか矢印で整理する。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。