子ども向けプログラミング言語「スクラッチ」で、正多角形を描くプログラムを作ってみた

スクラッチとは?


タイトルにもあるように、子ども向けプログラミング言語。プログラム内容が記述されたブロックを積み重ねていくことで、一つのプログラムが完成できます。





文科省のYouTubeでも紹介されている


まあ、ブラウザですぐ動くものなので、とりあえず触ってみると様子がわかります。
実は、長男の夏休みの自由課題で、「じゃあ、文科省のYouTubeでもスクラッチが紹介されてるし、やってみようか!」って感じで、まずは下記の動画をチェック!



まあ、子どもは早いもので、あっという間に同じものを作ってしまいます。
自由課題では、三角形も描くように課題を長男に出し、いわゆる回転角度で間違いをするように、ちょっと意地悪なこともしてみました。


正多角形を自動的に描くプログラム


で、なんとなく隣で見ていて、「○角形を描きたい」と数値を入力すれば、自動的にそのとおりの正多角形を描くプログラムを下記の通り作ってみました。


正多角形の内角の和は、N角形なら「(N-2)×180」で算出できます。
また、回転角度は「180-1つの内角(これは「”(N-2)×180”/N」で算出)」で出ますので、そのとおり式を組み込んであります。

ネコ(ΦωΦ)が、「何角形をかきたい?」と聞いてくるので、テンキーで正六角形なら「6」と入力。そのままEnterで自動的に描いてくれます。

実は、こう考えるとプログラムって全能ではなくて、使う人間側がやっぱり知識がないと使えません。
知識を、いかにして知恵にしていくか?これが重要です。


僕が考えるプログラミング的思考とは?


最初、僕自身は「小学生でプログラミング的思考を、なぜ醸成するんだろう?」って思ったんですよね。でも、いろんな文献を読んだり、大学の先生の話を聞いたりしていくうちに、一つの結論にたどり着きました。
「プログラミング的思考って、物事を因数分解して、再構築する能力」かなって。
違う言い方をすれば、「段取り力」と「優先順位を決める力」と、「改革改善力」って感じ。

身近なところでいうと、「お友だちのお誕生日会を開こう!」というゴールがあったら、それを達成するには、いくつかの段取りが組み込まれているんですよね。
「いつやるのか」「どこでやるのか」「だれをよぶ?」「プレゼントはどうする?」、このあたりを決めたら、「どうやってみんなに知らせる?」「お友だちのお父さんやお母さんには、何て話す?」ということも出てくるし、「係分担はどうする?」って話も出てきます。これを、どうやって決めていくか?っていう力。

大人になると、少しレベルが上がって、新しい企画はもちろんのこと、今までの事業や物事についても、一度分解して、優先順位を見ながら、再構築する。いわゆるBPR(Business Process Re-engineering)に近いのかなっていうイメージです。

プログラミング的思考って、まさに、こういうことを考えられる力だと思います。



こんな本が見つかった!


で、何が言いたいかっていうと、「スクラッチやその他のプログラミング言語を導入することが目的になっちゃいけないよ」ってこと。
そんなことを考えていたら、こんな本、見つけました!ちょっと、図書館で探してみようっと!


0 件のコメント:

コメントを投稿