円周率をプログラミングで計算 大人も楽しいScratch
『Scratchで楽しく学ぶアート&サイエンス 改訂第2版』より
ブックコラム
多くの小学校で使われている、ビジュアルプログラミング環境「Scratch(スクラッチ)」。教育用プログラミング言語とも言われることから、Scratchを子ども専用と思われている人も多いかもしれません。いえいえ、そんなことはありません。Scratchはオブジェクト指向のプログラミング言語として奥深さと実力を備えており、子どもから大人まで、だれでもプログラム作成を楽しめます。ここでは、石原淳也『Scratchで楽しく学ぶアート&サイエンス 改訂第2版』(日経BP)から円周率を求めるプログラムについて、担当編集者がご紹介します。
◇ ◇ ◇
Scratchは、マサチューセッツ工科大学(MIT)メディアラボが提供しているプログラミング言語です。WebブラウザーでMITのサイト(https://scratch.mit.edu)にアクセスし、「作る」のリンクをクリックするだけですぐに使えます。
Scratchは、ブロックを並べてプログラミングできる手軽さから、子ども「専用」と思われていることも多いですが、そうではありません。子供だましではない"本物"のプログラミング環境なのです(日経クロステック「簡単だけど奥深い!Scratchプログラミングの魅力」https://xtech.nikkei.com/it/article/COLUMN/20111019/371078/参照)。
そのため、Scratchを使って、コンピューターの基本となる「加算器」のプログラムを作ったり、フラクタル図形を自在に描いたり、シューティングゲームに出てくるような3D迷路を表示したりできます。ここでは、その一例として、モンテカルロ法で円周率を求めるプログラムを、本書から抜粋して紹介しましょう。