「アルゴリズム」という言葉をよく聞くけれど、どういう意味なの?と疑問に思っている方も多いのではないでしょうか?
高校の授業ではプログラミングも導入され、プログラミングを学ぶ上でアルゴリズムの理解は欠かせません。
今回は、とりあえず「アリゴリズム」の概要を知りたい!という方向けに 「アリゴリズム」の意味と小学生でも学べるサイトの紹介の2点に絞って簡単に説明していきます。
ご家庭や学校での学習に役立てていただければと思います。
この記事を書いた人 taka
女子高校生の娘がいる在宅ワーカー
1995年のWindows95発表以来、暇さえあればインターネットで情報収集をしている。
教育現場でのICT活用に携わった経験をもつ。
アルゴリズムとプログラミングの違い
アルゴリズムとは
ある特定の問題を解いたり、課題を解決するための計算手順や処理手順のことです。
出典:デジタル大辞泉
似たような意味の言葉に「プログラム」や「プログラミング」があります。ではそれぞれの違いを見ていきましょう。
プログラミング:コンピュータに処理させたい計算手順や処理手順を記述すること
プログラム:計算手順や処理手順をコンピュータにわかる言葉で示したもの
アルゴリズム:ある特定の問題を解いたり、課題を解決するための計算手順や処理手順のこと
すでに皆さんもお気づきだと思いますが、プログラミングもプログラムもアルゴリズムも計算手順や処理手順に関係していることがわかりますね。
では実際の仕事をイメージして、この3つの違いを確認していきましょう。
仕事の流れをイラストで見てみよう
アルゴリズムとプログラミングにはどんな違いがあるのでしょう。仕事の中でどんな風に使われているのかイラストにしたものです。※わかりやすいように実際の業務より簡略化しています。
1.いろいろな人の意見を聞きます。
1.今回は家電メーカーの商品開発を例にあげてみます。製品を製造する前にたくさんの人の意見を聞き、何が必要かを確認していきます。

2.どのタイミングでどういう処理をするか、細かく設計していきます。
色々な意見を聞いた結果をまとめ、どの機能が必要か、必要でないか、どのタイミングでどの処理をするか、など細かい仕様を決めていきます。
課題を解決するための計算手順や処理手順がアルゴリズムです。手順そのものがアルゴリズムなので、フローチャートに記載して他の人にもわかるようにします。

3.プログラムを作ります。※プログラミング
コンピュータに処理させたい計算手順や処理手順を記述することをプログラミングと言います。プログラミングは専門的な知識が必要なので、専門の人(プログラマー)が行います。
フローチャートや日本語ではコンピュータが理解できない為、コンピュータに理解できる言葉(プログラミング言語)で記述します。
プログラミングでできた成果物がプログラムです。

プログラミングで重要なのはアルゴリズム
上記の流れで、アルゴリズム、プログラミングの違いがわかったと思います。プログラミングで最も重要なのはアルゴリズムだと言っても過言ではありません。
アルゴリズムがしっかりしていないと、出来上がったプログラムも使えないものになってしまいます。
小学校や中学校でもプログラミング的思考を育てる目的で、プログラミング体験の授業が実施されていると思います。しかし、プログラミングという言葉が先行して、アリゴリズムについてはしっかり説明できていないような気がします。
アルゴリズムは、ただ流れを記述すれは良いという事ではありません。できるだけ無駄を少なく、わかりやすくする必要があります。
アルゴリズムは算数や数学の考え方も必要となります。
教育現場でプログラミング体験をスムーズに進めるためには、まずアルゴリズムを理解しておく必要があるのではないかというのが個人的な見解です。
気軽にアルゴリズムが体験できるおすすめサイト
いきなりアルゴリズムと言われても・・と困ってしまいますよね。アルゴリズムの学習におすすめのサイトがありますのでリンクを貼っておきます。
このサイトは、先生がどこまで説明するかで難易度が変わるのではないかと思います。特別支援学級でも少しずつヒントを出しながら使用しましたが、先生や子供たちにはとても好評でした。
JEITA プログラミング体験ゲーム アルゴロジック
レベルによって、1と2があります。アルゴリズムについてわかりやすく説明されていますので、ぜひ アルゴリズムとは を確認されることをお勧めします。
まとめ
ではまとめです。
プログラミング:コンピュータに処理させたい計算手順や処理手順を指示すること
プログラム:計算手順や処理手順をコンピュータにわかる言葉で示したもの
アルゴリズム:ある特定の問題を解いたり、課題を解決するための計算手順や処理手順のこと
フローチャート:処理の流れをわかりやすく示すための図
プログラミングを学ぶ上で、アルゴリズムは超重要
参考資料
- 大修館書店 明鏡国語辞典 第二版 「アルゴリズム」
- 小学館 デジタル大辞泉 「アルゴリズム」
- 岩波書店 国語辞典 第7版新版 西尾実・岩淵悦太郎・水谷静夫[編] P.588 「さんぽう【算法】」
- imidas 「アルゴリズム」
- マイナビ出版 プログラミングの世界へようこそ 尾川一行・中川聡[著]
- JEITA プログラミング体験ゲーム アルゴロジック
- いらすとや 利用規約に沿ってイラストを利用しています。
コメント