コンピュータを知ろう アルゴリズム編

アルゴリズムって知っていますか
  プログラムを作ると言うことはアルゴリズムを具体化しプログラムにすると言うことになります。
アルゴリズムとは
    • 計算の手順・やり方
    •  ある結果にたどり着くためのやり方
    •  何らかの問題を解決するための数学的計算手順
    •    特定の目的を行う(問題を解く)ための手順
    •  解法
    •  計算や問題解決の手順
    •  問題を解決するための方法や手順のこと
    •  ⁠問題を解くためのものであって,明確に定義され,順序付けられた有限個の規則からなる集合

と色々とアルゴリズムの説明がありますが、アルゴリズムには必要な条件が2つあります。

アルゴリズムに必要な条件は、「正当性」と「停止性」の2つあります。
○ 「正当性」とは 必ず結果が出ます。
アルゴリズムを実行すると必ず結果がでます。
 答えが解る
    二者択一 で 正しい or 間違っている かの結果がでます。

× 答えが全く解らない

○ 「停止性」とは

アルゴリズムを実行すると有効時間(回数)内に結果がでます。
 実行すると結果ともに必ず停止します。
× 無限ループ

アルゴリズムの三大処理 
    • 順次処理
      各処理が直線的につながっている構造
    •  選択処理(分岐処理)
      条件により処理が分かれる構造

    •  繰り返し処理(反復処理)
      判定条件が満たされている間、一連の処理を行う構造

フローチャートとはアルゴリズムを図示化したものです

問題解決のためにアルゴリズムを実行し結果を導き出します。

○ 説明文では

パスワードを入力しパスワードが合えば先に進み、パスワードが3回失敗したら終了

○ 手順書では
① パスワードを入力
② i=i+1        ”カウンタ
③ i=3 になったら、⑤へ
③ ①で入力されたパスワードと登録されているパスワードを比較、間違っていたら①へ
④ 処理
⑤ 終了

○ フローチャートでは

まとめ

〇 アルゴリズムとは、問題解決のためにアルゴリズムの三大処理を用いて手立てや手法で必ず時間(回数)内に結果を導き出すものを言います。

〇 3つの基本構造でプログラムは作られています。だから、この3つの基本構造を理解すれば思い通りのプログラムが作れます。しかし、そう簡単にプログラムは作れません。
例えば、文書の書き方を学んだとします。だからとて「売れる小説」が作れる訳ではありません。本を読んだり、幾つも小説を書いたりして知識や技術・経験などを積み重ねて「売れる小説」が作れるのだと思います。

〇 プログラムの作り方学び、アルゴリズムを知り経験を積んで、「使えるプログラム」が作れます。

〇 昔、programa : プログラム支援ソフト(Win)を使って、フローチャートを組み上げて実行するとプログラムを学習できるフリーソフトがありました。作成者は九州大学大学院 桜井 雅史 さんでよくできたソフトでした。しかし、新しいWindowsのOSでは実行が出来なくなりました。新しい学習指導要領で情報Ⅰではプログラムを教えなくてはなりません。しかし、スクラッチはいいソフトだと思いますが、高校生相手にスクラッチでプログラムを教えるにはどうかと思います。東京書籍の営業の人に教科書とこのソフトをセット販売すれば購入すると言ったのにそれきりで・・・・。
  ここにあります。 https://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/

目次