まなびの目標🎯
・アルゴリズムが問題を解決するための方法や手順であることを理解する。
・アルゴリズム表記の流れ図(フローチャート)について理解する。
・プログラミングの基本となる3つの制御構造(順次・分岐・反復)を理解する。
1. アルゴリズムとプログラム
2. フローチャート
3. アルゴリズムを支える3つの制御構造
3.1 順次構造 ~上から順番に~
3.2 分岐構造 ~もし○○なら~
3.3 反復構造 ~〇〇の間は繰り返す~
4. まとめ
5. 確認クイズ
1. アルゴリズムとプログラム
・料理のレシピ
・ライブ会場までの電車の乗り換え案内
これらに共通するのは何でしょうか??
正解は、目的を達成するための「決まった手順」や「方法」であるということです!
・料理のレシピ ⇒目的:料理を完成させる
・ライブ会場までの電車の乗り換え案内 ⇒ 目的:コンサートに参加する
コンピュータの世界では、このような問題を解決(目標を達成)するための方法や手順のことをアルゴリズムと呼びます。
コンピュータで行う作業のアルゴリズムを、コンピュータが理解できる”言葉”で具体的に指示する必要があります。そのコンピュータへの指示書がプログラムです。
2. フローチャート
プログラムを作る前に、まず「どういう手順で解決するか?」のアルゴリズムを考えることがとても重要です。
アルゴリズムの処理手順を表記する方法がいくつかあり、本記事では主にフローチャートについて記載していきたいと思います💡
フローチャートとは、アルゴリズム(問題解決の手順)を、決められた図形(記号)と矢印を使って視覚的に表現した図のことです。
📢フローチャートの記号例
開始と終了!はどこか、
条件分岐では何をする?、
ループの始端と終端!はどこか、
をちゃんと意識して、アルゴリズムを理解することは大事です💡
「もし○○ならA、そうでなければB」という、条件によって処理が分かれる(分岐処理:ひし形)フローチャート
★フローチャートの流れ(分岐):

↓
処理: 「外を見る」
↓
条件分岐(ひし形): 「雨が降っているか?」
↓ (Yesの場合)
処理: 「傘を持っていく」
↓
終了
↓ (Noの場合)
処理: 「傘を持っていかない」
↓
終了
複数の処理について表すには、統一モデリング言語(United Modeling Language, UML)が使われることが多く、UMLであるアクティビティ図、状態遷移図なども広く使用されています。※フローチャート、アクティビティ図、状態遷移図を作ってみたい!という方は、
・draw.io(diagrams.net)
・Google Drawing
などのツールが無料で使えて便利です!ご興味ある方は、是非!
3. アルゴリズムを支える3つの制御構造
プログラムの基本的な構造は、順次構造、分岐構造、反復構造という3つの基本構造の組み合わせから出来ています。これらは、制御構造と呼ばれます。
3.1 順次構造 ~上から順番に~
順次構造は、書かれた処理を上から下へ、順番通りに一つずつ実行していく、最もシンプルな構造です。
フローチャート(フローチャートは基本上から下へ、左から右へ、です💡)
上から順に、処理1→処理2→・・・という流れで作業を進めます!
3.2 分岐構造 ~もし○○なら~
分岐構造は、「もし条件が○○ならAを実行し、そうでなければBを実行する」というように、ある条件によって処理の流れを分ける構造です。条件分岐、とも言います。
例えば、「テストの点数が60点以上なら『合格』と表示し、そうでなければ『不合格』と表示する」といった処理が分岐にあたります。Yesの道とNoの道、どちらか一方しか実行されないのがポイントです。
※上の 例:傘を持っていくかどうかの判断 ☔のフローチャートが、この分岐にあたります!
同じプロセスでも、上記のようにフローチャートでの表現の仕方は複数あることもあります。
より使いやすく、伝わりやすい、フローチャートを作成してみてください!
4. まとめ
・アルゴリズムとは「問題を解決するための手順」のことで、プログラミングを行う上での設計図となる考え方です。
・アルゴリズムの処理の流れは、フローチャート(流れ図)を使うことで、視覚的に分かりやすく表現できます。
・どんなに複雑なプログラムも、基本的には順次構造、分岐構造、反復構造という3つの制御構造の組み合わせで作られています。
・プログラムを書き始める前に、まずアルゴリズムをしっかり考えることで、処理の流れが整理され、間違いの少ない効率的な開発に繋がります。
5. 確認クイズ
Q1. フローチャートにおいて、「もし〜ならA、そうでなければB」という条件による処理の分かれ道を表す記号はどれですか?
- 長方形
- ひし形
- 端子(丸い四角)
正解!
不正解!
ひし形
ヒント:記事中の「傘を持っていくか?」の判断で使われていた図形です。
Q2. 3つの基本制御構造のうち、「処理を上から下へ、書かれた順番通りに実行する」最も基本的な構造を何と呼びますか?
- 反復構造
- 分岐構造
- 順次構造
正解!
不正解!
順次構造
ヒント:プログラムに特別な指示がない限り、コンピュータはこの流れで動きます。
Q3. アルゴリズムを考える際にフローチャートを使う、一番の利点は何ですか?
- コンピュータの動作が速くなる
- プログラムを自動で生成できる
- 処理の流れを視覚的に整理できる
正解!
不正解!
処理の流れを視覚的に整理できる
ヒント:文章だけで手順を読むより、図で見た方が分かりやすいですよね。
Q4. 複雑なアルゴリズムも、3つの制御構造の組み合わせで表現されます。その3つとは、順次構造、分岐構造とあと一つは何構造ですか?
- 反復
- 出力
- 命令
正解!
不正解!
反復
ヒント:「ループ」とも呼ばれる、同じ処理を何度も行う構造です。
確認クイズは、いかがでしたでしょうか?今回の学習内容が、皆さんの情報活用能力を高める一助となれば幸いです。閲覧いただき、ありがとうございました!
※本記事 教科書該当範囲
教科書名 | 該当章 |
新編情報Ⅰ(東京書籍) | 3章 24. アルゴリズムの表現, 25. プログラムの基本構造1, 26. プログラムの基本構造2 |
最新情報I(実教出版) | 第6章 1節 1. アルゴリズムとその表記 |
高校情報ⅠJavaScript(東京書籍) | 第6章 30. アルゴリズムとプログラミング, 31. プログラミングの基本 |
高校情報ⅠPython(東京書籍) | 第6章 30. アルゴリズムとプログラミング, 31. プログラミングの基本 |
本サイトは、教科書をベースに構成しています。使える「情報Ⅰ」を目指し、毎週月曜日に新しい記事を発信予定です。



本記事に対し、お気づきの点ございましたらお問い合わせよりご連絡頂けますと幸いです。
コメント