ITパスポート対策
アルゴリズムと流れ図
アルゴリズムとは決まった手順
アルゴリズムは、ある問題を解くための決まった手順のことです。料理のレシピと同じで、上から順に実行すれば誰がやっても同じ結果になります。必ず有限回で終わること、同じ入力なら同じ結果になることが条件です。
その手順を図で表したものが流れ図(フローチャート)です。ITパスポートでは、応用情報などで使われる擬似言語ではなく、この流れ図が出題の中心になります。
流れ図の記号
記号の意味を覚えていないと問題文が読めません。よく出るものは次のとおりです。
| 記号 | 名前 | 意味 |
|---|---|---|
| 角の丸い四角 | 端子 | 開始と終了 |
| 長方形 | 処理 | 計算や代入 |
| ひし形 | 判断 | 条件で分岐する |
| 平行四辺形 | データ | 入力と出力 |
| 六角形 | ループ端 | 繰返しの始まりと終わり |
| 矢印 | 線 | 流れの向き |
矢印の向きが上に戻っていれば、そこが繰返しです。
3つの基本構造
どんなに複雑な流れ図も、次の3つの組み合わせでできています。
- 順次。上から順に1つずつ実行する
- 選択。条件が成り立つかどうかで進む道を分ける
- 繰返し。条件が成り立つ間、同じ処理を何度も実行する
繰返しには2種類あります。条件を先に調べる前判定型は、条件が最初から成り立たなければ1回も実行されません。処理をしてから条件を調べる後判定型は、必ず1回は実行されます。この差が問題の答えを分けます。
トレースして変数を追う
流れ図の問題は、変数の値を1行ずつ書き出せば必ず解けます。次の手順を追ってみます。矢印 ← は右の値を左の変数に入れる、という意味です。
x ← 0
i ← 1
i ≦ 5 の間、次を繰り返す
x ← x + i
i ← i + 1
x を出力する表を書いて埋めます。
| 繰返し | 判定 i ≦ 5 | x ← x + i | i ← i + 1 |
|---|---|---|---|
| 1回目 | 1 ≦ 5 で成立 | 0 + 1 = 1 | 2 |
| 2回目 | 2 ≦ 5 で成立 | 1 + 2 = 3 | 3 |
| 3回目 | 3 ≦ 5 で成立 | 3 + 3 = 6 | 4 |
| 4回目 | 4 ≦ 5 で成立 | 6 + 4 = 10 | 5 |
| 5回目 | 5 ≦ 5 で成立 | 10 + 5 = 15 | 6 |
| 6回目 | 6 ≦ 5 で不成立 | 繰返しを抜ける |
出力される x は 15 です。1 から 5 までの合計になっています。
試験ではこう問われます
狙われる点は次のとおりです。
- 「終了時点の変数の値はどれか」。頭の中で暗算せず、必ず表を書いてください。書けば確実に取れる、いちばん得点しやすい問題です
- 条件が i ≦ 5 か i < 5 かで、繰返しの回数が1回ずれます。選択肢にはそのずれた答えが必ず置かれています
- 前判定型と後判定型の違い。条件が最初から成り立たない場合、後判定型だけが1回実行されます
- x ← x + 1 のような代入。左と右で同じ変数が出てきますが、右側は代入前の古い値です
編集 LuaGate編集部