配列の合計と最大値を求める可視化 — フローチャートで

プログラムの超基本、「配列を1つずつ見て集計する」アルゴリズムです。ここでは合計最大値を同時に求めます。i を 0 から n まで進めながら、各要素を合計に足し、最大値かどうかを判定する——このループと分岐を、右のフローチャートを1ステップずつ通過しながら確かめてください。科目Bのトレース問題の土台になる形です。

合計
0
最大値
i

🔀 フローチャート(いま実行中の処理が光ります)

No Yes Yes No くり返し 開始 初期化: 合計=0, 最大=a[0], i=0 i < n ? 合計・最大を出力 合計 ← 合計 + a[i] a[i] > 最大 ? 最大 ← a[i] i ← i + 1

いま何をしているか

「配列を1つずつ見て集計する」基本形

合計・最大・最小・平均・個数……集計の多くは、ループで配列を先頭から末尾まで走査し、変数に足したり比べたりするだけで求まります。ここで押さえるべきは2つ。①繰り返しの判定(i < n の間くり返す)と、②その中での処理(合計に足す・最大かどうか比べる)です。上のフローチャートの「くり返し」の矢印が、ループの本体を何度も通る様子を表しています。

初期値の置き方がポイント

合計は 0 から始めます(何も足していない状態)。最大値は 先頭要素 a[0] で初期化するのが定石です(「まだ何も見ていない」を表すのに、とても小さい値を入れる方法もあります)。初期値を間違えると答えがずれるので、トレース問題では最初の値をよく確認しましょう。

🧩 アルゴリズムをもっと動かすなら:ループと配列の操作は 擬似言語ステッパー、フローチャート付きは 探索ソート互除法エラトステネスの篩 で確かめられます。

基本情報技術者試験ではこう出る

科目Bでは、配列を走査して合計・最大・個数などを求める擬似言語を読んで、変数の値を1行ずつ追う「トレース」が頻出です。ループの判定条件ループ内の処理・分岐を分けて追う習慣がつくと、確実に解けるようになります。関連:擬似言語ステッパー探索可視化一覧