プログラミングの世界をわかりやすく紹介する当連載の最後では、第2〜4回でScratch(スクラッチ)を使って学んできたプログラミングの基本的な考え方「順次・分岐・繰り返し」が、実際のプログラムでどのように使われているのかを見ていきましょう。
バックナンバー
第1回:教えて成瀬先生!「どうしてプログラミングを学ぶの?」
第2回:教えて成瀬先生!「どうすれば簡単にプログラムを作れるの?」Scratch(スクラッチ)で「順次」を学ぼう!
第3回:教えて成瀬先生!「どうすれば簡単にプログラムを作れるの?」Scratch(スクラッチ)で「分岐」を学ぼう!
第4回:教えて成瀬先生!教えて成瀬先生!「どうすれば簡単にプログラムを作れるの?」Scratch(スクラッチ)で「繰り返し」を学ぼう!
バックナンバー
第1回:教えて成瀬先生!「どうしてプログラミングを学ぶの?」
第2回:教えて成瀬先生!「どうすれば簡単にプログラムを作れるの?」Scratch(スクラッチ)で「順次」を学ぼう!
第3回:教えて成瀬先生!「どうすれば簡単にプログラムを作れるの?」Scratch(スクラッチ)で「分岐」を学ぼう!
第4回:教えて成瀬先生!教えて成瀬先生!「どうすれば簡単にプログラムを作れるの?」Scratch(スクラッチ)で「繰り返し」を学ぼう!
1000人分の支払いを手作業で⁉ そんな時こそプログラム!
みなさんは「インフラ」という言葉を聞いたことがありますか。
私たちの生活を支える生活基盤をインフラといいます。例えば電気・ガス・水道は、私たちの生活に欠かせないものです。まさしく、インフラです。これらがなければ、私たちは快適な生活を送ることができません。
最近ではインターネットも「インフラ」と呼んで差し支えないものになっています。
駅や図書館、カフェなどの公共施設では無料のWi-Fiが提供され、小学校の授業でもインターネットを使って調べ物をした結果をまとめて「調べ学習」をします。またスマートフォンやタブレットでインターネットを使うのは、もはや当たり前のことになっています。そう、インターネットはどこでも当たり前に、私たちの生活に深く根付いているのです。
そして、このインターネットというインフラを支えている会社がたくさんあります。その中のひとつが、GMOインターネットグループです。
GMOインターネットグループは、例えば「プロバイダー」と呼ばれるサービスを提供して、みなさんの家庭でインターネットが使えるようにしています。
そして、このインターネットは無料では使えません。電気やガス、水道と同じように、使った人が、使った分のお金を支払う必要があります。そのため、インターネットを使っている人たちに「あなたが使った分のお金を支払ってくださいね」という連絡を送らなければなりません。この連絡のために送る書類「請求書」といいます。
では、ここで考えてみましょう。もしも、この請求書を人の手で作るとしたら、どうなるでしょうか?
例えば1000人のお客さんがいたとして、1000枚の請求書を手作業で作るのは大変な仕事です。しかも計算を間違えたり、宛名を書き間違えたりする可能性もあります。「お金を支払ってくださいね」と連絡をするときに、もしミスがあれば、大きな問題になりかねません。
私たちの生活を支える生活基盤をインフラといいます。例えば電気・ガス・水道は、私たちの生活に欠かせないものです。まさしく、インフラです。これらがなければ、私たちは快適な生活を送ることができません。
最近ではインターネットも「インフラ」と呼んで差し支えないものになっています。
駅や図書館、カフェなどの公共施設では無料のWi-Fiが提供され、小学校の授業でもインターネットを使って調べ物をした結果をまとめて「調べ学習」をします。またスマートフォンやタブレットでインターネットを使うのは、もはや当たり前のことになっています。そう、インターネットはどこでも当たり前に、私たちの生活に深く根付いているのです。
そして、このインターネットというインフラを支えている会社がたくさんあります。その中のひとつが、GMOインターネットグループです。
GMOインターネットグループは、例えば「プロバイダー」と呼ばれるサービスを提供して、みなさんの家庭でインターネットが使えるようにしています。
そして、このインターネットは無料では使えません。電気やガス、水道と同じように、使った人が、使った分のお金を支払う必要があります。そのため、インターネットを使っている人たちに「あなたが使った分のお金を支払ってくださいね」という連絡を送らなければなりません。この連絡のために送る書類「請求書」といいます。
では、ここで考えてみましょう。もしも、この請求書を人の手で作るとしたら、どうなるでしょうか?
例えば1000人のお客さんがいたとして、1000枚の請求書を手作業で作るのは大変な仕事です。しかも計算を間違えたり、宛名を書き間違えたりする可能性もあります。「お金を支払ってくださいね」と連絡をするときに、もしミスがあれば、大きな問題になりかねません。

請求書を全ての人にミスなく届けるには?
そこでプログラムの出番です。プログラムを使えば、大量の請求書を正確に、素早く作ることができます。しかも、計算の間違いもありません。
ここでも、私たちが学んだプログラミングの3つの基本「順次・分岐・繰り返し」が生きてきます。
まず「順次」について説明しましょう。お客様の名前や住所などの情報を、名簿から1件ずつ順番に取得していきます。これがないと、誰の請求書なのかわからなくなってしまいますよね。だからこそ、最初にしっかり情報を集めることが大切です。
次に「分岐」を見てみましょう。例えば入会キャンペーンで「最初の1カ月は半額!」という特別なルールがあったとします。この場合、通常料金の人と、キャンペーン料金の人とで、計算方法を変えなければいけません。プログラムは、それぞれの条件に合わせて金額を計算します。
最後に「繰り返し」です。1000人分の請求書を1枚ずつ手作業で作るのは大変ですが、プログラムなら1人ずつ同じ手順で、何度も正確に作成できます。こうして、全てのお客様にミスなく請求書が届けられるのです。
このように、プログラミングは実際の仕事を助ける、とても重要な役割を果たしているのです。
ここでも、私たちが学んだプログラミングの3つの基本「順次・分岐・繰り返し」が生きてきます。
まず「順次」について説明しましょう。お客様の名前や住所などの情報を、名簿から1件ずつ順番に取得していきます。これがないと、誰の請求書なのかわからなくなってしまいますよね。だからこそ、最初にしっかり情報を集めることが大切です。
次に「分岐」を見てみましょう。例えば入会キャンペーンで「最初の1カ月は半額!」という特別なルールがあったとします。この場合、通常料金の人と、キャンペーン料金の人とで、計算方法を変えなければいけません。プログラムは、それぞれの条件に合わせて金額を計算します。
最後に「繰り返し」です。1000人分の請求書を1枚ずつ手作業で作るのは大変ですが、プログラムなら1人ずつ同じ手順で、何度も正確に作成できます。こうして、全てのお客様にミスなく請求書が届けられるのです。
このように、プログラミングは実際の仕事を助ける、とても重要な役割を果たしているのです。

成瀬 允宣
【GMOインターネットグループ デベロッパーエキスパート / GMOインターネットグループ アプリケーション開発本部 所属】
テックリードとしてWebアプリケーションプロダクト開発に従事するほか、大学講師やKids VALLEY プロジェクトにおける小学校プログラミング教育に携わる。また、カンファレンスなどでソフトウェア開発・設計を主軸に講演活動を行っている。
著書『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』
X:@nrslibi