プログラミング的考え方を身につけよう

記事
学び
★日常やっている「プログラミング的考え方」
★課題を解決するための考え方や手順を 「アルゴリズム」という


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

私たちの生活のなかでは、プログラムの基本構造を使って行動している場面がよくあります。
あなたは、休みの日の過ごし方を天気予報の降水確率で決めたりしていませんか? 「降水確率が0%ならハイキングに行こう。20%なら買い物に行こう。 40%なら映画を観に行こう。 60%以上なら家で過ごそう」。
もうわかりますよね。 条件分岐です。
このようにアルゴリズムを考えてそれを指示書(プログラム)に書くことは、実はプログラミングそのものなのです。

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

このように、なにかを行ったり、 なにか課題を解決したりする手順のことを、 「アルゴリズム」といいます。
「出席番号順に並んでいる生徒を背の低い順に並び替える」 という課題を解決する手順を考えてみましょう。

一番後ろの人が前の人と背を比べて、低かったらその人と順番を交換する。次に、 後ろから二番目にいる人が同じように前の人と背を比べて、 低かったらその人と順番を交換する・・・ということを繰り返していき、一番前まできたら、今度はまた一番後ろの人から同じことを繰り返す。 先ほどの交換で、背の一番低い人が一番前に来ていますので、前から二番目まできたら、また一番後ろの人から同じことを繰り返して・・・という手順で、この課題は解決できます。
並び替えのことを英語で 「ソート」といいます。 今説明した手順 (アルゴリズム)は「バブルソート」といいます。
泡が水面に上がっていくように、並び替えを行っていくからです。

「反復処理」で日常タスクを効率化する

日常生活における「反復処理」の考え方も、プログラミング的思考を反映しています。たとえば、一週間の食事メニューを計画する際にも、この考え方は活用できます。一週間のうち、平日は手早く準備できるシンプルな料理を、週末には時間をかけて特別な料理を作る、といった計画を立てることがそれにあたります。

ここでのキーポイントは、一定のルールに基づいて繰り返し行動を決定することです。具体的には、「もし平日ならば、30分以内でできる料理を選ぶ。もし週末ならば、2時間かけて料理をする」といった条件分岐と、それに伴う行動の繰り返しが含まれます。これはプログラミングでいう「ループ処理」や「反復処理」に相当します。毎日の食事を決めるこのプロセスは、変数(日にち)の値に応じて異なるアクション(料理)を選択するプログラムと見なすことができます。

「関数」としての日常のルーティン

また、日常生活でのルーティンは、プログラミングの「関数」と見なすことができます。例えば、「朝の準備」という関数を考えてみましょう。この関数では、起床、顔を洗う、朝食を取る、といった一連のタスクが定義されています。それぞれのタスクは、特定の目的を達成するための一連のステップであり、これらをまとめて「朝の準備」という一つの大きなタスク(関数)に組み込むことができます。

関数を使用する主な利点は、複雑なプロセスを簡単に管理し、再利用することができる点です。日常生活で言えば、毎朝同じルーティンを繰り返す際に、その手順を一つ一つ思い出す必要がなく、単に「朝の準備をする」という一連のタスクを実行するだけで良いのです。

このように、プログラミング的思考を日常生活に取り入れることで、日々のタスクを効率的に、かつ体系的に管理することが可能になります。アルゴリズムや関数の考え方を用いることで、生活の質を向上させる新たなアプローチを見つけ出すことができるでしょう。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す