JEITA:|プログラミング体験ゲーム アルゴロジック

MENU

アルゴリズムとは 

「アルゴリズム」とは、コンピューターで計算を行うときの「計算方法」のことです。広く考えれば何か物事を行うときの「やり方」のことなのです。簡単な例として、にんじん一本から星型の輪切りを30個作る方法を考えてみましょう。

方法1 まず輪切りにして、1つ1つを星型にする

1例目は輪切りをたくさん作ってから、それぞれの角を落として星型にする方法です。
これだと、包丁を入れる回数は、輪切りを作るのに31回(端っこを落とすのに2回)それぞれを星型にするのに、10回包丁を入れるので、合計 31+10×30 = 331回包丁を入れます。かなり大変ですね。

方法2 まず星型にしてから、輪切りにする

2例目はにんじん本体を星型に切って(断面が星型の棒になります)それから輪切りにするという方法です。
これは、本体を星型にするのに10回、輪切りにするのに31回なので、なんと包丁を入れる回数は41回に減ります。同じ星型の輪切りを作るのに、ちょっとやり方を変えただけでこれだけ違いがでます。がんばって修行して包丁さばきのスピードをあげる前に、「やり方」の工夫を考えたほうがよさそうですね。

キャベツの千切りでも、葉っぱを一枚一枚千切りにするより、10枚くらい重ねてやったほうが、はるかに効率的です。
こういった工夫がなかったら、とんかつ屋さんで山盛りキャベツを食べる、なんて楽しみは味わえませんね。
ソフトウェアのプログラムは「やり方=アルゴリズム」をプログラミング言語を用いて具体的に記述したものです。「やり方」を工夫して、より良いアルゴリズムを考えることが良いプログラミングであると言うことができます。同じ計算を行うのなら「いい方法でやればより速く計算できる」ということなのです。
「アルゴロジック」はアルゴリズムの考え方を理解していただくためのゲームです。使用するコマンドをできるだけ少なくするなど、ゴールするまでの「やり方」を良く考えてチャレンジしてください!

出典:宇野 毅明 ホームページ:http://research.nii.ac.jp/~uno/index-j.html 

ページTOP