TOP > アルゴロジックとは
アルゴリズム体験ゲーム・アルゴロジックはプログラミングの基本となる論理的思考(アルゴリズム)をゲーム感覚で習得するための課題解決型ゲームソフトです。プログラミング経験がまったく無い方でも、楽しく「プログラミングをするための考え方」=「アルゴリズム」を知ることができる「アルゴロジック」で、スーパープログラマーを目指してください。
アルゴロジックは、入門編~上級編までの問題を集めた「アルゴロジック」とアルゴロジックの基本動作の覚えるための「アルゴロジックJr.(ジュニア)」の2種類で構成されています。アルゴリズムの考え方に慣れていない方は、アルゴロジックJr.(初心者問題)で基本動作を習得してからアルゴロジック(チャレンジ問題)に取り組むことをおすすめします。
「アルゴリズム」とは、コンピューターで計算を行うときの「計算方法」のことです。広く考えれば何か物事を行うときの「やり方」のことなのです。簡単な例として、にんじん一本から星型の輪切りを30個作る方法を考えてみましょう。
1例目は輪切りをたくさん作ってから、それぞれの角を落として星型にする方法です。これだと、包丁を入れる回数は、輪切りを作るのに31回(端っこを落とすのに2回)それぞれを星型にするのに、10回包丁を入れるので、合計 31+10×30 = 331回、包丁を入れます。かなり大変ですね。
2例目はにんじん本体を星型に切って(断面が星型の棒になります)それから輪切りにするという方法です。
これは、本体を星型にするのに10回、輪切りにするのに31回なので、なんと包丁を入れる回数は41回に減ります。
同じ星型の輪切りを作るのに、ちょっとやり方を変えただけでこれだけ違いがでます。
がんばって修行して包丁さばきのスピードをあげる前に、「やり方」の工夫を考えたほうがよさそうですね。
キャベツの千切りでも、葉っぱを一枚一枚千切りにするより、10枚くらい重ねてやったほうが、はるかに効率的です。こういった工夫がなかったら、とんかつ屋さんで山盛りキャベツを食べる、なんて楽しみは味わえませんね。
ソフトウェアのプログラムは「やり方=アルゴリズム」をプログラミング言語を用いて具体的に記述したものです。「やり方」を工夫して、より良いアルゴリズムを考えることが良いプログラミングであると言うことができます。同じ計算を行うのなら「いい方法でやればより速く計算できる」ということなのです。
「アルゴロジック」はアルゴリズムの考え方を理解していただくためのゲームです。使用するコマンドをできるだけ少なくするなど、ゴールするまでの「やり方」を良く考えてチャレンジしてください!
出典:宇野 毅明 ホームページ:http://research.nii.ac.jp/~uno/index-j.html
プログラムの3つの制御構造とは「順次」「繰り返し」「分岐」という基本的な処理のことを言います。
プログラムはこの3つの制御構造を組み合わせることによって表現出来ます。
※図はフローチャートという、実際のプログラミングでも使用するプログラムの動作手順を示す表記方法です。
“順次処理”とは順番に命令を実行する処理です。
左のフローチャートは下図のロボットに旗を取らせるための例です。
“繰り返し処理”とは同じことを繰り返す処理です。
左のフローチャートでは「前に進む」の処理を繰り返しています。
“分岐処理”とは条件によって実行の流れが変わる処理です。
左のフローチャートでは、もし(IF)前に壁がある場合には右を向き、
前に壁がない場合(ELSE)には前に進む処理を繰り返しています。