基礎 情報・IT 学習時間の目安:約12分

アルゴリズム:問題を解く「手順」

🔑 一言でいうと

アルゴリズムは、問題を解くためのはっきりした手順。料理のレシピのようなものです。基本は 順次・分岐・繰り返し の3つで、これを図にしたものがフローチャートです。

このページで学べること

  • アルゴリズムとは何かがわかる
  • 順次・分岐・繰り返しの3つの基本構造がわかる
  • フローチャートの読み方がわかる

前提知識

3つの基本構造

アルゴリズムの3つの基本構造
構造意味
順次上から順に実行顔を洗う → 着替える → 朝食
分岐(条件)条件で処理を分ける雨なら傘を持つ/そうでなければ持たない
繰り返し(反復)同じ処理を何度も1から5まで順に足していく
💡 フローチャートの記号

始め・終わりは角丸、処理は長方形、条件(分岐)はひし形で表し、矢印で流れをつなぎます。ひし形からは「はい/いいえ」の2方向に分かれます。

図でイメージする(分岐のフローチャート)

雨?
はい 傘を持つ
いいえ 傘を持たない
ひし形が条件(分岐)。条件が成り立つかどうかで、進む先が変わります。

例題(くわしい手順)

「1 から 5 までの合計を求める」手順を、順にたどってみます。

🧭 手順
  1. 準備:合計を入れる箱を 0 にする(初期化)。
  2. 繰り返し:1,2,3,4,5 を順に、箱の値にたしていく。
  3. 箱の値は 0→1→3→6→10→15。合計は 15。

アルゴリズムは「順次・分岐・繰り返し」で表せます。これは繰り返しでたし込む例です。

アルゴリズムの3つの基本

アルゴリズムの3つの基本
構造意味
順次上から順に実行する手順を1つずつ
分岐条件で処理を分ける80点以上なら合格と表示
繰り返し同じ処理をくり返す5回たし込む

どんなに複雑なプログラムも、この3つの組み合わせで表せます。フローチャートで整理できます。

よくある間違い

⚠️ 間違い①:手順があいまい

アルゴリズムはだれがやっても同じ結果になる必要があります。「いい感じに」ではなく、はっきりした手順にします。

⚠️ 間違い②:分岐の片方を書き忘れる

条件(ひし形)からは「はい」と「いいえ」の両方の流れが必要です。片方だけだと処理が止まります。

⚠️ 間違い③:繰り返しの終了条件がない

「いつ終わるか」を決めないと無限に繰り返し(無限ループ)になります。終了条件を必ず入れます。

練習問題

まず自分で考えてから解説を開きましょう。

基本1

「雨なら傘を持ち、そうでなければ持たない」は、3つの基本構造のどれですか。

次から選びましょう

解答・解説を見る

答え:分岐(条件)

「雨か?」という条件で処理が2つに分かれています。フローチャートではひし形で表します。

基本2

同じ処理を決まった回数くり返す構造を何といいますか。

次から選びましょう

解答・解説を見る

答え:繰り返し(反復)

「10回くり返す」「終わりまでくり返す」のように、同じ処理を何度も行う構造です。

応用

「合計に1、2、3、4、5を順に足す」を繰り返しで実行すると、合計はいくつになりますか。

解答・解説を見る

答え:15

合計を0から始め、1→3→6→10→15 と足していきます。
「合計に次の数を足す」処理を、数がなくなるまで繰り返す——これが反復の考え方です。

応用2

同じ手順で「2, 4, 6 の合計」を求めると、いくつになりますか。

解答・解説を見る

答え:12

箱を0にして順にたす:0→2→6→12

合計を求める手順は「0から始めて順にたす」の繰り返しです。同じ手順が、数がちがっても使えるのがアルゴリズムの利点です。


よくある質問

Q. アルゴリズムとは何ですか?

問題を解いたり目的を達成したりするための、はっきりした手順のことです。料理のレシピのように、順番に実行すれば同じ結果が得られます。

Q. アルゴリズムの基本構造は?

順次(上から順に実行)、分岐(条件で処理を分ける)、繰り返し(同じ処理を反復)の3つです。これらを組み合わせて複雑な処理を作ります。

Q. フローチャートはなぜ使うのですか?

手順を図にすると、順序と分かれ道が一目で分かり、書く前に間違いを見つけられます。記号は「開始・終了」「処理(長方形)」「条件(ひし形)」の3つを覚えれば読めます。

Q. プログラミングの前にアルゴリズムを学ぶ意味は?

言語が変わっても手順の考え方は変わらないからです。「順次・分岐・繰り返し」の3つが分かっていれば、どの言語でも同じ流れで書けます。

次に学ぶ内容

📚 参考・監修方針

高校「情報I」〜ITパスポート相当の範囲を参照し、オリジナルに作成(実在試験問題の転載はありません)。正確性は編集・監修フローで確認しています(仕様書 第11章)。

最終更新日: 最終確認日: このページの誤りを報告する