明日から役立つ?プログラマーの考え方講座 その8
「命令、順序、おてつだい」

こんにちは。鳥井雪です。
ヒューマンアカデミー こどもプログラミング教室の教材監修をしています。
このコラムでは、プログラマーが日常でどんなことを考えて生活や仕事をしているのかを紹介し、みなさんにもプログラミングを身近に感じてほしいと思っています。

今日は、プログラミングの基本中の基本、「命令を順番に組み合わせる」と「順番のない仕事を分ける」についてお話します。それから、子どもに家の仕事を頼むときのちょっとしたコツを。

命令を順番に組み合わせる

「命令を順番に組み合わせる」についてむずかしく考える必要はありません。
コンピューターに、「Aをして、その次Bをする。それからCをして、おしまい。」という命令を与えるということです。ここでポイントなのは、「順番がある」ということ。

例えでよく出されるのは「おでかけの準備」でしょうか。具体的な手順は「靴下を履いて、靴を履いて、外へ出る」とします。靴下を履く、靴を履く、外へ出る、はそれぞれ独立した動作です。これを、その動作が組み込まれているもの、たとえばロボットに「やれ」と指示するのがプログラムですね。

そして、ここで大事なのは順番です。もし手順が入れ違ってしまって、「靴を履いて、外へ出て、靴下を履く」になったらどうでしょう。ロボットが玄関の外で、靴下を泥だらけにしながら靴を中に押し込もうとするはめになりますね。ちょっとかわいそう。命令は、2つ以上を組み合わせて何かの仕事や目的(ここでは「おでかけ」)を果たそうとしたときには、順序が必要になってくることが多いのです。これがプログラミングの基本です。ここに「もし雨が降っていたら傘を持って…」などの条件分岐が入ってくるとさらにプログラミングらしくなるのですが、その話はまた別の機会に。

順番のない仕事を分ける

逆に、1つの仕事のように見えて、実はそれぞれの動作は、順番を気にしなくてもできることもあります。たとえば家の中の仕事だと、「洗濯物をたたむ」。乾燥機から出した洗濯物の山を前に、「はじめはタオルをたたんで、それから下着をたたんで」なんて順番をつけたりしないですよね。とにかく手近なものを手にとって、たたんで、分類ごとに置く、ということが多いと思います。1つずつやる小さな仕事が集まって山になっているタイプのことに、順序はあまり関係ないんですね。

それから、「夕飯の支度」という順序と段取りが命!な仕事の中にも、よく考えると順序がいらない、というか別ラインの仕事が入り混じっていることがあります。例えば、メインの料理を切って焼いて、とするのと、サラダのために野菜を洗って切って、というのはそれぞれ独立していて、順序は関係ありません。大きな仕事の中に、別ラインの小さな仕事がいくつか含まれているタイプですね。

そして、子どもに家の仕事を頼むときは、この

のことをお願いするのがお勧めです。

ステイホーム期間中、保育園に行けない3歳の子どもと一緒に、家のことをたくさんしました。というか、常に子どもが家にいるので、一緒にいる時でも家のことをしないと何もすすまないという…。家の仕事を練習してもらういい機会だと思うことにして、あれこれ頼み事をします。子どもも、頼られたり感謝されるのが嬉しいのか、けっこう積極的にやってくれます。

しかし、初心者のやることですから、もちろん時間はかかるし、クオリティもまだまだ。心配も多く、自分でやったほうが絶対にはやいし気も楽です。自分と子どもが将来楽になるための投資期間だとわかっていても、何度「もういいよお母さんがやるね」と言いかけたことか(実際に何回かやってしまいました)。でも、子どもも任された仕事を取り上げられたらいい気分はしないし、達成感や「自分もできる」という自信も遠のいてしまいます。そこで気をつけたのは、「あとの仕事のつかえになる、“順番のある仕事”を頼まない。順番のない仕事を頼む」ということでした。

お料理のお手伝いがしたい、と言われたら、たとえ簡単そうな仕事でも、「メインの料理のしたごしらえ」は頼みません。材料の準備が終わるのを待っていて、いつ煮たり焼いたりが始められるかとジリジリしていては、つい「もういいよお母さんがやる!」を発動してしまうからです。

かわりに、サラダの準備、野菜を洗って切るところを任せてしまいます。子どもは色々予測がつかないので、ひたすら野菜に水を掛けることを面白がっていつまでもやったり、剥かなくていいトマトの皮を取り除くことに夢中になったりします。それでも、とりあえずメインの料理が進んでいれば、あまり進行に口を出さずにすみますし、いざとなったら夕飯にサラダが一皿なくてもまあ大丈夫です。明日の朝にでも出せば…。洗濯物たたみはもっと気楽ですね。わたしと子どもで洗濯物の山を前にして、えいやっと取りかかればいいだけです。わたしはわたしのペースでたたみ、子どもは子どものペースでたたむ。平和です。

まとめ

このように、日々の仕事も、「これはどういう順番が必要かな?これは順番がなくてもやれる仕事かな?」というの考えておくと、やる気のある他のメンバーに振り分けることができます。そしていつの日か、子どもが家の仕事の大きな戦力になるのを夢見ているのです。

一覧ページへ戻る