アルゴリズムとは、直訳すると「算法」という意味です。砕いて言うと、何か問題を解決するときの考え方です。
プログラムを組む際に一番大事なことは、ロジック(処理手順、処理内容など)です。
これがしっかりしているのと、していないのとでは、プログラムの出来に雲泥の差が有ります。
プログラミングといっても、そんなに難しく考える必要はありません。
コンピュータは単なる機械で、『こんなことをしなさい』という部分を丁寧に命令する必要があるだけです。
たとえば、幼児に教えるように。
と、1から10まで、なにもかも指図しなければならないだけです。
例)信号を渡るときの動作
フローチャートはアルゴリズムをわかりやすく図にしたものです。
上記の例をフローチャートにすると、以下のようになります。
フローチャートの利点は
などがあります。 |
フローチャートの記号
記号 |
呼び方 |
意味 |
![]() |
端子 | フローチャートの始まりおよび終わりを表す |
![]() |
処理 | 計算、代入などの処理を示す |
![]() |
判断 | 条件によって分岐する |
![]() |
ループの始まり | 繰り返しの始まりと終わり |
![]() |
ループの終わり | |
![]() |
入力 | キーボードからの入力 |
![]() |
表示 | ディスプレイへの表示 |
![]() |
サブルーチン | サブルーチン(モジュール) |
フローチャートを書くときのルール
|
フローチャートには基本的に3つの構造を組み合わせて作る。
原則的には、これらの組み合わせでどんなアルゴリズムでも表記できる。
順次構造とは、その名の通り、処理が上から下へ単純に並んでいる構造を言う。最も単純な構造なので、手直しなども簡単である。 | ![]() |
分岐条件とは、ある条件によって処理が分かれる構造である。条件は「Yes」か「No」で表されるものが多く単純であるが、いくつかの条件を同時に満たしているとか、複数条件のうち一つ以上を満たしているとか、ある値が1だったら○○○、2だったら△△△、3だったら◇◇◇、それ以外だったら×××、というような分岐もある。 ここで重要なことは、処理が分かれても、後に合流することである。 |
![]() |
反復構造とは、ある条件を満たしているうちは、処理を実行するという構造である。 この条件をきちんと設定しておかないと、いつまでたっても反復処理から抜け出せず、いわゆる”無限ループ”となる。また、条件をどこで設定するかによって、2種類に分けられる。すなわち、前判定型と、後判定型である 。ここで、「前」とか「後」というのは、処理に対してという意味で、前判定型は条件によっては処理を一度も行わない。これに対して後判定型は、どんな条件でも最低1回は処理を行う。 |
|
![]() 後判定 |
電話をかける場合のフローチャートを考えなさい。
(携帯電話ではなく、家の有線電話の場合で考えてください)