YouTubeでプログラミングを教えていますYouTube

プログラミングって何?日常生活で考えると分かりやすくなる

  • URLをコピーしました!
目次

プログラムってなんだろう?

ポイントは2つだよ

・日常生活の中にもプログラムがある

・プログラムとは作業の指示書のこと

小学1年生からのプログラミング教室なら、自考力キッズ

日常生活でのプログラム

パソコンでプログラミングをした経験がない人でも、プログラムという言葉を耳にしたことがあるでしょう。毎日の生活の中でもプログラムという言葉はよくできます。テレビの番組表をプログラムと読んだりしますし、運動会や卒業式などの 進行表が書かれた紙もプログラムと読んだりします。つまり日常生活でのプログラムとは、ある物事の進行についての順序や筋道のことをいいます。

日常の中のプログラミング
日常の中のプログラミング

コンピューターのプログラム

コンピューターのプログラムも日常生活でのプログラムに似ています。コンピュータに作業を行わせるために、手順や方法を書いた指示書なのです。でもコンピューターは人間と違い融通がききません。手順を説明する指示書は、コンピューターが間違えないように丁寧に書かなくてはいけません。またコンピュータは人間の言葉をそのまま理解できるわけではないので、コンピュータが理解できる言葉が必要です。この言葉をプログラミング言語といいます。

プログラミング言語にはたくさんの種類があります。なぜいろんな種類があるかというと、そのプログラムをどういった目的で使うかによって、それに適したプログラミング言語を選べるようにするためです。

例えばロボットを動かすプログラムを作るためなのかスマートフォンで動くSNSのプログラムを作るためなのかで使うプログラミング言語を選べるようになっているのです。

コンピュータのプログラミング
コンピュータのプログラミング

プログラムって難しそうですよね。でもプログラムに書かれていることって基本的に3つの構造を組み合わせているだけです。つまり最初に3つだけ覚えておけばオッケーです。その3つとは順次実行、条件分岐、繰り返しです。

プログラミングの手順
プログラミングの手順

順次実行とは?~プログラムの基礎①

効率良い作業には順番が重要

順次実行とは、やる事を順番に指示書に書き、その順番通りに上から実行することです。運動会のプログラムを上から順番にやっていきますよね。あれと同じです。順次実行していけば指示書に書かれた作業を効率よく行います。つまり書いてある順番は重要です。

例えば子どもに買い物メモを渡してスーパーへお買い物に行ってもらう場面を考えてください。買い物メモが子どもへの指示書(プログラム)です。賢いお母さんならスーパーの中のどこにどの商品が置いてあるかは、頭の中に入っていますよね。ですので、商品の置き場所を思い浮かべながら、商品を買う順番まで指示したメモを子どもに渡すはずです。

順次実行
順次実行

入り口から順番にまず野菜を買って、次に調味料を買って、肉を買ってという順序立てたメモがあれば子どもも迷わないで買い物できますよね。実際のプログラムでも、コンピュータにやってもらうこと(処理)を書く順番は、とても重要です。そうしないと効率が悪くなったり思い通りの結果にならなかったりするからです。

やってほしいことを順番に書いておき、その順番通りに実行していくこと

これが順次実行です。

パズル・ロボット・プログラミング、全部できるのは、自考力キッズ

条件分岐とは~プログラムの基礎②

条件に「合っているか」「あっていないか」で次の行動が変わる

日常生活でも条件分岐はいたるところにあります。プログラムの基本構造の2つ目は条件文です。条件分岐は「もし〇〇が××なら□□を実行し、そうでなければ〇〇を実行する」というものです。つまり条件に合っているかあっていないかで行うこと(処理)を変えるのです。

順次実行は上から順に実行するので、行うことの流れは1つの線となります。しかしその途中に条件分岐があると、その流れは何本かに枝分かれします。最もシンプルな条件分岐はイエスかノーかで2つに分かれるものです。複雑なプログラムでは3つ以上の分岐を用意します。

条件によって買うものを変える

子どもにおつかいに行ってもらう場合、

「じゃがいもが欲しいんだけど、北海道産があれば北海道産のもの。北海道産がなければ千葉県産を買ってね。どちらもなければ買わないでね。」

という買い物メモを書きます。商品がスーパーにあるかないかと言う条件によって、行動を変えて欲しいわけです。日々の生活の中、私たちは様々な条件に応じて、判断を行います。その結果によって行動を変えています。これは全て条件分岐なのです。

条件分岐
条件分岐

コンピュータのプログラムでも様々な場面で条件分岐が使われています。シューティングゲームで考えてみましょう

もし、敵の弾が自分に当たったなら、ゲームオーバー。自分の弾が敵に当たれば相手が倒れると言うゲームができます。この「~ならば」が条件分岐なのです。

繰り返しとは

プログラムの3つめの基本構造は「繰り返し」です。繰り返しとはある作業を何度も繰り返すことです。人間は同じ作業を繰り返すと、嫌になってしまいます。でもコンピュータは繰り返しが得意です。千回だろうと1万回だろうと嫌がりません。ただし繰り返し処理はどこかで終わらせないと暴走になってしまいます。繰り返しは条件分岐とセットでおこないます。例えば10回繰り返し、繰り返しを終了する」や「計算結果は100を超えてならば、繰り返しを終了する」などと、繰り返しを終わらせる条件を決めておくのです。

袋がいっぱいになるまで繰り返す

では、ここでまた子どもにお使いに行ってもらう例で考えてみましょう。

「にんじんの詰め放題セールがあったら、詰め放題で買ってきてね。ビニール袋を持ったら、棚からにんじんをとって袋に入れてね。袋がまだいっぱいになってなかったら、棚からにんじんをとって袋に入れてね。袋がいっぱいになるまで繰り返して、袋がいっぱいになったらやめてね。」

という指示書が買い物メモにあったなら、それが繰り返しです。

繰り返し
繰り返し

コンピュータのプログラムでも繰り返しはよく使われます。例えばかけ算の九九を実行するプログラムを考えてみましょう。まず1の段を作るには1 × 1、1 × 2、1 × 3 とかける数を1から順番に増やしていきます。1 × 9まで行ったら次はかけられる数を2に増やして、再び2 × 1、2 × 2と繰り返していきます。これも繰り返しです。

課題を解決するための考え方や手順「アルゴリズム」

休日の過ごし方は条件分岐

私たちの生活の中では、このほかにもプログラムの基本構造を使って行動している場面がよくあります。あなたは休みの日の過ごし方を天気予報の降水確率で決めたりしていませんか。降水確率は0%ならハイキングに行こう、20%なら買い物に行こう、40%なら映画を見に行こう、60%以上なら家で過ごそう。もうわかりますよね?条件分岐です。

アルゴリズム=プログラミング

このように何かを行ったり何かを課題を解決したりする手順のことをアルゴリズムといいます。

出席番号順に並んでいる生徒を背の低い順に並び替えるという課題を解決する手順を考えてみましょう。

アルゴリズム
アルゴリズム

バブルソートの手順

1番後ろ人が前の人と背を比べて、低かったらその人と順番を交換する。
次に後ろから2番目にいる人が同じように前の人と背を比べて、低かったらその人と順番を交換する・・・ということを繰り返していき、1番前まで来たら今度はまた1番後ろの人から同じことを繰り返す。
先程の交換で、背の1番低い人が1番前に来ていますので、前から2番目まで来たら、また1番後ろの人から同じことを繰り返して・・・という手順でこの課題は解決できます。

並び替えのことを英語で「ソート」といいます。今説明した手順(アルゴリズム)は「バブルソート」といいます。泡が水面に上がっていくように並び替えを行っていくからです。このようにアルゴリズムを考えてそれを指示書(プログラム)に書く事は実はプログラミングそのものなのです。

パズル・ロボット・プログラミング、全部できるのは、自考力キッズ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次