アルゴリズムって何?アルゴリズム入門

こんにちは。

皆さんは「アルゴリズム」って聞いたことありますか?

きっと名前ぐらいは聞いたことあるんじゃないかと思います。

でも、具体的にはあんまり何のことかわからない、、、って人も多いんじゃないでしょうか?

そこで、今回からアルゴリズムについて説明するコーナーを増設したいと思います!!

僕も一から勉強していくので、一緒に頑張りましょう。

アルゴリズムとは

最近、アルゴリズム、という単語を耳にする機会が増えたと思います。何となくプログラムに関することかなーというイメージだけあったりするかもしれません。

アルゴリズムとは「ある問題を解決するための手順や計算方法」のことです。ある課題があった時に、その答えを求めるときの手順を明確に示すことで、その手順をこなすことで誰でも同じ答えにたどり着くことができます。

プログラミングにおいては、一つの課題を解決する時に複数の解法が存在することが多々あります。その場合には、より単純なアルゴリズムを実装することで、同じ答えにたどり着くとしてもその作業時間を大幅に短縮することができます。

その意味でアルゴリズムの考え方を抑えておくことは重要な意味を持つといえるのです。

ここでは、プログラミング言語にpythonを用いて、例を示しながらアルゴリズムの説明をしていきたいと思います。

フローチャート

アルゴリズムの具体的な説明をする前に、フローチャートについて一度見てみましょう。

フローチャートとは、「特定の結果を出すために実行される一連の工程を、視覚的に表現した図です。複雑な業務プロセスや、システム、アルゴリズムを分かりやすく文書化するために一般的に使用されています。」(「フローチャートの概要」フローチャートガイドより)

プログラミングを学ぶ中で、ソースコードを読むことに苦労することがあるかと思います。そこで、その処理を図で表すことで、より直感的に理解することができるというわけです。

フローチャートは決められた記号を使って描かれます。この記号は正式に定められており、勝手に変えるとみる人が混乱するので注意しましょう。主な記号を以下に示します。

(「フローチャートの作成」フロチャートガイドより)

 

では、簡単なフローチャートを書いてみましょう。

次のフローチャートは、繰り返し処理を用いて0以上10未満の奇数を出力するプログラムを表現したものです。

これをコードで書くと以下のようになります。

for i in range(10):
  if i%2 ==1:
    print(i)    

どうでしょうか。フローチャートだと視覚的に理解することができますね。

今はまだコード自体が短いのであまり恩恵を感じられないかもしれませんが、これが複雑になればなるほど図で見ると分かりやすく感じるはずです。

区切りが良いので今回はここまでにします。

また次回お会いしましょう(^^)/

コメントを残す

メールアドレスが公開されることはありません。