因数分解にみるパズルと論理的思考、プログラミングとの関係




publicdomainq-0000832tlaこんにちは。プロクラスの吉田です。

ヨシダミツヒロ(@milan40920)

突然ですが、パズルは好きですか?

世の中には、沢山のパズルがありますが、皆さんはどんなパズルが好きでしょうか。

ボクは「なんとなく自分が解けそうだなと思えるパズル」ならなんでも好きです(笑)

一定の法則(ヒント)で、パターンをみつけて解いていくプロセス、

完成までもっていくことに喜びを感じるパズルですが、解けたときは一方ならぬ喜びを与えてくれます。

パズルをwikiで調べてみると、

パズル(英語:puzzle)は、あらかじめ出された問題を、論理的な考察と試行錯誤によって解くことを目的とした、ゲームやクイズに似た娯楽の一種。

と書かれていました。

パズルの世界は深いので、入り込むと抜け出せなくなるので、ここでは踏み込みませんが(笑)

パズルは、書かれている通り「論理的な思考と試行錯誤によって解く」と書かれています。

パズル的な要素はゲームやクイズだけでなく、IQを図る問題(国際IQテストというものもありますよ!)や、学校で習う勉強もパズルに似たところがあります。

その1つが中学で習う「因数分解」。これも楽しいパズルのようだと思いませんか?

ぱっと見、英語や数字が並んでいて、とても複雑な雰囲気を醸し出していますが、実はそうでもありません。

因数分解というものは、「共通の因数でくくる」というルール(鍵)のもとにパズルを解いていくことが初めに必要です。

例えば、こんなケース。

■文字でくくる

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-13-30

この場合、「a」が2つあります。これが鍵なので、これに気づくかどうかが解けるかどうかのポイントです。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%830

では、「a」でくくるとこうなりますね。

これで完了です。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-24-07

簡単でしたね!


■カタマリでくくる

では、これはどうでしょうか。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-27-00

わかりますか?

今度は、共通のものは「x」だけでも「y」だけでもなく、「(x+y)」のかたまりが一緒だなと気づく必要があるんですよね。

これを「M」と置き換えてみましょう!

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-38-10
こうなりますね!シンプルになりましたよね!

そして次に「M」が共通なので、先ほどのように「M」でくくってみましょう!

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-44-22

はい!こうですね!いい感じです!

続いて、「M」をさっきの「x+y」に戻しておきますと、こうなります。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-40-42

ここで完成です!

これはカタマリでくくるというポイントに着目することで完成できるわけです。

ね!これってパズルを解くような感覚だと思いませんか?

■プログラミングと因数分解の共通点

プログラミングをしていると、なんだか同じようにパズルをしているような感覚に見舞われます。

これは、プロクラスで毎月に一度行なっているプログラミング体験の資料の一コマ。

正方形を描かせるプログラムなのですが、

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-55-17

作っていった線や角をよく見てみると「くくれるものが見つけられる」でしょ?

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-18-0-02-28

これをじっと見つめて、因数分解するわけです。

そうすると、下のような要素が見つけられることに気づく!

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-53-07

これをプログラム的にくくってみると、こうなる!

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2019-03-17-23-53-25

プログラムで組み立ててみた後、共通の要素を探して、因数分解を行うパズルをプログラミングでも行うわけです。

ね、一緒でしょ!!

論理的思考で、パズルを解くのと同じように、

因数分解を行うように、プログラムを組み立てることが、とても数学的だなと思うのです。

子供達はどんどんこういう感覚に慣れていくと、論理的な思考が身につき、将来数学の方程式や、因数分解などに得意になり、パズルを解くように、面白さを感じてくれるのではないかと思います。

どんどんパズルをするようにプログラミングに触れてもらえれば嬉しいなと思います。

無料体験を毎月第二週の土曜日10時から90分していますので、是非お越しいただき、パズルを楽しんでください!

他にも色々やってますよ! プロクラスキッズのwebサイトはこちらです!

ヨシダミツヒロ(@milan40920)