この記事は「小中学生からはじめるプログラミングの本」(2017年2月発売)から転載したものです。内容は基本的に発売日時点のものとなります。

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

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

 私たちの生活のなかでは、このほかにもプログラムの基本構造を使って行動している場面がよくあります。

 あなたは、休みの日の過ごし方を天気予報の降水確率(こうすいかくりつ)で決めたりしていませんか? 「降水確率が0%ならハイキングに行こう。20%なら買い物に行こう。40%なら映画を観に行こう。60%以上なら家で過ごそう」。

 もうわかりますよね。条件分岐です。

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

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

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

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

 並び替えのことを英語で「ソート」といいます。今説明した手順(アルゴリズム)は「バブルソート」といいます。泡が水面に上がっていくように、並び替えを行っていくからです。

 このようにアルゴリズムを考えてそれを指示書(プログラム)に書くことは、実はプログラミングそのものなのです。

(文/石井英男 絵/森マサコ)