【連載】どれ使う?プログラミング教育ツール

プログラミングの基本をScratchでおさらいしよう(反復編)

ー「順次」「反復」「分岐」をわかりやすく

プログラミングの基本になる考え方に「順次」「分岐」「反復」があります。何かプログラムで実現したいことがあるときには、まず、その手順を「順次」「分岐」「反復」の3つの制御構造を使ってフローチャートのようにして考えます。

フローチャートや言葉で手順を考えるところまではイメージがわいても、いざ、その手順をもとに、コンピューターにわかる言葉でプログラムを作るとなると、急に難しく感じてしまうのが初心者にとっての一つ目のハードルになります。前回記事では、子ども向けプログラミングツールとして有名な「Scratch(スクラッチ)」で、「順次」の構造でプログラムを作りましたが、今回は「反復」をやってみましょう。

「反復」ってどういうこと?

「反復」というのは繰り返すことです。プログラムの中の一定の処理を、指定した回数に達するまで繰り返したり、条件が満たされている間繰り返したりします。

「反復」のイメージ

Scratchでやってみよう!

さっそくScratchでやってみましょう。Scratchは無料で利用できる子ども向けのプログラミング環境で、ウェブブラウザでアクセスできます。

前回の記事で作ったプログラムは、ネコのキャラクターを中央から右端まで歩かせるというもの。このプログラムをよく眺めてみると、プログラムの中に同じパターンが見つかりました。パターンAとパターンBの2種類がそれぞれ2回ずつ登場しています。

プログラムの中に同じパターンが見つかった

パターンAとパターンBの違いは、ネコのポーズを決める[コスチュームを*にする]ブロックのコスチューム名です。ネコのコスチュームは2個あり、順に切り替えているので、[コスチュームを*にする]の代わりに、[次のコスチュームにする]ブロックを使うことができます。

[次のコスチュームにする]ブロックに置き換えても同じ指示ができる

同じパターンは「反復」処理をしよう!!

最初に確認したプログラムの、[コスチュームを*にする]ブロックを[次のコスチュームにする]ブロックに置きかえると、次の図の通りになります。2種類あったパターンが1種類になりました。

1種類のパターン4個になった

このように同じパターンが複数出てきたときに、ひたすら同じプログラムブロックをつなぎ続けるのは大変です。4回ぐらいだったら頑張れても、100回分だったらどうでしょう? そんな単純作業は途中で嫌になってしまいますし、ミスも起きやすいし、なにか修正したいときには100回分書き換えなければなりません。こんなときには「反復」を使います。

Scratchでは[*回繰り返す]ブロックを使うと、指定した回数に達するまで同じ処理のパターンを繰り返すことができます。[*回繰り返す]を使ってみましょう。

[*回繰り返す]ブロックを使ってプログラムを整理した

プログラムの長さがとても短くなって、すっきりしましたね!

パターンを見つける目を養おう

このように「反復」を使うと、プログラムの効率が上がり、メンテナンス性も上がります。100回分300個のブロックを並べる根性よりも、やりたいことの中に同じ処理のパターンを見つけ出す力の方が、プログラミングでは重要です。少し工夫すれば反復のパターンに落とし込めそうな場合、その工夫をするのも大切です。

ネコの動きのパターンを反復で処理するというのは、見た目にもわかりやすい例ですが、興味を持っていろいろなプログラムの例をみていくと、え?そんなことも反復の仕組みでやってるんだ……!と意外に思うことがたくさんあります。プログラムの例を見るときにはどんなところで反復を使っていているのか、ぜひ意識してみてください。

長く複雑そうに見える手順の中にある一定のパターンを見抜く力や、反復できるパターンを使って一定の処理をさせるような視点がプログラミングは大切なんだな、というイメージを持って、少しずつ慣れていきましょう!

「どれ使う?プログラミング教育ツール」これまでの記事

2019年~2022年4月まで「窓の杜」掲載

狩野さやか

株式会社Studio947のデザイナー・ライター。ウェブサイトやアプリのデザイン・制作、技術書籍の執筆に携わる。自社で「知りたい!プログラミングツール図鑑」「ICT toolbox」を運営し、子ども向けプログラミングやICT教育について情報発信している。