プログラミングとは?

コンピュータの処理手順を記述したものをプログラム (program) とよび,プログラムを作成することをプログラミング (programming)といいます。

実を言うと,コンピュータは言われたことしかできない融通の利かない機械です。 プログラムがなければコンピュータは何もできません。みなさんが普段使っている表計算も,スマートフォンのアプリも誰かが作ったプログラムに書かれたとおりに動作しているだけなのです。



ロボットと迷路

プログラムがどんなものなのか理解してもらうために,下のような迷路を考えてみましょう。

いまS地点にいるロボットが迷路の方を向いて立っているとしましょう。あなたはのミッションはロボットがG地点まで脱出できるように,ロボットに命令を与えることです。

使える命令は以下の3つです。

あなたはどんな命令を出せばいいでしょうか?

プログラム1

  1. 進め
  2. 進め
  3. 左を向け
  4. 進め
  5. 進め
  6. 左を向け
  7. 進め
  8. 右を向け
  9. 進め
  10. 右を向け
  11. 進め
  12. 進め
  13. 右を向け
  14. 進め
  15. 進め
  16. 左を向け
  17. 進め
  18. 左を向け
  19. 進め
  20. 進め
  21. 右を向け
  22. 進め

これは立派なプログラムです

もし「前に進めるかどうか」と「ゴールに到達したか」いう条件によって実行する命令を変えたり,繰り返し命令を実行することができるならば,ロボットが自律的に迷路を脱出するような命令を与えることもできます。

左,前,右,後の優先順位で進むという戦略を使います(左手を壁につけながら進む方法です)。

プログラム2

  1. 進め
  2. ゴールに到達するまで,次の命令を繰り返せ
    1. 左を向け
    2. 前に進める状態になるまで,次の命令を繰り返せ
      • 右を向け
    3. 進め

よりプログラムらしくなりましたね。少し複雑ですが,迷路から脱出できることが確認できると思います。

このプログラムなら入口と出口が1つずつあるような迷路は,必ず脱出することができます。