<snapdata remixID="8417913"><project name="1920 U2L4p2 Fractal Art (starter)" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAEbElEQVR4Xu2dP2gUURCH5xAxYCPBwk4CchZ2ASFEIadYaEQsxEYsbC2FKCmEyzUiUUhvY2Mj/ilC5BASc1GU2IiFReRs7Cwk2ASCcFnJGggHQsi8gZ+b910ZMjP3vvfdvNnNsakVRVEYLwiICNQQUESesiUBBEQEKQEElOKnOALigJQAAkrxUxwBcUBKAAGl+CmOgDggJYCAUvwUR0AckBJAQCl+iiMgDkgJIKAUP8UREAekBBBQip/iCIgDUgIIKMVPcQTEASkBBJTipzgC4oCUAAJK8VMcAXFASgABpfgpjoA4ICWAgFL8FK+sgJ0P67b0fj1pB8dODVhjdCApB8FpBCorYOvBL2vePpS0+ogcSW+A4Oo+GSFCnogcOJRGgA6Y2EXT8BONgAgo/RQgIAIioIdAxPwWkcPz3onZJkAHdHTATqdjjUajz6N//QzRdiaAgA4BW9PfbWnxmb1pT5SEz154aGNnrlrzztGdifMbfQQQ0CFgu/3axm8ct8bIWgmzs3zQXj1esfHx8+i1SwII6BBwk3Ht8LLZviN/cfd+WPFzZJfo+fWSY1WfER1xAZGS4/K1RZtdGCotutj4ZnNPz2GUgwACOjtg6/4nm5oZLJFP3Vq15uSwAz8hCOgUsNvtWv30/tKgr+9+W71exyYHAQR0CljOL4MvSuTF6hUHekKYARO/UXNzYsV6vZ49mjmBTU4CdMCEDnhv+qVtbBR2d5IO6PSvulfB1nriXXNY3NrJYzZfG7LPXw64c779uG4Lz7du57izVDewsh2wFLB5vbrkt955yq2gyi++yvcBEXAv6FfhG9EIiIBaAhzBWv5B1ZkBg0B60zADVvUfVtMBvc7/V3F0QPF20AHpgFIFERABEVBIgCNYCH+zNB2QDihVEAEREAGFBDiChfA5gvlTnFg/ZkA6oFhBZkBmQKmCCIiAUgFzL84RnLsB4vUjoHgDci+PgLkbIF4/Aoo3IPfyCJi7AeL1I6B4A3Ivj4C5GyBePwKKNyD38giYuwHi9SOgeANyL4+AuRsgXj8Cijcg9/IImLsB4vUjoHgDci+PgLkbIF6/TMDNL2KmvIbn5+zSaEqGoNg98IzCIBKuNDIBXe82OCj3byMH43SlQ8CEZ0S7iBPURwABEVD6kUBABERAFQFmQBX57bp0QDqg1EIEREAEVBHgCFaR5wguCSAgAkoJIKAUf1mcGZAZUGohAiIgAqoIcASryHMRwkWI3j1mQDqg3kJmQGZAqYXZC5hKv4nASQizFjCJHMEhBBAwBCNJvAQQ0EuOuBACCBiCkSReAgjoJUdcCAEEDMFIEi8BBPSSIy6EAAKGYCSJlwACeskRF0IAAUMwksRLAAG95IgLIYCAIRhJ4iWAgF5yxIUQQMAQjCTxEkBALzniQgggYAhGkngJIKCXHHEhBBAwBCNJvAQQ0EuOuBACCBiCkSReAgjoJUdcCAEEDMFIEi8BBPSSIy6EAAKGYCSJlwACeskRF0IAAUMwksRL4A+tKjPGpGLeQAAAAABJRU5ErkJggg==</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="50" heading="180" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,22,223,255" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><comment x="20" y="20" w="770" collapsed="false">Updated by Firstname Lastname 09/17/2019&#xD;1920 U2L4p2 Fractal Art (starter)&#xD;Unit 2 Lab 4: Dealing with Complexity &gt; Fractal Art</comment><comment x="20" y="98" w="764" collapsed="false">In this project, you will nest repeat blocks inside repeat blocks to generate complex pictures.</comment><script x="20" y="152"><block s="gotoXY"><l>0</l><l>50</l></block><block s="clear"></block><block s="down"></block><block s="doRepeat"><l>3</l><script><block s="setColor"><color>219,0,58,1</color></block><block s="forward"><l>100</l></block><block s="doRepeat"><l>3</l><script><block s="setColor"><color>3,0,229,1</color></block><block s="forward"><l>50</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script></block><block s="up"></block></script><comment x="20" y="439" w="769.2857142857143" collapsed="false">1.0 Start a new project. Save it as &quot;U2L4p4 Fractal Art&quot;</comment><comment x="20" y="493" w="771.4285714285714" collapsed="false">2.0 Build a script that draws a red triangle, duplicate it twice, and make the two new scripts draw a blue triangle half the size of the red and green one half the size of the blue.&#xD;      To duplicate a script, right-click (or control-click) on the first block of the script (in this case, the repeat block) and choose &quot;duplicate&quot;.&#xD;      Then, change the inputs as the video shows:</comment><script x="20" y="571"><block s="clear"></block><block s="down"></block><block s="doRepeat"><l>3</l><script></script></block><block s="up"></block></script><comment x="20" y="683" w="750" collapsed="false">3.0 Try each script by itself to be certain what it does. Then clear the stage.</comment><comment x="20" y="737" w="748.5714285714287" collapsed="false">4.0 Now, insert the entire script for the blue triangle between the move and turn blocks of the red triangle, like this.</comment><script x="20" y="791"><block s="clear"></block><block s="down"></block><block s="doRepeat"><l>3</l><script></script></block><block s="up"></block></script><comment x="20" y="903" w="748.5714285714287" collapsed="false">5.0 Talk with your partner. Predict what will happen when you run this script&#xD;6.0 Then, try this script to see what it does.</comment><comment x="20" y="969" w="751.4285714285714" collapsed="false">7.0 Using the scripts you have, find a way to make this picture.</comment><script x="20" y="1023"><block s="clear"></block><block s="down"></block><block s="doRepeat"><l>3</l><script></script></block></script><script x="20" y="1117"><block s="doRepeat"><l>3</l><script></script></block></script><script x="20" y="1175"><block s="doRepeat"><l>3</l><script></script></block></script><comment x="20" y="1233" w="752.8571428571429" collapsed="false">8.0 If you like, embed one more triangle, half the size of the last one, in the same way.</comment><script x="20" y="1287"><block s="clear"></block><block s="down"></block><block s="doRepeat"><l>3</l><script></script></block></script><script x="20" y="1380.9999999999998"><block s="doRepeat"><l>3</l><script></script></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script><script x="20" y="1463.9999999999998"><block s="doRepeat"><l>3</l><script></script></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script><script x="20" y="1546.9999999999998"><block s="doRepeat"><l>3</l><script></script></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script><comment x="20" y="1629.9999999999998" w="735" collapsed="false">9.0 Create a nested triangle block.&#xD;  9.1 Design the block with one input, size. For now, leave out the part about changing colors.&#xD;  9.2 Use your first unnamed triangle script from problem 1 as a model. But add one condition: draw the triangle only if it&apos;s big enough:&#xD;  9.3 Click the &quot;Apply&quot; button in the Block Editor so that the block appears in the palette on the left.&#xD;  9.4 Try out this block giving at least the inputs 9, 18, 20 and 100 to make sure it works as you expect.</comment><script x="20" y="1731.9999999999998"><block s="clear"></block><custom-block s="nested triangle, size: %s"><l>9</l></custom-block></script><script x="20" y="1788.9999999999998"><custom-block s="nested triangle, size: %s"><l>18</l></custom-block></script><script x="20" y="1828"><custom-block s="nested triangle, size: %s"><l>20</l></custom-block></script><script x="20" y="1867"><custom-block s="nested triangle, size: %s"><l>100</l></custom-block></script><comment x="20" y="1906" w="715" collapsed="false">10.0 In problem #4, you dragged a copy of the script between the move and turn blocks. You can do a similar thing with your block.&#xD;  10.1 From the palette, drag a copy of that nested triangle block into the editor and insert it in the definition of nested triangle between the move and turn blocks.           Make its size input half the current value of size.&#xD;         nested triangle, size: (size/2)&#xD;  10.2 Again try out your block with at least the inputs 9, 18, 20 and 100 to make sure it works as you expect.</comment><script x="20" y="2008"><block s="clear"></block><custom-block s="nested triangle, size %s #10"><l>9</l></custom-block></script><script x="20" y="2065"><block s="clear"></block><custom-block s="nested triangle, size %s #10"><l>18</l></custom-block></script><script x="20" y="2122"><block s="clear"></block><custom-block s="nested triangle, size %s #10"><l>20</l></custom-block></script><script x="20" y="2179"><block s="clear"></block><custom-block s="nested triangle, size %s #10"><l>100</l></custom-block></script><comment x="20" y="2236" w="710" collapsed="false">11.0 Use nested triangle as a model to define a recursive nested square block.</comment><script x="20" y="2290"><block s="clear"></block><custom-block s="recursive nested square block %s"><l>20</l></custom-block></script><comment x="20" y="2347" w="710" collapsed="false">12.0 Try adding a color input and using set-pen-color-to-number instead of  set-pen-color-to-color-selector so that you can vary the color as you draw.&#xD;In the &quot;recursive call&quot;—the block that is embedded inside and that has the half-size input—try adding 10 to the color.&#xD;Before you try this block, use set-pen-color-to-color-selector to pick a colorful color, not nearly white or nearly black. Then you can use any color number as input to your new block.</comment><script x="20" y="2437"><block s="clear"></block><block s="setColor"><color>241,0,112,255</color></block><block s="down"></block><custom-block s="recursive nested square block %s color %s"><l>50</l><l>0</l></custom-block></script><comment x="20" y="2533" w="701.4285714285714" collapsed="false">13.0 Examine this code without running it&#xD;13.1 Predict how many blue shapes it will draw.&#xD;13.2 Try to sketch what it will produce.&#xD;13.3 If one more copy of the basic script were embedded inside the blue, how many copies of that shape would be drawn</comment><script x="20" y="2623"><block s="clear"></block><block s="down"></block><block s="doRepeat"><l>4</l><script><block s="setColor"><color>255,0,72,255</color></block><block s="forward"><l>100</l></block><block s="doRepeat"><l>4</l><script><block s="setColor"><color>0,22,223,255</color></block><block s="forward"><l>50</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>4</l></block></block></script></block><block s="turn"><block s="reportQuotient"><l>360</l><l>4</l></block></block></script></block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000299999996" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="nested triangle, size: %&apos;size&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="size"/><l>2</l></block><script><block s="doRepeat"><l>3</l><script></script></block></script><comment w="523.2857162857142" collapsed="false">This block will terminate when the size value is less than or equal to 2.  Change this value to 40, 20, 10, 5 to see different levels of iteration.</comment></block></script></block-definition><block-definition s="nested triangle, size %&apos;size&apos; #10" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="size"/><l>2</l></block><script><block s="doRepeat"><l>3</l><script></script></block></script><comment w="517.5714305714287" collapsed="false">This recursive block will terminate when the size value is less than or equal to 2.  Change this value to 40, 20, 10, 5 to see different levels of iteration.</comment></block></script><scripts><script x="43.000001" y="168.000001"><custom-block s="nested triangle, size: %s"><l></l><comment w="417.8571428571429" collapsed="false">Note that the block calls on itself in its very own definition.  This is the essence of recursion.</comment></custom-block></script></scripts></block-definition><block-definition s="recursive nested square block %&apos;size&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="size"/><l>2</l></block><script><block s="doRepeat"><l>4</l><script></script></block></script></block></script><scripts><script x="25.000001999999995" y="158.000002"><custom-block s="recursive nested square block %s"><l></l></custom-block></script></scripts></block-definition><block-definition s="recursive nested square block %&apos;size&apos; color %&apos;color&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="size"/><l>2</l></block><script><block s="doRepeat"><l>4</l><script><block s="setPenHSVA"><l><option>hue</option></l><block var="color"/></block><block s="forward"><block var="size"/></block><custom-block s="recursive nested square block %s color %s"><block s="reportQuotient"><block var="size"/><l>2</l></block><block s="reportSum"><block var="color"/><l>10</l></block><comment w="224.2857142857143" collapsed="false">Note that the block calls on itself in its very own definition.  This is the essence of recursion.</comment></custom-block><block s="turn"><block s="reportQuotient"><l>360</l><l>4</l></block></block></script></block></script><comment w="264.2857142857143" collapsed="false">This recursive block will terminate when the size value is less than or equal to 2.  Change this value to 40, 20, 10, 5 to see different levels of iteration.</comment></block></script></block-definition></blocks><variables></variables></project><media name="1920 U2L4p2 Fractal Art (starter)" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>