📘 算数 × プログラミング

正多角形をプログラミングでかこう

ゲームの作り方一覧 → 🏫 先生向け(45分の授業案)→

正三角形・正方形・正五角形…を「くりかえし」でかく

正多角形は、辺の長さがぜんぶ同じで、角の大きさもぜんぶ同じ図形です。だから、カメ(🐢)に「同じ長さだけ すすむ → 同じ角度だけ まがる」を角の数だけくりかえさせると、正多角形がかけます。

プログラムを動かす前に、まず頭の中でカメになってみましょう。

問1:正方形をかくとき、カメは1つのかどで何度まがればいい?
答えを見る

90度。4つのかどで 90度ずつ、4回まがると 90 × 4 = 360度。ちょうど1周まわって、最初の向きにもどります。

問2:では正三角形は? 正三角形の角は 60度だけど…
答えを見る

120度です。60度ではありません! 3つのかどで3回まがって1周(360度)するのだから、1回は 360 ÷ 3 = 120度。60度しかまがらないと、正六角形になってしまいます(ためしてみよう)。

⚠ まちがえやすいところ:まがる角度は「外角」

正三角形の「角の大きさ(内角)」は 60度ですが、カメがまがる角度は、進んできた向きから次の向きまでの角度=外角です。内角と外角を足すと 180度なので、まがる角度 = 180 − 内角 = 120度。

まがる角度 120°(外角) 内角 60° ← 進んできた向き

「かどの数 × まがる角度 = 360」が、いつでも成り立ちます。だから まがる角度 = 360 ÷ かどの数。

🐢 ブラウザで動かしてみよう(プレイグラウンド)

下の「カメの画面」で、カメがコードのとおりに線をかきます。まず「角の数」のスライダーを動かして、コードの中の数字と、カメがかく形がどう変わるかを見てみましょう。コードは自分で書きかえて「▶ 実行」を押せば、そのとおりに動きます。

360 ÷ 5 = 72°
見本を入れる:
</> JavaScript
🐢 カメの画面

※ スライダーや見本のボタンを押すと、左のコードが書きかわって自動で実行されます。自分で書いたコードを残したいときは、先にどこかにコピーしておこう。
※ 図形が大きすぎて画面に入らないときは、小さくして表示します(1辺の長さを短くしても同じ形がかけます)。
※ 書いたコードはサーバーには送られません。この画面の中だけで動きます。

使える命令

命令意味例
すすむ(長さ)向いている方向へ、その長さだけ線をひきながら進むすすむ(100);
まがる(角度)その場で右(時計まわり)にまがる。マイナスにすると左にまがるまがる(72);
くりかえす(回数, function () { … }){ } の中を回数だけくりかえす。Scratchの「○回くりかえす」と同じくりかえす(5, function () { … });
ペンの色(色)線の色をかえる。「あか」「あお」「みどり」のように日本語でもOKペンの色("あお");
はじめから()画面を消して、カメを真ん中・右向きにもどすはじめから();

Scratchの「10歩動かす」「15度回す」と同じことを、文字で書いているだけです。カメは最初、画面の真ん中で右を向いています。

やってみよう

  1. スライダーで角の数を 3 → 4 → 5 → 6 → 8 とふやして、「まがる角度」が 120 → 90 → 72 → 60 → 45 と変わるのを見よう。ぜんぶ 360 ÷ 角の数 になっているかな?
  2. 正七角形にすると、360 ÷ 7 は割り切れません。コードには まがる(360 / 7); と式のまま書けばOK。計算はコンピューターがやってくれます。
  3. 「★ 星形」の見本を見てみよう。5回くりかえすのに、まがる角度は 72度ではなく 144度(72の2倍)。5 × 144 = 720 で、2周まわるから線が交わって星になります。
  4. 角の数を 36 にして、1辺の長さを 20 くらいにしてみよう。10度ずつ36回まがると…ほとんど円! 角の数をふやすほど、正多角形は円に近づきます。
  5. くりかえしの中に ペンの色("あか"); を足したり、くりかえす を2つ重ねて(正五角形を10回かきながら少しずつまがる)もようを作ったりしてみよう。

🧩 Scratchでかく

同じことは Scratch でもできます。線をひくには「ペン」の拡張機能が必要です。

  1. Scratch の画面の左下にある「拡張機能を追加」ボタンを押して、「ペン」を選ぶ(ブロックの一覧に緑色の「ペン」が増えます)。
  2. スタートの準備をする。ペンを上げたまま少し左上へ行って右を向き、前にかいた線を消してからペンを下ろします(右回りに下へ向かってかくので、真ん中から始めると大きい形が画面の下にはみ出します)。
    🏳 が押されたとき
    ペンを上げる
    x座標を -50 、y座標を 100 にする
    90 度に向ける
    全部消す
    ペンを下ろす
  3. 変数「かどの数」と「へんの長さ」を作って、くりかえしの中に「動かす」と「回す」を入れる。回す角度は 360 ÷ かどの数 を「演算」の割り算ブロックで作ります。
    かどの数 を 5 にする
    へんの長さ を 100 にする
    かどの数 回くりかえす
    へんの長さ 歩動かす 360 / かどの数 度回す
  4. 🏳 を押して正五角形がかけたら、「かどの数」を 3・4・6・8・36 にかえて、もう一度 🏳 を押してみよう。36 のときは「へんの長さ」を 20 くらいにすると画面におさまります。学習用ファイル(下)では、スタート地点を「図形がまん中に来る位置」に計算で決めているので、どの角の数でも中央にかけます。

📥 学習用ファイル(Scratch 3 用)

上のプログラムを入れた Scratch のファイルを用意しました。変数もコメントもぜんぶ日本語で、「かどの数を 3 や 6 にかえてみよう」のヒントつきです。

学習用ファイル(.sb3)をダウンロード Scratch 3 はブラウザで動きます。ファイルを端末に保存したら、Scratch の「ファイル」→「コンピューターから読み込む」で開いてください(scratch.mit.edu、または学校で使っている Scratch)。

🔢 なぜ 360 ÷ n なの?

カメは、スタートの向きからかき始めて、n個のかどで n回まがり、さいごにスタートの向きにもどってきます。向きが元にもどるということは、ちょうど1回転=360度まがったということ。n回でぴったり 360度なので、1回分は 360 ÷ n です。

そして、正多角形の「角の大きさ(内角)」は、まっすぐ(180度)からまがった分を引いた 180 − (360 ÷ n) になります。表にすると、こうなります。

角の数 n名前まがる角度(外角)
360 ÷ n
角の大きさ(内角)
180 − 外角
3正三角形120°60°
4正方形90°90°
5正五角形72°108°
6正六角形60°120°
8正八角形45°135°
12正十二角形30°150°
36正三十六角形10°170°

角の数がふえるほど、まがる角度は小さく、内角は 180度に近づきます。内角が 180度に近いということは「ほとんどまっすぐ」。まっすぐに近い短い辺をたくさんつなぐと、円に見えるわけです。これが「正多角形と円」の単元で、コンピューターを使って正多角形をかく理由です。手ではかけない正三十六角形も、プログラムなら数字を1つ変えるだけでかけます。

🏫 先生向け:授業での使い方

対象小学5年(4年〜中1でも可) 時間45分×1 教科算数「正多角形と円」 位置づけ小学校プログラミング教育の手引 A分類(学習指導要領に例示) 端末1人1台。iPad・Chromebook可。ログイン不要

学習指導要領の解説で例示されている「プログラミングを通して正多角形の意味をもとに正多角形をかく場面」(手引の A分類・算数 第5学年)をそのまま行うためのページです。ねらいは、正多角形の性質(辺の長さがすべて等しく、角の大きさがすべて等しい)を「くりかえし」の命令に置きかえて表現すること、そして手ではかけない正多角形をかく中で「角の数をふやすと円に近づく」ことに気づくことです。プログラミングの技能そのものは目標ではないので、コードは見本を写すだけで十分です。

45分の流れ

時間活動先生の動き・ポイント
5分 手でかく ノートに正方形と正三角形を手でかき、「かき方を言葉で説明すると?」を考える 「同じ長さ進んで、同じだけまがる」が子どもから出ればベスト。出なければ「カメになったつもりで」と促す。まがる角度はまだ確定させない
10分 正方形を命令にする「100すすむ・90まがる」を4回、を全員で確認 → 正三角形は「何度まがる?」を予想して書く 60度と120度に予想が割れるのが理想。理由を言わせてから、プレイグラウンドの正方形の見本を映して「命令は2つだけ」を見せる
15分 プレイグラウンドで正三角形〜正八角形 スライダーで 3・4・5・6・8 を試し、「角の数」と「まがる角度」の表をノートに作る 60度で正三角形にならないことを実際に見せる(60 にすると正六角形になる)。表から「かける」=「360÷角の数」を子どもの言葉で出す。書きかえがむずかしい子はスライダーだけでよい
10分 「円に近づく」発見 角の数を 12・20・36 とふやす。1辺を短くして画面におさめる 「これは何角形?」「どこまで角の数をふやせる?」。正三十六角形が円に見えることから、円の学習(円周・直径)へつなぐ一言を添える
5分 ふりかえり「正多角形をかく命令のきまり」「手でかくのとどこがちがったか」を1〜2行 「360÷角の数」を自分の言葉で書けているかを見る。コードが書けたかどうかは書かせない

発問の例

導入:「正方形のかき方を、方向と長さの言葉だけで、目をつぶった友だちに説明できる?」
予想:「正三角形の角は60度。じゃあカメも60度まがればいい?」(割れたら両方やってみる)
一般化:「表を見て、角の数からまがる角度を計算する方法を見つけられる? 正十角形なら何度?」
発展:「角の数を100にしたら、どんな形になると思う? 手でかけるかな?」

つまずきと手立て

よくある様子手立て
正三角形で「60度」を入れて、正六角形になってしまう失敗させてよい。「6回まがってやっと1周した=1回は60度しかまがっていない」と気づかせ、内角と外角のちがいをページ上部の図で確認する
くりかえす回数と角度の対応があいまい(5回で90度など)「まがった角度を全部足すと?」と聞く。360にならないと元の向きにもどらない=図形が閉じないことを、実際に画面で見せる
360÷7 が割り切れなくて止まる「360 / 7」と式のまま書いてよいと伝える。計算はコンピューターの仕事、と切り分ける
全角の「()」や「;」を打ってエラーになるエラー文の下に日本語のヒントが出る。直せないときは見本ボタンで戻して、スライダーだけで進める
図形が画面からはみ出す自動で縮小表示されるが、「1辺の長さ」を短くすれば同じ形が小さくかけることを確認させる(相似の素地)

評価の観点

観点こう言えたら分かっている
知識・技能正多角形の性質(辺も角も等しい)を、「同じ長さ進む・同じ角度まがる」のくりかえしとして説明できる
思考・判断・表現「角の数 × まがる角度 = 360」から、まがる角度を 360÷角の数 と一般化できる。内角と外角のちがいを図で説明できる
主体的に学習に取り組む態度角の数をふやして試し、円に近づくことを自分で見つけようとしている。うまくいかなかった命令の理由を考えている

配るURL・使い分け

用途URL・ファイル
プレイグラウンド(このページ)https://hinata-ya.tech/games/tutorials/regular-polygon/
Scratch で行う場合regular-polygon.sb3 を配布し、Scratch 3 の「ファイル」→「コンピューターから読み込む」で開く

よくある質問

Q. Scratchがなくてもできますか?

A. できます。このページのプレイグラウンドはブラウザだけで動き、インストールもログインもいりません。Scratchで同じものを作りたいときだけ、学習用ファイル(.sb3)をダウンロードして使ってください。

Q. iPadやタブレットでも動きますか?

A. 動きます。スライダーで角の数を変えるだけならキーボードなしでできます。コードを書きかえるときは画面のキーボードで入力できますが、外付けキーボードがあると楽です。

Q. 何年生向けですか?

A. 小学5年の算数「正多角形と円」に合わせています。角度と「1周=360度」を習っていれば4年生でも楽しめますし、内角と外角の関係まで扱えば中学1年の数学の復習にもなります。

Q. 円はかけますか?

A. 本当の円ではありませんが、角の数を36にすると10度ずつ36回まがる正三十六角形になり、見た目はほとんど円です。角の数をふやすほど円に近づくことを、自分で発見するのがこの教材のゴールの1つです。

Q. このあと何を学べますか?

A. 同じ「くりかえし」の考え方で作られたゲームの中を見るのがおすすめです。ScratchのブロックがJavaScriptでどう書かれるかを見くらべるページ、AIに手伝ってもらいながらゲームを作るページ、形をかいて点数がつくゲームへ進めます。

💡 「くりかえし」の次は、自分のゲームを作ってみよう

正多角形がかけたら、プログラミングの一番大事な考え方は、もう1つ身についています。ひなテックの教室では、こうした考え方をゲーム作りで楽しく積み上げていきます。