プログラム基本3要素
プログラム基本3要素とは
順次処理
コンピュータへの命令として、上から順番に実行される処理のこと。最終的な目的を果たすためのプロセスには、いくつかの処理が存在します。必要不可欠な処理や決まった順序があり、その一つでも異なれば論理破綻を起こし、目的や目標を果たせなくなります。
例)「起立、礼、着席」の順
分岐処理
条件によってコンピュータに命令する処理が分岐します。最終的な目的を果たすためのプロセスに、何らかの条件が存在する場合、その条件判定の結果により、別々の処理を行ったり、一方にだけ新たな処理を追加したりすることがあります。
例)駅まで自転車で行く。パンクしている場合は、歩いて駅まで行く。
パンクしていなければ、自転車で駅まで行く。
【重要】ただし、分岐処理は「条件」が存在しなければ必要ありません。
また、分岐処理は判定だけを行い、順次処理を行いません。
反復処理
条件を満たすまで、コンピュータへの命令を繰り返し実行します。最終的な目的を果たすためのプロセスに、同一の処理や同一の「一連の処理」が存在する場合、これを「反復」という形で1つに整理してまとめたもの。その反復の中の処理は、永久に繰り返されたり、限定的に繰り返されるものがあります。また、反復する回数などの条件が存在する場合、条件が満たされたら反復処理は終了します。
例)各駅停車の電車は、終点まで「出発と停車」を各駅で繰り返す(反復条件:終点まで)。
【重要】ただし、反復処理は「繰り返される処理」が存在しなければ必要ありません。
また、反復処理は、反復条件の判定だけを行い、順次処理を行いません。
用語の定義と名称の統一
「順次処理」「分岐処理」「反復処理」などの用語は、学校内(低学年と高学年)で、定義や名称(呼び名)を統一することを推奨します。
「順次処理」・・・ 処理、動作、命令、動き、やること 等
「分岐処理」・・・ 条件、判断、判定、どっち?、チェック 等
「反復処理」・・・ 反復、繰り返し、繰り返す、ループ、連続 等
※用語の定義や名称の統一は大切、ということも一つの学びです。統一された言葉を使用することにより、
誰が見たり聞いたりしても理解でき、協議の際も混乱や聞き間違いを防ぐことができる大切なことです。
コンピュータは間違えない!
昨今のニュースなどでよく見られる「システム上のトラブル」とは「人為的ミス」のことです。時々、大手企業のシステムダウンやトラブルなどのニュースが流れますが、一見すると、コンピュータの誤作動だと思われる人が多いと思います。
しかし、それは大きな間違いです。原因は「人間」であり、「人為的ミス(ヒューマンエラー)」です。コンピュータ・プログラムは、間違いません。
コンピュータは、以下の2つの特徴をもっています。
・コンピュータは、組み込まれたプログラム通り“正確”に動作する
・コンピュータは、組み込まれたプログラムが合目的に正しいかどうか判断できない
人間が組み込んだプログラムにより、コンピュータが「人間が正しい」と思う動作をすれば、そのプログラムは正しいし、人間が組み込んだプログラムが間違っていれば、コンピュータはそのプログラム通り“正しく”間違えます。
コンピュータが“勝手に”間違った動作をするのではなく、考慮しなければならないことを設計の時点で人間が漏らしていたり、「0(ぜロ)」と「O(アルファベット)」などの読み違いや「B(ビィー)」と「D(ディー)」などの聞き間違いなどによるプログラムのタイプミスをしていたり、専門用語や言葉の解釈など、それぞれが勝手な思い込みで、認識のズレが生じてしまっていたりしてしまう。
それすべて、人間の間違いであり、ヒューマンエラーです。このことも含めて「情報化社会」である。ということも学習する上では大切ではないかと思います。
▼Amazonおすすめ本
▼続きはこちら
おすすめ記事
-
先生のためのアンプラグド・プログラミング教材(1)
アンプラグド・プログラミング教材 ここでは、アンプラグド・プログラミング教材案について書いていきたいと思います。現役の先生や教育学部の大学生の皆さんの参考になれば幸いです。 「アンプラグド」とは電源を入れない。つまり、こ […]
-
先生のためのアンプラグド・プログラミング教材(2)
お題:交通系電子マネーを使って自動販売機でジュースを購入する <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重要な部分を捉える […]
-
先生のためのアンプラグド・プログラミング教材(3)
お題:各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない) <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重 […]
-
先生のためのアンプラグド・プログラミング教材(3-応用)
お題:前回のお題を各視点に分けて考えてみる アンプラグド・プログラミング教材(3)のお題だった、「各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない)」に対して、少し混乱を招く表現が存在するので、今回は […]
先生のためのアンプラグド・プログラミング教材(1)
アンプラグド・プログラミング教材 ここでは、アンプラグド・プログラミング教材案について書いていきたいと思います。現役の先生や教育学部の大学生の皆さんの参考になれば幸いです。 「アンプラグド」とは電源を入れない。つまり、こ […]
先生のためのアンプラグド・プログラミング教材(2)
お題:交通系電子マネーを使って自動販売機でジュースを購入する <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重要な部分を捉える […]
先生のためのアンプラグド・プログラミング教材(3)
お題:各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない) <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重 […]
先生のためのアンプラグド・プログラミング教材(3-応用)
お題:前回のお題を各視点に分けて考えてみる アンプラグド・プログラミング教材(3)のお題だった、「各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない)」に対して、少し混乱を招く表現が存在するので、今回は […]