<snapdata remixID="9151462"><project name="U5L3-TimingAlgorithms" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</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="1.7740541009484332" y="-1.6608930522846777" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" 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="28.25388601036269" y="10" w="317.38860103626945" collapsed="false">Use this &quot;list from x through y&quot; block to build the following blocks:</comment><comment x="16.85492227979276" y="192.90155440414503" w="435.0777202072539" collapsed="false">Use the &quot;time function&quot; block to determine which algorithms (from above and below) can be executed in &quot;reasonable time&quot;.  &#xD;Also, run the &quot;time function&quot; multiple times on all the algorithms to determine if they are constant, linear, polynomial, or exponential.</comment><script x="87.13989637305701" y="350.2590673575128"><custom-block s="add numbers 1 to %s using math trick"><custom-block s="add numbers 1 to %s using combine"><l>10000</l></custom-block></custom-block></script><comment x="412.274612398964" y="358.8341978911915" w="90" collapsed="false">alter the numbers in the loop to make a bigger/smaller list to test; we will always search for a number not in the list</comment><script x="87.31678168329017" y="302.7720287253887"><custom-block s="add numbers 1 to %s using for"><l></l></custom-block></script><script x="30.803108808290148" y="271.7720247253887"><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="position of number %s in unsorted list %s"><l>0</l><block var="randomList"/></custom-block></autolambda><list></list></block></custom-block></script><script x="68.44041450777218" y="394.55958549222777"><block s="doSetVar"><l>randomList</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><l>200</l><script><block s="doAddToList"><block s="reportRandom"><l>1</l><l>100000</l></block><block var="randomList"/></block></script></block></script><script x="73.77720207253878" y="503.642487046632"><block s="doSetVar"><l>sorted list</l><custom-block s="numbers from %n to %n"><l>1</l><l>1000</l></custom-block><comment w="90" collapsed="false">just like above, change to make sorted list bigger/smaller</comment></block></script><comment x="10" y="105.26424870466326" w="495.18134715025906" collapsed="false">The list of 2-digit numbers goes from 10 to 99. There&apos;s a math operations block that can give you powers of 10.&#xD;Also make a factorial block.</comment><script x="81.31678168329017" y="593.7720287253887"><custom-block s="position of number %s in sorted list %s"><l>10000</l><block var="sorted list"/></custom-block></script><script x="65.31678168329017" y="57.77202872538868"><custom-block s="1000 numbers starting from %s"><l>10000</l></custom-block></script><script x="273.3167816832902" y="79.77202872538868"><custom-block s="all %s digit numbers"><l>4</l></custom-block></script><script x="436.3167816832902" y="307.7720287253887"><custom-block s="factorial of %s"><l>9</l></custom-block></script></scripts></sprite><watcher var="randomList" style="normal" x="-25.962960508471042" y="3.7019133022132564" color="243,118,29" hidden="true"/><watcher var="sorted list" style="normal" x="10.115956864304735" y="3.5575681416229514" color="243,118,29" hidden="true"/><watcher var="nums list" style="normal" x="1.5833333333332575" y="0" color="243,118,29" hidden="true"/><watcher var="digit numbers list" style="normal" x="9.595959595959812" y="9.595959595959599" color="243,118,29" extX="149.00000000000023" extY="176"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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="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 from %&apos;min&apos; through %&apos;max&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><block var="min"/><block var="max"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportCONS"><block var="min"/><custom-block s="list from %s through %s"><block s="reportSum"><block var="min"/><l>1</l></block><block var="max"/></custom-block></block></block></script></block></script></block-definition><block-definition s="1000 numbers starting from %&apos;num&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="list from %s through %s"><block var="num"/><block s="reportSum"><block var="num"/><l>999</l></block></custom-block></block></script></block-definition><block-definition s="all %&apos;num&apos; digit numbers" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="list from %s through %s"><block s="reportMonadic"><l><option>10^</option></l><block s="reportDifference"><block var="num"/><l>1</l></block></block><block s="reportDifference"><block s="reportMonadic"><l><option>10^</option></l><block var="num"/></block><l>1</l></block></custom-block></block></script></block-definition><block-definition s="time function %&apos;function&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>start time</l></list></block><block s="doSetVar"><l>start time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><custom-block s="ignore %s"><block s="evaluate"><block var="function"/><list></list></block></custom-block><block s="doReport"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="start time"/></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></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></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="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="%&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></translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="from"/><block var="to"/></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="reportSum"><block var="from"/><l>1</l></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></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="add numbers 1 to %&apos;max&apos; using for" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="max"/><script><block s="doChangeVar"><l>a</l><block var="i"/></block></script></custom-block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="add numbers 1 to %&apos;max&apos; using combine" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><custom-block s="numbers from %n to %n"><l>1</l><block var="max"/></custom-block></custom-block></block></script></block-definition><block-definition s="add numbers 1 to %&apos;max&apos; using math trick" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportProduct"><block var="max"/><block s="reportSum"><block var="max"/><l>1</l></block></block><l>2</l></block></block></script></block-definition><block-definition s="factorial of %&apos;num&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportCombine"><custom-block s="list from %s through %s"><l>1</l><block var="num"/></custom-block><block s="reifyReporter"><autolambda><block s="reportProduct"><l></l><l></l></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="position of number %&apos;number&apos; in unsorted list %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doIf"><block s="reportEquals"><block var="number"/><block s="reportListItem"><block var="i"/><block var="list"/></block></block><script><block s="doReport"><block var="i"/></block></script></block></script></custom-block><block s="doReport"><l>NIL</l></block></script></block-definition><block-definition s="position of number %&apos;num&apos; in sorted list %&apos;sorted&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l><l>c</l></list></block><block s="doSetVar"><l>a</l><l>1</l></block><block s="doSetVar"><l>b</l><block s="reportListLength"><block var="sorted"/></block></block><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></block><block s="doUntil"><block s="reportEquals"><block var="num"/><block s="reportListItem"><block var="c"/><block var="sorted"/></block></block><script><block s="doIf"><block s="reportOr"><block s="reportEquals"><block var="c"/><block var="a"/></block><block s="reportEquals"><block var="c"/><block var="b"/></block></block><script><block s="doReport"><l>NIL</l></block></script></block><block s="doIfElse"><block s="reportLessThan"><block var="num"/><block s="reportListItem"><block var="c"/><block var="sorted"/></block></block><script><block s="doSetVar"><l>b</l><block var="c"/></block><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></block></script><script><block s="doSetVar"><l>a</l><block var="c"/></block><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></block></script></block></script></block><block s="doReport"><block var="c"/></block></script></block-definition></blocks><variables><variable name="randomList"><list struct="atomic" id="969">60824,26572,66171,47507,27229,79920,80131,92870,44285,12998,6085,20758,19530,73725,58515,61584,69340,8793,7044,49966,89284,55247,57039,44019,1473,51403,77276,3522,79434,45785,82025,35230,43187,67716,1168,66150,89721,22731,70046,57292,3761,10500,10867,18124,55947,96006,21863,86002,22944,65393,27003,54324,55567,46720,47279,45050,64586,31112,48657,44541,88323,67243,89276,58441,73152,39513,65925,16595,85454,70953,46469,20887,38178,96057,19644,31215,21554,29433,91919,44757,44532,53192,73952,31971,85504,98869,88970,65729,7561,70524,84280,84798,48080,94376,94502,92266,20837,61109,60546,93990,28732,57811,93022,94797,78095,69817,36013,1351,5586,83802,1838,60389,25502,55798,13637,99788,57093,70686,18394,67668,6347,76100,3828,17913,17902,50480,4590,29125,57946,99157,97293,25189,98097,72854,23486,53150,28858,23214,64160,71418,11871,81633,39586,43945,83282,59359,31630,54211,15829,36103,42488,91388,66074,82810,56201,20282,44182,43473,5461,33320,29584,1461,86236,74422,60554,82240,72474,85458,78708,58845,2776,99839,38644,38728,65298,83409,49833,15053,31913,6600,19013,87340,89346,55320,91201,78880,6627,8532,23777,77612,69044,30728,29217,362,2143,12448,89273,15334,86764,46583</list></variable><variable name="sorted list"><list struct="atomic" linked="linked" id="970">1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000</list></variable><variable name="nums list"><list struct="atomic" id="971">10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009</list></variable><variable name="digit numbers list"><list struct="atomic" id="972">10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99</list></variable></variables></project><media name="U5L3-TimingAlgorithms" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>