多重ループと三角形
こんなのを書いてみます
まず、1つの三角形
ここではブロック(定義)を使います。スクラッチにはブロックを作るって書いてあって、できるのは大義
定義=ブロックなんだけど統一してほしいなぁ。
まずブロック「300の三角形」をつくります。
ブロックは→ブロックの作り方 を見てください。
そして、ブロックの中身を書きます。
ペンの「全部消す」や「ペンを下ろす」は→ペンはどこにある を見てください
l120度ずつ3回、回せば、300ピクセルの三角形がかけます。
ネコチャンは「大きさ50」にして小さくしてあります
2つめの三角形を1つ
今度は長さ150の三角形を作ります・。「1秒待つ」は書いている様子を見たいのでつけてあります。
後で外します。
1、150の三角形というブロック(定義)を作ってっください。
コピーペーストを上手に使って書クト簡単です。→コピーペーストの仕方
次に矢印のように、300の三角形から150の三角形を1回呼び出します
まず150の三角形を書いてから、300の三角形を書きます。
2つめ150の三角形を3つ
3カ所、「150の三角形を入れれば良いのです」すると、ほらできた。
3つめの三角形
150の半分の三角形を書いてみましょうほらできた
もう一つ
300の三角形が150の三角形を呼びだし
150の三角形が75の三角形を呼び出し
75の三角形がもっと小さい三角形を呼び出します。
巻単(簡単)にしよう(その1)
なんだか面倒くさいもっと簡単にしてみましょう
ここで松を入れたのは、どこかへ入れておかないと、速くて、書いているんだか分からないからです。
で、なにこれー、って言うのは下に説明します。
3本線を引くのだから、3回繰り返せば良いじゃない、ということで、
3回繰り返すの中に、線を一本引くのを入れます
すると上のように短くなります。
「1秒待つ」は外しましょう。
ほら、巻単になりました。
300が150を呼び出し、150が75を呼び出し・・・どんどん小さくなります
自分を呼び出そう
長さが違うだけでおなじようなブロック(定義)を呼び出すのは面倒(めんどう)これも巻単位なります
自分で自分を呼び出せば良いのです
今度は、引数(ひきすう)のあるブロックを作ります
→ブロックの作り方の中に引数付きブロックの作り方があります
「長さnの三角形」は、一辺の長さちう引数があります。
ブロックを呼び出すとき、一辺の長さの値(あたい)を渡すことが出来るのです。
渡すのは、現在の長さの半分の長さを(一辺の長さ÷2)と小さくして渡すのです
スクラッチでは、÷は「/」で表します。
そして、短くなったら終わるように、
「もし」をつけ加えて
もし一辺の長さが10より大きいときだけ三角形を書いて、
そうでないときは何もしない(線も引かないしブロックも呼び出さない)ようにします。
随分(ずいぶん)簡単(かんたん)になった