スクラッチによるプログラミング
担当：喜家村 奨（帝塚山学院大学）

実習内容




スクラッチの基本
正三角形を描く
正方形、正五角形、正六角形を描く
正多角形を描く1

Scratchの基本
下記のWebサイトへアクセスする

https://scratch.mit.edu/

「作る」、「見る」、「アイデア」、「Scratchについて」などのメニューがある。
「作る」をクリックするとプログラムを作成するページが表示される。
アカウントを作成し、サインインすると、サイト内にプロジェクトを保存できるが、ここでは省略。
2

Scratchの「作る」ページ
Scratchの「作る」ページは大きく分けて以下の４つのエリアで構成されています

スプライト：
ステージを動くキャラク
ターのこと

ブロックパレット：
ブロックを選択するエリア

コードエリア：ステージ：
スプライトを配置して動かす舞台

プログラムを書く
エリア

スプライト一覧：
スプライトを管理する
3

準備：Scratchで線を描けるようにする
Scratchで拡張機能「ペン」を使うには、
 左下の「拡張機能を追加」ボタンを押す。
 ペンを選択して、Scratch内でペンを使えるようにする。

ペンを使うための4ブロックが追加される

ペンに関するブロックの紹介
ステージ上に描かれた線を全部消す

ペンを下してスプライトが移動すると、線が描ける。（鉛筆を紙の上に下した状態）
ペンを上げるとスプライトが移動しても線を描かない。（鉛筆を紙から離した状態）
ペンの色を変える。
色のマルをクリックすると色を変更できる

ペンの太さを変える
5

線を描く練習（１） 先ほど、追加した「ペン」に関するブロックを使って、ステージ上に線を描いてみよう。
＜手順＞① 「イベント」の「緑の旗が押されたとき」ブロックをコードエリアにドラッグする。
② 「ペンの色を〇にする」ブロックをコードエリアにドラッグし、ペンの色を好きな色に変更する。
③ 「ペンの太さを〇にする」ブロックをドラッグし、ペンの太さを３にする。
④ 「ペンを下ろす」ブロックをドラッグする。
⑤ 「90度に向ける」ブロックをドラッグする。
⑥ 「猫を〇歩動かす」ブロックをドラッグし、歩数を100に変更する。
ステージの左上の緑の旗をクリックすると※数値を入力するときは、必ず半角文字で入力する
ネコが右方向に100歩分、線を描く 6

線を描く練習（２）
点線を描く

線の方向を変える

ペンを下してネコが動くと線を描く。
ペンを上げてネコが動いても線を描かない。

猫を回転させて、動かすと、回転した進行方向に線を描く。

7

正多角形を描く
正多角形（正N角形）を描くプログラムを作成しましょう。
どのようにブロック（命令）を組み合わせれば、正多角形が描けるでしょう。

8

例題１：正三角形を描く
 先ほどの練習で、ペンを下してネコを動かすと線が描けること。ネコを回転させてから動かすとネコの進行方向に線が角度を変えて描かれることが分かりました。
 では、正三角形を描くためには、どのようにプログラムを組み立てればよいでしょう？

準備※この演習では、ネコを９０度に向けて右に線を引くところから、図形を描き出すこととします。

？？？

この後、どうブロックを並べれば正三角形を描けますか？
9ヒント正三角形の１つの内角は60度
正三角形の場合、一辺を描いた後の猫の回転角は180-60度で120度回転させる必要がある。

60度※授業では、正三角形の１つの内角が６０度であるのに、猫を６０度回転させて描いても、うまく正三角形を描けないことから、どうすればよいかを生徒に考えさせる。

60度

120度

10

正三角形を描くプログラムを作る
準備

線を描く準備のために、まず、ステージ上の線を消し、ペンを下し、猫を真横（９０度）に向ける。
①猫を100歩動かす。
②猫を反時計方向に120度回す。
③猫の動きが分かるように１秒待つ。

一辺を描き回転待つ

①～③のブロックを２回、複製して３辺を描くようにする。

※ブロックの上でマウスを右クリックし、「複製」を選ぶとそのブロックを複製できます。

11

プログラムを組替えて効率をあげる
先ほどの正三角形を描くプログラムは同じ処理を三回続けて実行している。このような場合、繰り返しブロックに置き換えることで、変更に強い、効率的なプログラムに変更できる。

同じ処理を３回、実行してる

順次構造：
上から順番に処理を実行する

繰り返し構造：同じ処理を複数回実行する
12

例題２：正方形、正五角形、正六角形を描く
例題１の正三角形を描くプログラムを変更し、正方形、正五角形、正六角形を描くプロ
グラムを作成しよう。
それぞれの図形を描くためには、繰り返し回数とネコの回転角を変更しないといけない。
正方形、正五角形、正六角形を描くために、ネコの回転角を考えてみよう。

正多角形

正三角形

正方形

正五角形

正六角形

繰返し回数

３４５６回転角
（度）

120度
13

ヒント
 正三角形の１つの内角は60度
 正三角形の場合、一辺を描いた後の猫の回転角は60度

180-60度で120度回転する。これは以下の式でも求められる。
120度

360/3=120（度） 正方形の１つの内角は90度
 正方形の場合、一辺を描いた後の猫の回転角は360/4=90（度） 正五角形、正六角形についても考え、先の表に記入しよう。

90度
90度

14

正方形、正五角形、正六角形を描くプログラムを作成する
正三角形を描くプログラムの繰り返し回数、回転角を変更し、まず、正方形を描くようにプログラムを変更してみよう。
正五角形、正六角形についても、プログラムを変更し描いてみよう。
繰返し回数を変更する
回す角度を変更する

15

例題３：正多角形（正N角形）を描く
１つのプログラムで正N角形を描くプログラムに変更してみよう。
正三角形を描く

正方形を描く

正五形を描く

正六形を描く

正N角形を描く（一般化）
16

正N角形を描く準備繰り返す回数（辺の数）と、ネコの回転角の間には、何か関係がありそう。以下の表と図形を参考に、正N角形の描くための猫の回転角の式を考えよう。
正七角形の回転角は割り切れません。回転角を式で表現し、計算をコンピュータに行わせることで、より正確な図形を描くこともできます。

正多角形

正三角形

正方形

正五角形

正六角形

正七角形・・・

回転角（度）

120度

90度

72度

60度

51.428・・・・・・

式

360÷3・・・

回転角＝３６０÷N（辺の数）

正N角形

？
17

変数Nを準備する（定義する）
 変数は値を保持しておきたいときなどに使います。例題３では、変数Nに多角形の辺の数を記憶しておくために使います。

Scratchで、変数を利用するためには、以下の手順で変数を定義する必要があります。
＜手順＞① パレットの「変数」をクリックする。
② 「変数を作る」をクリックする。
③ 新しい変数名（今回はN）を入力し、OKボタンを押す。

変数に〇を代入するブロック
今の変数の値に〇を加えるブロック

18

正N角形を描くプログラムを作成する
先ほど作成した変数Nに、多角形の辺数を記憶し、そのNを使って、１つのプログラムで正N角形を描くプログラムに変更します。
① 定義した変数Nに、描きたい多角形の辺の数を代入する。

①②② 繰り返し数をNにする。
③ 回転角を360/Nとする。
③19

応用：プログラムの改良（ステージからはみ出ないように一辺の長さを調整する）① 繰り返し描画できるように、最初に全部消しておく。
② 猫の描画開始位置も、はみ出さないように調整する。

①③ 一辺の長さを700/Nとする（例: 700/3＝233.3）。
②③20