たった数行で九九をマスター?プログラミングの「サイクル」が生む驚きの効率化(スフィロ)
サイエンストレーナーの桑子研です。毎日が実験。
「同じことを何度も繰り返すのって、ちょっと退屈だな……」と思ったことはありませんか?実は、その「退屈」を「楽しい」に変えてくれるのが科学やプログラミングの力なんです。人間は飽きてしまいますが、コンピュータやロボットは、同じ作業を何度繰り返しても全く嫌な顔をしません。
今回は、そんなロボットの得意技を活かして、前回作った「九九の計算プログラム」を、驚くほどスッキリと「美しく」書き換える方法をご紹介します。

スフィロ(Sphero)は、プログラミングができるボール型ロボットです。手頃な価格ながら、本格的な制御が学べるのが魅力ですね。さて、前回ご紹介した九九のプログラムを覚えていますか?

一歩ずつ命令を並べていくと、このように画面がブロックでいっぱいになってしまいます。単純な繰り返しが多くて、作るのも大変ですし、何より見た目があまりスマートではありませんよね。
効率化の救世主!「ループ(繰り返し)」命令
そんな時にプログラミングを劇的にシンプルにしてくれるのが、「ループ(繰り返し)」という命令です。
科学の世界でも、地球の自転や公転、水の循環など、「サイクル(周期)」は非常に重要な役割を果たしています。プログラムにもこのサイクルの考え方を取り入れてみましょう。まず、ループの回数を「9回」に設定します。そしてその中で、2つの変数「num」と「n」を組み合わせて使います。

使い方はこうです。 まず「num」には、計算したい「段」の数を入れます(例えば3の段なら「3」)。もう一つの変数「n」は、かける数として使い、最初は「1」にしておきます。
すると、スフィロがまず「さん・かける・いちは」と話し、計算結果の「3」を答えます。ここからがループの真骨頂!命令の最後に「n の値を +1 する」という処理を加えます。すると、nは「2」になり、そのままループのスタート地点へ戻るのです。
美しく、機能的なプログラムへ
次にループが回る時は、「3×2」が実行されます。これを9回繰り返すと、スフィロが3の段を最後まで完璧に唱え上げ、プログラムが終了します。
この書き方の素晴らしいところは、「他の人が見た時に一目で仕組みがわかる」という点です。もし「100の段まで計算させたい!」と思っても、ループの回数を変えるだけで済みます。まさに、「最小の努力で最大の成果」を出す、科学的なアプローチですね。
実際の動きはこちらの動画で確認してみてください。
自分が作ったプログラムを眺めて、「もっと短く、もっと美しく書けないか?」と考える。この「リファクタリング」という作業こそが、プログラミングを上達させる一番の近道です。ぜひ皆さんも、スフィロを相棒にして、自分だけの洗練されたコードを追求してみてください!
お問い合わせ・ご依頼について
科学の不思議やおもしろさをもっと身近に!自宅でできる楽しい科学実験や、そのコツをわかりやすくまとめています。いろいろ検索してみてください! ・科学のネタ帳の内容が本になりました。詳しくはこちら ・運営者の桑子研についてはこちら ・各種ご依頼(執筆・講演・実験教室・TV監修・出演など)はこちら ・記事の更新情報はXで配信中!
科学のネタチャンネルでは実験動画を配信中!


