プログラミングフォーラム

(PASCAL,FORTRAN)


1.はじめに

 このフォーラムではガントチャートとソートのプログラムを作成したのでその二つのプログラムと解説を発表することにします。


2.ソート

 ソートはプログラムの勉強にうってつけの例ではないかと、私は思っています。でも、自分でそのように思っている割にはソートについての知識はほとんどありません。まあ、付け焼き場の知識ではありますが、一緒に簡単なソートについて勉強してみましょう。

 ソートとはデータを大きい順(昇順)あるいは小さい順(降順)に並べ替えることです。どんな時に使うかというと、例を挙げればきりがないと思います。例えば、試験の結果を得点の高い順(降順)に並べ替えたり、パソコンの中に記憶されているファイルを新しいもの順に並べ替えたり、体育の時間なんかでは背の低い順に並ばせたりしますね。色々なことに活用できるわけです。  今回は、幾つかある数値データを昇順に並べ替えるもので選択法と呼ばれるプログラムを作ってみたいと思います。

 今、ここに、「50,21,2,24,10」という5つの数値データがあるとしましょう。これを小さい順に並べ替えてみて下さい。並べ替えましたか?頭の中で結構ですから、実際に並べ替えてみてください。  並べ変えると「2,10,21,24,50」となります。合ってましたか?では、ここで一つ質問です。あなたはどういう考え方に基づいて数字の並べ替えを行いましたか?  えっ?!と思いますよね。こんな簡単な事は考え方なんかほとんど意識すること無くやってのけることが出来ますね。では、今度は意識しながらやってみましょう。小さい順に並べるわけですから、やっぱりまず最初に一番小さい数を選び出そうと考えます。そしてそれは2ですね。 2を一番左に持ってきて、今度は二番目に小さい数(10)を選んで次は三番目に小さい数・・・というぐあいにあなたはやってきたわけです(ィそらく)。このアルゴリズムを図を使って説明します。

    50  21  2  24  10     50と21を入れ替える
    ┗━━┛
     比較

    21  50  2  24  10     21と2を入れ替える
    ┗━━━━━┛
      比較

    2  50  21  24  10      2と24は入れ替えない

    ┗━━━━━━━━┛
        比較

    2  50  21  24  10      2と10も入れ替えない
    ┗━━━━━━━━━━┛
         比較

    2  50  21  24  10      一番小さい数が決まる。
    ↑  ┗━━┛            今度は2番目に小さい数を探す
   最小   比較

図2.ソートの様子


3.ガントチャート

図2.ガントチャートの例(その1)


4.最後に

 ここに載せた文章は、中央大学管理工学研究部が発行する機関誌RANDOMで連載したものを修正・加筆したものです。
 ちょっと手抜きなところもありますが、当時の限られた時間の中で作られた文章やプログラムです。修正している今もレポートに追われている毎日で、満足なものに仕上げることが出来なかったのが残念です。特にガントチャートのプログラムはあまり深く考えずに作ったもので、違った計算結果が出るかも知れません。お恥ずかしい限りです。
 以上、申し訳ありませんが、見苦しい弁解で終わらさせていただきます。

担当:佐藤


戻る

管研ホームページ