ITパスポート対策

アルゴリズムと流れ図

アルゴリズムとは決まった手順

アルゴリズムは、ある問題を解くための決まった手順のことです。料理のレシピと同じで、上から順に実行すれば誰がやっても同じ結果になります。必ず有限回で終わること、同じ入力なら同じ結果になることが条件です。

その手順を図で表したものが流れ図(フローチャート)です。ITパスポートでは、応用情報などで使われる擬似言語ではなく、この流れ図が出題の中心になります。

流れ図の記号

記号の意味を覚えていないと問題文が読めません。よく出るものは次のとおりです。

記号名前意味
角の丸い四角端子開始と終了
長方形処理計算や代入
ひし形判断条件で分岐する
平行四辺形データ入力と出力
六角形ループ端繰返しの始まりと終わり
矢印流れの向き

矢印の向きが上に戻っていれば、そこが繰返しです。

3つの基本構造

どんなに複雑な流れ図も、次の3つの組み合わせでできています。

  1. 順次。上から順に1つずつ実行する
  2. 選択。条件が成り立つかどうかで進む道を分ける
  3. 繰返し。条件が成り立つ間、同じ処理を何度も実行する

繰返しには2種類あります。条件を先に調べる前判定型は、条件が最初から成り立たなければ1回も実行されません。処理をしてから条件を調べる後判定型は、必ず1回は実行されます。この差が問題の答えを分けます。

トレースして変数を追う

流れ図の問題は、変数の値を1行ずつ書き出せば必ず解けます。次の手順を追ってみます。矢印 ← は右の値を左の変数に入れる、という意味です。

x ← 0 i ← 1 i ≦ 5 の間、次を繰り返す x ← x + i i ← i + 1 x を出力する

表を書いて埋めます。

繰返し判定 i ≦ 5x ← x + ii ← i + 1
1回目1 ≦ 5 で成立0 + 1 = 12
2回目2 ≦ 5 で成立1 + 2 = 33
3回目3 ≦ 5 で成立3 + 3 = 64
4回目4 ≦ 5 で成立6 + 4 = 105
5回目5 ≦ 5 で成立10 + 5 = 156
6回目6 ≦ 5 で不成立繰返しを抜ける

出力される x は 15 です。1 から 5 までの合計になっています。

試験ではこう問われます

狙われる点は次のとおりです。

  • 「終了時点の変数の値はどれか」。頭の中で暗算せず、必ず表を書いてください。書けば確実に取れる、いちばん得点しやすい問題です
  • 条件が i ≦ 5 か i < 5 かで、繰返しの回数が1回ずれます。選択肢にはそのずれた答えが必ず置かれています
  • 前判定型と後判定型の違い。条件が最初から成り立たない場合、後判定型だけが1回実行されます
  • x ← x + 1 のような代入。左と右で同じ変数が出てきますが、右側は代入前の古い値です
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部