プログラミングの基本構造とは、プログラミングの流れを決める3つの考え方です。
これらの基本構造を組み合わせることで、さまざまなプログラムを作ることができます。
この記事では、順次・分岐・反復の3つの構造について、子ども向けに身近な例を交えて解説します。
プログラミングとは
プログラミングとは、コンピュータに「何をすればいいのか」を教えるための手順を作ることです。
スマホやパソコン、多くの家電製品などは、人間が書いたプログラム通りに動いています。
たとえば、パソコンでゲームをすると、ゲーム画面が動いたり、音が鳴ったりします。これは、ゲームのプログラムがパソコンに命令を送っているからです。
このようにプログラミングを学ぶことで、コンピュータを使って自分のアイデアを形にしたり、新しい技術を開発したりすることができます。
プログラミングの基本構造とは
プログラミングにはプログラムの流れを決める3つの考え方(基本構造)があります。
どんなに複雑なプログラムも、基本的に順次・分岐・反復の組み合わせで作られています。これらをうまく組み合わせて、コンピュータにさまざまな動きや作業をさせることができます。
なので、これらの3つの考え方を理解することは、プログラミングの基本を学ぶうえでとても大切です。
順次
順次とは順番に命令を実行すること
順次とは、コンピュータが受けた指示や命令を、書かれた順番どおりに一つずつ実行することです。
たとえば、カップラーメンを作る手順をプログラムするなら、
- お湯をわかす
- カップラーメンにお湯を注ぐ
- 3分待つ
というように、順番に命令を実行します。
順次のプログラムを作ってみよう!
順次のプログラムを作ってみましょう。
- ハタが押されたとき
- 50歩動かす
- 1秒待つ
- こんにちは! と2秒言う
- 1秒待つ
- ニャーの音を鳴らす
ハタをおして実行したとき、ネコが右に動いた後、こんにちは!と言って、ニャーと音が鳴るはずです。
このように、プログラムは上から順番に命令を実行していることが分かります。
分岐
分岐とは条件によって処理を変えること
分岐とは、条件によって、実行する処理を変えることです。
たとえば、天気によって、ぼうしをかぶるか、カサをさすかを決めるプログラムなら、
- 天気をみる
- 雨なら、カサをさす
- 雨でなければ、ぼうしをかぶる
というように、条件に応じて、実行する処理を変えます。
分岐のプログラムを作ってみよう!
分岐のプログラムを作ってみましょう。
- ハタが押されたとき
- 現在の秒と言う
- もし 現在の秒 > 30 なら
- 色の効果を25ずつ変える
「現在の秒」ブロックは現在の秒を調べるブロックです。調べるカテゴリにある「現在の年」ブロックを出し、年の部分をクリックして、秒に変えましょう。
「もし〇〇なら」ブロックは、〇〇で指定した条件を満たしている場合に中の処理を実行します。
もし現在の秒が30より大きかった場合、ネコの色が変わります。そうでない場合(現在の秒が30以下)は何もしません。
もうひとつ作ってみましょう。
- ハタが押されたとき
- 現在の秒と言う
- もし 現在の秒 > 30 なら
- 色の効果を25ずつ変える
- でなければ
- 右に90度回す
「もし〇〇なら/でなければ」ブロックは、条件を満たしている場合とそれ以外の場合で、処理を分ける時に使います。
もし現在の秒が30より大きかった場合、ネコの色が変わります。そうでない場合(現在の秒が30以下)はネコが90度回転します。
このように、条件によって処理を変えることができます。
反復(ループ)
反復とは同じ処理をくり返すこと
反復とは、同じ処理をくり返すことです。ループとも言います。
たとえば、1時間ゲームした後、勉強をする行動をプログラムするなら、
- ゲームをする
- プレイした時間をみる
- プレイ時間が1時間以上なら、ループをぬけて4へ
プレイ時間が1時間未満なら、1にもどる - 勉強をする
同じ行動(ゲームをする)を、条件(プレイ時間が1時間以上なら)を満たすまでくり返します。
反復のプログラムを作ってみよう!
反復のプログラムを作ってみましょう。
- ハタが押されたとき
- 10回繰り返す
- 10歩動かす
- 36度回す
プログラムを実行すると、「10歩動かす」と「36度回す」命令を10回くり返してネコを1回転させます。
「10回繰り返す」ブロックは、中の処理を指定した回数くり返します。
「10歩動かす」と「36度回す」命令を10回つなげると、下の画像(右)のようになります。
繰り返しブロックを使った方が、同じブロックをたくさん出す手間が省けますし、内容が分かりやすいです。
また、10歩動かすを20歩動かすに変えたくなった時、繰り返しブロックを使わないプログラムは10か所変える必要がありますが、繰り返しブロックを使ったプログラムは1か所の変更ですみます。
このように繰り返しブロックを使うと、修正がかんたんになります。
もうひとつ作ってみましょう。
- ハタが押されたとき
- ずっと
- 現在の時 と 現在の分 と言う
「ずっと」ブロックは、中の処理をずっとくり返します。
ずーっとくり返しているので、時刻が変わると自動的にネコのセリフが変わります。
順次、分岐、反復を組み合わせてみよう!
順次、分岐、反復を組み合わせると、さらに複雑なプログラムを作れます。
- ハタが押されたとき
- ずっと
- 現在の時 と 現在の分 と言う
- もし 現在の秒 = 0 なら
- 終わるまでニャーの音を鳴らす
このプログラムは、ずっとネコが何時何分か言って、1分たつごとに(秒が0の時)ニャーと音を鳴らします。
ぜひ処理を追加して、もっと便利で楽しいプログラムにしてみてくださいね。
まとめ
今回はプログラミングの基本である順次、分岐、反復について解説しました。
これらの基本を組み合わせれば、さまざまなプログラムが作れます。
プログラミングは最初は難しそうに見えるかもしれませんが、子ども向けのプログラミング言語や学習プラットフォームがたくさんあります。
下の記事では、小学生のプログラミング教材を選ぶポイントと、オススメの教材を紹介しています。ぜひあわせて読んでみてください。