2018-短いプログラム-解説
- 考案国:イギリス
- 正解例
- 説明
- 解答を得るアプローチを1つ示しましょう:
- まずは、ブロックの数が多くても良いのでゴールに到達できる単純なプログラムを作成します。
- 次に、同じブロックのパターンを繰り返している部分を repeat でまとめて、使用するブロックの数を減らします。これを何度か繰り返します。
- 道順によっては、使用するブロックの数を十分小さくできないこともあるでしょう。この迷路の場合は、スタートのあたりは道順がいろいろと考えられますが、図1のように、途中からは一本道です。途中からの道順を良く観察して解析すると、図2のようにパターンを繰り返せば良いことが分かるでしょう。
- 図2の道順で進むことにして、単純なプログラムをつくって見ましょう。図3・図4のようにまとめられそうなブロックのパターンを見つけます。
図1 図2 図3 図4
- 解答を得るアプローチを1つ示しましょう:
- 実際のコンピュータでは
- この問題では、繰り返されているパターンを見つけて、問題を解決しました。
これは、プログラマのコードをタイプする手間を節約するだけでなく、エラーがあった場合にそれをすばやく修正するのにも役立ちます。
繰り返しを活用しなければ、この問題では29個のブロックを使用する必要があります。 - 情報科学やプログラミングにおいて、パターンにうまく抽出することは、あるタイプの問題に対する適切な解決方法を知る上で重要です。パターンや類似の特性に気づくことで、解決法の道筋を見つけ、問題を解決できます。
- この問題であなたが発見した繰り返しのパターンは、アルゴリズムやプログラムの反復構造になります。
- この問題では、繰り返されているパターンを見つけて、問題を解決しました。