配列の合計と最大値を求める可視化 — フローチャートで
プログラムの超基本、「配列を1つずつ見て集計する」アルゴリズムです。ここでは合計と最大値を同時に求めます。i を 0 から n まで進めながら、各要素を合計に足し、最大値かどうかを判定する——このループと分岐を、右のフローチャートを1ステップずつ通過しながら確かめてください。科目Bのトレース問題の土台になる形です。
合計
0
最大値
–
i
–
🔀 フローチャート(いま実行中の処理が光ります)
いま何をしているか
「配列を1つずつ見て集計する」基本形
合計・最大・最小・平均・個数……集計の多くは、ループで配列を先頭から末尾まで走査し、変数に足したり比べたりするだけで求まります。ここで押さえるべきは2つ。①繰り返しの判定(i < n の間くり返す)と、②その中での処理(合計に足す・最大かどうか比べる)です。上のフローチャートの「くり返し」の矢印が、ループの本体を何度も通る様子を表しています。
初期値の置き方がポイント
合計は 0 から始めます(何も足していない状態)。最大値は 先頭要素 a[0] で初期化するのが定石です(「まだ何も見ていない」を表すのに、とても小さい値を入れる方法もあります)。初期値を間違えると答えがずれるので、トレース問題では最初の値をよく確認しましょう。
基本情報技術者試験ではこう出る
科目Bでは、配列を走査して合計・最大・個数などを求める擬似言語を読んで、変数の値を1行ずつ追う「トレース」が頻出です。ループの判定条件とループ内の処理・分岐を分けて追う習慣がつくと、確実に解けるようになります。関連:擬似言語ステッパー / 探索 / 可視化一覧。