Shoeisha Technology Media

EdTechZine(エドテックジン)

記事種別から探す

プログラミングは意外と身近でシンプル! 日常にあふれているプログラムを理解しよう

これから始まるプログラミング教育に対して保護者が出来ること 第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/01/18 14:00

 本連載では、2020年からプログラミング教育が始まるにあたり、その内容と保護者の方の心構えについてお話ししてきました。前回は、もしお子さまがプログラミングに興味を持ったら、より深いプログラミングに踏み込んでいただきたく、その学習段階の概要について紹介しました。今回からは、具体的にどこでプログラムが使われていて、どのような仕組みで実装されているかを紹介します。日常的に利用している身近なものが「プログラム」によって制御されていることを知り、その仕組みを理解することで、よりプログラムへの関心や興味にもつながるのではと考えています。どこにでもあるものですから、実際に触れて、体験することも簡単にできます。このような体験を通じて、プログラムを身近に感じていただくことが、今回の目的です。

コンピュータが動く仕組みは「順次」「分岐」「反復」の3つだけ(1)

 身近で動くプログラムの具体例を紹介する前に、コンピュータ制御の仕組みについて説明します。コンピュータで実現されたゲームや、CGを多用した映画などを見ると、とても複雑なことを実現しているように見えます。その視覚的な効果があまりにもすごすぎて、プログラミングは「むずかしいもの」と考えられがちです。

 しかし、コンピュータ内部の制御機構(動く仕組み)は、「1.順次」「2.分岐」「3.反復」といった単純な要素だけでできあがっています。これらを組み合わせて複雑な制御を行っているのです。この3つの制御構造について、人間の簡単な行動を例に学んでいきましょう。

1. 順次

 まず、一番よく利用される構造「順次」です。

 「順次」とは、その名の通り、先頭から順番に処理を実行します。この順次構造は、処理の基本です。何を行うにも、この順次処理が含まれています。そろばんの「読み上げ算」を思い浮かべてください。足し合わせる数を、1つずつ順番に読み上げていって、計算する人は1つずつ、そろばんを使って足し算を行っていきます。このように、順番に1つ1つの処理を行っていく処理を「順次」と呼びます。

 例えば、人間の「鍵を開けててドアを開ける」という行動を制御する場合、次のような順次処理になります。

  1. 鍵を出す
  2. 鍵を持つ
  3. 鍵をドアの鍵穴に差し込む
  4. 鍵を回す
  5. 鍵を抜く
  6. 鍵をしまう
  7. ドアノブを握る
  8. ドアノブを回す
  9. ドアを開ける

 図で示すと以下の通り、上から順番にシンプルに処理を実行している様子がわかります。

 ある行動の一連の流れ、それが順次です。

2. 分岐

 2つ目は「分岐」です。これは、条件によってAを行うか、Bを行うか、内容を変えて処理するやり方です。この条件の部分には、一般的に「式」が利用されます。例えば「A > 1」とあれば、「Aが1よりも大きい場合は」といった意味です。コンピュータは数式しか扱うことができませんから、数や存在の有無といったことでのみ、条件を指定することができます。

 先ほどの「ドアを開ける」の部分ですが、ドアのタイプによってドアの明け方を分岐制御させると、どのようになるでしょうか。

  1. ドアのタイプを調べる
  2. もし、ドアのタイプが「引き戸」なら、ドアを左へスライドさせる
  3. もし、ドアのタイプが「開き戸」なら、ドアを手前に引く
  4. もし、いずれでもなかったら、ドアをとりあえず押してみる

 ドアに3つのタイプがある前提で分岐処理を考えてみましたが、どのような分岐方式でも「状態を調べる(計算を行う)」「状態(式の結果)によって、どの処理を実行するか選択する」といった流れになります。

 図で表すと以下の通り、条件式によって複数の処理へ「分岐」していることがわかります。

 このように、条件式の結果によって処理する内容を選択させることができる制御構造のことを、分岐と呼びます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 阿部 崇(アベ タカシ)

     外資系IT企業で、コンピュータシステムのアーキテクチャをデザインする仕事に従事。2017年度より区立中学校のPTA会長に就任。教育委員会や教師の方々と接する機会も多く、これまでの経験を活かして、プログラミング教育を広げていく活動をすすめている。

おすすめ記事

All contents copyright © 2017 Shoeisha Co., Ltd. All rights reserved. ver.1.0