<snapdata remixID="12467855"><project name="Recursion Skeleton" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAtNJREFUeF7t1DFqFGEAhuF/wM7CK9hJCq9hCMR2wUuIjSAWroVobNJ5hYCQLlOoZ7AUBcXKE4hNtBlBtBDM2mx4i32mHv6Pef9nd1qWZRkeBaICE4BRebO/CgAIQloAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAbzAwHw2j8Pbh4RccgEANwQ+PhhjuXI+3n5/PE5ePxvTNF3ydeze8QBuuPN5nsfHF3//C36bPo0fN0/Gk6NHQG7h9wLgfyKuDz6Ma2PvH28t482XB+PVu+dbuIbdPQLADXe/v/dw7F9/+vuNZbz/ejpu3VvGarXaXTFb/nIALwh6/+56XP18Z5zfeDmOjtdbzu64PwUAZCEtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmN/wTNWga36P5JWQAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="Recursion Skeleton"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="initials %&apos;sentence&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>initials</l><l>final initials</l></list></block><block s="doSetVar"><l>final initials</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>initials</l><block s="reportTextSplit"><block var="sentence"/><l><option>word</option></l></block></block><block s="doForEach"><l>item</l><block var="initials"/><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="item"/><l><option>letter</option></l></block></block><block var="final initials"/></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="final initials"/></list></block></block></script></block-definition><block-definition s="copies %&apos;num&apos; %&apos;word&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%txt"></input></inputs><script><block s="doSetVar"><l>copies</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l> </l></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="num"/><script><block s="doAddToList"><block var="word"/><block var="copies"/></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="copies"/><l> </l></list></block></block></script></block-definition><block-definition s="spell number" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="fib %&apos;num&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>fibonacci</l><l>b</l><l>f1</l><l>f2</l></list></block><block s="doSetVar"><l>fibonacci</l><l>0</l></block><block s="doSetVar"><l>f1</l><l>1</l></block><block s="doSetVar"><l>f2</l><l>1</l></block><block s="doRepeat"><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="num"/><l>1</l></list></block><l>2</l></block><script><block s="doSetVar"><l>f1</l><block s="reportVariadicSum"><list><block var="f1"/><block var="f2"/></list></block></block><block s="doSetVar"><l>f2</l><block s="reportVariadicSum"><list><block var="f1"/><block var="f2"/></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="num"/><l>2</l></block><l>0</l></list></block><script><block s="doSetVar"><l>fibonacci</l><block s="reportDifference"><block var="f2"/><block var="f1"/></block></block><block s="doReport"><block var="fibonacci"/></block></script><script><block s="doSetVar"><l>fibonacci</l><block s="reportDifference"><block var="f1"/><block s="reportDifference"><block var="f2"/><block var="f1"/></block></block></block><block s="doReport"><block var="fibonacci"/></block></script></block></script></block-definition><block-definition s="pig latin %&apos;sentence&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>vowel list</l><l>Constonant list</l></list></block><block s="doSetVar"><l>sentence</l><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block></block><block s="doSetVar"><l>complete sentence</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>vowel list</l><block s="reportNewList"><list><l>A</l><l>E</l><l>I</l><l>O</l><l>U</l></list></block></block><block s="doSetVar"><l>Constonant list</l><block s="reportNewList"><list><l>B</l><l>C</l><l>D</l><l>F</l><l>G</l><l>H</l><l>J</l><l>K</l><l>L</l><l>M</l><l>N</l><l>P</l><l>Q</l><l>R</l><l>S</l><l>T</l><l>V</l><l>W</l><l>X</l><l>Y</l><l>Z</l></list></block></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="sentence"/><script><block s="doSetVar"><l>word</l><block var="item"/></block><block s="doSetVar"><l>word</l><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block><block s="doIfElse"><block s="reportListContainsItem"><block var="vowel list"/><block s="reportListItem"><l>1</l><block var="word"/></block></block><script><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l>way</l><l> </l></list></block></block><block s="doAddToList"><block var="word"/><block var="complete sentence"/></block></script><script><block s="doIf"><block s="reportListContainsItem"><block var="Constonant list"/><block s="reportListItem"><l>1</l><block var="word"/></block></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="Constonant list"/><block s="reportListItem"><l>2</l><block var="word"/></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="word"/></block><block var="word"/></block><block s="doAddToList"><block s="reportListItem"><l>2</l><block var="word"/></block><block var="word"/></block><block s="doDeleteFromList"><l>1</l><block var="word"/></block><block s="doDeleteFromList"><l>1</l><block var="word"/></block><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l>ay</l><l> </l></list></block></block><block s="doAddToList"><block var="word"/><block var="complete sentence"/></block></script><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="word"/></block><block var="word"/></block><block s="doDeleteFromList"><l>1</l><block var="word"/></block><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l>ay</l><l> </l></list></block></block><block s="doAddToList"><block var="word"/><block var="complete sentence"/></block></script></block></script></block></script></block></script></custom-block><block s="doReport"><block s="reportJoinWords"><list><block var="complete sentence"/></list></block></block></script></block-definition><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>de:drucke _ in Größe _&#xD;</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="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></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>de:behalte Elemente, die _ aus _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><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-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><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-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>de:wenn _ dann _ sonst _&#xD;</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>de:für _ = _ bis _ _&#xD;</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="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></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="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></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>de:füge Wörter zusammen _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><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="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></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="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></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-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;</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>de:wirf _&#xD;</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>de:fange _ _&#xD;</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>de:wirf _ _&#xD;</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>de:für jedes _ von _ _&#xD;</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>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;</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>de:Wort $arrowRight Liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="pig word %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>vowel list</l><l>Constonant list</l></list></block><block s="doSetVar"><l>vowel list</l><block s="reportNewList"><list><l>A</l><l>E</l><l>I</l><l>O</l><l>U</l></list></block></block><block s="doSetVar"><l>Constonant list</l><block s="reportNewList"><list><l>B</l><l>C</l><l>D</l><l>F</l><l>G</l><l>H</l><l>J</l><l>K</l><l>L</l><l>M</l><l>N</l><l>P</l><l>Q</l><l>R</l><l>S</l><l>T</l><l>V</l><l>W</l><l>X</l><l>Y</l><l>Z</l></list></block></block><block s="doSetVar"><l>word</l><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block><block s="doForEach"><l>item</l><block var="vowel list"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="word"/></block><block var="item"/></list></block><script><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l>way</l></list></block></block><block s="doReport"><block var="word"/></block></script></block></script></block><block s="doIf"><block s="reportListContainsItem"><block var="Constonant list"/><block s="reportListItem"><l>1</l><block var="word"/></block></block><script><block s="doIf"><block s="reportListContainsItem"><block var="Constonant list"/><block s="reportListItem"><l>2</l><block var="word"/></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="word"/></block><block var="word"/></block><block s="doAddToList"><block s="reportListItem"><l>2</l><block var="word"/></block><block var="word"/></block><block s="doDeleteFromList"><l>1</l><block var="word"/></block><block s="doDeleteFromList"><l>1</l><block var="word"/></block><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l>ay</l></list></block></block><block s="doReport"><block var="word"/></block></script></block><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="word"/></block><block var="word"/></block><block s="doDeleteFromList"><l>1</l><block var="word"/></block><block s="doSetVar"><l>word</l><block s="reportJoinWords"><list><block var="word"/><l>ay</l></list></block></block><block s="doReport"><block var="word"/></block></script></block></script></block-definition><block-definition s="pascal %&apos;row&apos; %&apos;column&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="column"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="column"/><block var="row"/></list></block></list></block><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><block s="reportVariadicSum"><list><custom-block s="pascal %n %n"><block s="reportDifference"><block var="row"/><l>1</l></block><block s="reportDifference"><block var="column"/><l>1</l></block></custom-block><custom-block s="pascal %n %n"><block s="reportDifference"><block var="row"/><l>1</l></block><block var="column"/></custom-block></list></block></block></script></block></script></block-definition><block-definition s="to binary %&apos;number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>binary number</l></list></block><block s="doSetVar"><l>binary number</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportVariadicEquals"><list><block var="number"/><l>1</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="number"/><l>2</l></block><l>1</l></list></block><script><block s="doInsertInList"><l>1</l><l>1</l><block var="binary number"/></block><block s="doSetVar"><l>number</l><block s="reportQuotient"><block s="reportDifference"><block var="number"/><l>1</l></block><l>2</l></block></block></script><script><block s="doInsertInList"><l>0</l><l>1</l><block var="binary number"/></block><block s="doSetVar"><l>number</l><block s="reportQuotient"><block var="number"/><l>2</l></block></block></script></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>1</l><block var="binary number"/></list></block></block></script></block-definition><block-definition s="triangle fractal level: %&apos;level&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="down"></block><block s="doRepeat"><l>3</l><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="level"/><l>3</l></list></block><script><custom-block s="triangle fractal level: %n"><block s="reportQuotient"><block var="level"/><l>2</l></block></custom-block><block s="forward"><block var="level"/></block><block s="turn"><l>120</l></block></script></block></script></block></script></block></script><scripts><script x="437" y="57.833333333333314"><custom-block s="triangle size: %n"><l></l></custom-block></script><script x="475.5859375" y="148.3333333333332"><block var="size"/></script><script x="492.5859375" y="199.49999999999994"><block var="size"/></script><script x="476" y="306.16666666666646"><block s="doRepeat"><l>9</l><script><block s="setColor"><color>13,214,0,1</color></block></script></block></script></scripts></block-definition><block-definition s="triangle size: %&apos;size&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="gotoXY"><l>0</l><l>50</l></block><block s="setHeading"><l>150</l></block><block s="doRepeat"><l>3</l><script><block s="down"></block><block s="forward"><block s="reportVariadicProduct"><list><block var="size"/><l>5</l></list></block></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script></block><block s="up"></block><block s="setHeading"><l>90</l></block></script></block-definition><block-definition s="fractal other" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="Factorial %&apos;number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>final num</l></list></block><block s="doSetVar"><l>final num</l><l>1</l></block><block s="doFor"><l>i</l><block var="number"/><l>1</l><script><block s="doSetVar"><l>final num</l><block s="reportVariadicProduct"><list><block var="final num"/><block var="i"/></list></block></block></script></block><block s="doReport"><block var="final num"/></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1141"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="1142"></list></costumes><sounds><list struct="atomic" id="1143"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="49.999999999998806" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="141,72,255,1" pen="tip" id="1148"><costumes><list struct="atomic" id="1149"></list></costumes><sounds><list struct="atomic" id="1150"></list></sounds><blocks></blocks><variables></variables><scripts><script x="18.810945273631802" y="10"><block s="receiveGo"></block></script><script x="17.210637879081077" y="83.17910547761198"><custom-block s="copies %n %txt"><l>5</l><l>spam</l><comment w="241.49253731343276" collapsed="true">ex. (copies 4 spam) = spam spam spam spam</comment></custom-block></script><script x="16.114427860696537" y="118.0796019900497"><custom-block s="fib %s"><l>7</l><comment w="87.01492537313435" collapsed="true">ex. (fib 7) = 13</comment></custom-block></script><script x="17" y="153.55223880597035"><custom-block s="initials %s"><l>chris we want to talk so nobody understands us</l></custom-block></script><script x="15.099502487562148" y="189.61194029850742"><custom-block s="pascal %n %n"><l>6</l><l>4</l><comment w="117.61194029850748" collapsed="true">ex. (pascal 6 4) = 15</comment></custom-block></script><script x="15.522388059701512" y="229.08457711442804"><custom-block s="to binary %n"><l>87</l><comment w="130.66666666666666" collapsed="true">new solution with recursion; cannot be old code</comment></custom-block></script><script x="17.218905472636806" y="298.3582069552239"><custom-block s="pig latin %s"><l>chris we want to talk so nobody understands us</l></custom-block></script><script x="17.10945273631839" y="262.21890547263683"><custom-block s="pig word %s"><l>click</l></custom-block></script><script x="130.09461967506218" y="987.6666666666665"><block var="word"/></script><script x="405.0995024875622" y="1354.966666666666"><block s="doReport"><block var="complete sentence"/></block></script><comment x="289.9638671875" y="158.55223880597032" w="225.33333333333334" collapsed="true">ex. (initials potatoes are delicious) = pad</comment><script x="19" y="337.3582069552238"><custom-block s="triangle size: %n"><l>5</l><comment w="204" collapsed="true">should draw a triangle of given size</comment></custom-block></script><script x="21" y="381.35820695522375"><custom-block s="triangle fractal level: %n"><l>150</l></custom-block></script><script x="444" y="35.33333333333337"><block s="clear"></block></script><script x="21.666666666666657" y="426.69154028855723"><custom-block s="fractal other"><comment w="169.33333333333334" collapsed="true">create your own fractal problem (examples in textbook)</comment></custom-block></script><script x="17.522388059701512" y="462.1666666666663"><custom-block s="Factorial %s"><l>5</l></custom-block></script></scripts></sprite><watcher var="copies" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="list" style="normal" x="66" y="102.000002" color="243,118,29" hidden="true"/><watcher var="sentence" style="normal" x="72" y="66.00000399999999" color="243,118,29" hidden="true"/><watcher var="complete sentence" style="normal" x="10" y="124.00000399999999" color="243,118,29" extX="80" extY="70" hidden="true"/><watcher var="word" style="normal" x="10" y="217.00000599999998" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="copies"><list struct="atomic" id="1187">spam ,spam ,spam ,spam ,spam </list></variable><variable name="list"><list struct="atomic" id="1188"></list></variable><variable name="sentence"><l>chris we want to talk so nobody understands us</l></variable><variable name="complete sentence"><list struct="atomic" id="1189">rischay ,eway ,antway ,otay ,alktay ,osay ,obodynay ,understandsway ,usway </list></variable><variable name="word"><l>usway </l></variable></variables></scene></scenes></project><media name="Recursion Skeleton" app="Snap! 8.2, https://snap.berkeley.edu" version="2"></media></snapdata>