Hoicos Blog

Author: あぼかど

Scratchで正多角形を描こう!(アドバンス編)

Hoicosプログラミング教室

Scratchで正多角形を自動で書くプログラムを紹介!
5e69ed8d3eccc02cbb5fcfd7f8ab8f64 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

みなさんこんにちは。前回の記事「Scratchで正多角形を描こう」をご覧になりましたか?

前回の記事を読んで正三角形と正五角形をScratchで作れるようになった方、もっとScratchで遊んでみましょう^^

またこちらの記事は前回の記事をご覧になった前提で書いておりますのでご了承ください。

今回はScratchで正多角形を作るところまでは一緒なのですが、プログラムをスタートさせて数字を打ち込むとその数字の正多角形を作ってくれるというプログラムを作ります。

数字を入力するとその正多角形を作ります。最終的には円になってしまいます

今回も小学生にもわかりやすいようじっくり解説してあるので是非参考にしてね!教育関係者の方も是非授業で取り扱ってみてください!

Scratchの準備

ScratchはWEB上で使えるソフトです。こちらから飛んでください。

ec1ef94fc409e4af76c5bd51e12a8b31 1024x62 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

上段に上のようなナビゲーションがあります。これのうち左から二つ目の「作る」を選択してエディターを開きましょう。

初期設定

ネコのキャラクターを非表示に

猫さんは今回登場しなくても大丈夫なので休んでいてもらいましょう。

写真のように非表示する方(赤丸の方)を青くしてください。

cc77b80cdd95a829b99b3aae05544087 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

ペン機能を追加する

今回もペン機能を使って正多角形を書きます。

Scratchのペン機能を追加してください。やり方がわからない場合は、前回の記事をご覧ください。

cbb5225a968ed90ac601e6a30681b1cc 1024x620 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

変数を作る

今回はわかりやすいように変数を使います。変数使ったことがない方やなんのことかわからないという方も安心してください。変数についての記事はまた別に出しますが、今回は数字を運ぶ箱”と覚えといてください。

では下の写真のように「変数を作る」をクリックしてください。

8775951174597163f0a84b17fe62a527 1024x740 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

次に変数の名前を「正多角形」としてください。

598d6d6534ab936f09bf52a466e3eec9 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

下の写真のようになったら初期設定はOKです!

1de0e935957f7b7b5acccc769abaa11d - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

今回のサンプルプログラム

どのようなものを作るのか最初にお見せします。

4723d1a66971009665ab1e674d976855 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

シンプル。。。ではないですね。何やら難しい演算を使っているようです。

前回の正三角形の時と比べてみましょう。

0ff5e9c3b5d0637ca852a6d529d60a65 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

どうでしょうか。基本的な作りは一緒だということに気づきましたか?

考え方

これから考え方を解説します。

考える必要があるのは一つだけ!どれだけ回転させるです。

頭だけで理解するのは難しいので紙と鉛筆を用意して自分でも絵をかきながら読み進めてください。

具体的な例を考える(正三角形)

正三角形の時は、何度回転させてましたか?

120°でした。

ではこの120°という数字はどのように計算したか考えてみましょう。まず、三角形の内角の和は180°ですから、一つの内角は180÷3=60°です。ここで180°-60°=120°と計算して外角を計算します。すると、この外角が回す角度になるのです。

b9eee150367a02013943eb828a53eaf8 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

具体的な例を考える(正五角形)

正三角形と同じように考えてみましょう。

正五角形の時は72°回転させました。

まず、正五角形の内角の和を求めます。正五角形は中に線を引いて3つの三角形に分けれるので、内角の和は3×180°=540°です。一つの内角は、540°÷5=108°です。回す回転角度は、180°-108°=72°です。

b9eee150367a02013943eb828a53eaf8 2 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

計算のパターンを見つけよう

上の二つで具体的な例を用いて計算をしました。次は、計算のパターンを見つけてみましょう。ここで正A角形を考えます。(Aには数字が入ります)

どの正多角形でも最初に内角の和が必要です。

内角の和は公式があって、(A-2)×180°となります。正三角形の時は(3-2)×180°=180°、正五角形の時は(5-2)×180°=540°です。

次に一つの内角が必要です。

これを辺の数で割ると、一つの内角の大きさが出ます。よって、(A-2)×180°÷Aです。正三角形の時は(3-2)×180°÷3=60°、正五角形の時は(5-2)×180°÷5=108°です。

最後に外角を求めます。

最後に、外角を求めるために180°から引くので全体の式は180°-(A-2)×180°÷Aで求めることができます!!

これをScratchで描くと下のようになります。

85893952721822092cccc02de9be60de - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

このプログラムではAを「正多角形」という変数(数字の入った箱)に置き換えています。

ここまで理解できたらひとまずOK!!

サンプルプログラムの説明

プログラムの画像をもう一度。

4723d1a66971009665ab1e674d976855 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

変数について

変数を導入する部分でも触れましたが、今回の変数は”数字を運ぶ箱”です。

今回変数を使わなくてもできるのですが、みやすさと説明の面からわざわざ変数に数字を移し替えています。

a4114fd2542c9e6e6149ee685054e4ac - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

「正多角形」という名前のついた箱に「答え」の中身をうつします。答えの中身は何かというと、”何角形が書きたいですか”と聞かれてそれに対してキーボードで書き込んだ数字です。

641f283fe581441e5dc42a4fe9e386c3 - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

上の図からわかるように、書き込んだ数字が「正多角形」という変数に入るということです。言い換えると、「正多角形」という変数が数字の代わりをしてくれます。

スタート位置について

今回は下のように設定しています。座標も向ける角度もこれと同じにしてください。

7d49eeafda76a14c2b3bdb847ae4142e - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

繰り返し部分について

ここでようやく先ほど頑張って理解した難し〜い式が出てきます。

fd31c7f5e462a00622f08db451817bef - Scratchで正多角形を描こう!(アドバンス編)-hoicos%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e6%95%99%e5%ae%a4-自由研究, Scratch, 小学生

最初に何回繰り返すかですが、正三角形の時は3回、正五角形の時は5回、ここまでくれば聡明なみなさんならお分かりです。

そう、「正多角形」回繰り返せば良いですね!!

そして、難しい式を「〜度回す」に挿入します。

次に、進む歩数なのですが、数字が大きい正多角形ほど大きな正多角形になってしまいます。ですから辺の長さを大きい正多角形ほど小さくしないといけません。

上の写真のように、”950/「正多角形」”としてください。こうすることで大きくなればなるほど辺の大きさは小さくなり、ステージに収まるようになります。

これでプログラムは完成です!!!

最後に

みなさまお疲れ様でした。どれくらいわかったでしょうか。

前回のように一つの正多角形を描くのは造作もないですが、どんな正多角形でも描けるようにプログラムを描くのは難しいですね。

今回の考え方のように具体的な例を考え、そこから一般的にする(どんな時でも計算できるパターンを見つける)ことが大切になってきます。この考え方は他のところでも役に立つので是非是非習得してください。

これで正多角形編はおしまいです。次の記事もお楽しみに〜

この記事がいいと思ったら↓のシェアボタンから

Comments

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。