<snapdata remixID="9154814"><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="2.273137630667179" y="-5.546203342936536" 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><script x="10" y="61.00000000000091"><custom-block s="list from %s through %s"><l>1</l><l>100</l></custom-block></script><comment x="11" y="10" w="315.38860103626945" collapsed="false">Use this &quot;list from x through y&quot; block to build the following blocks:</comment><comment x="12" y="84.00000000000057" 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="13" y="146.00000000000045"><custom-block s="factorial of %s"><l>5</l></custom-block></script><comment x="13" y="179.0000000000012" 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="17.000000000000057" y="266.0000000000008"><custom-block s="time function %repRing"><block s="reifyReporter"><script></script><list></list></block></custom-block></script><comment x="14.000000000000057" y="739.9999999999989" 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="17.000000000000057" y="292.00000000000153"><custom-block s="1000 numbers starting from %s"><l>100000</l></custom-block></script><script x="18.000000000000114" y="319.00000000000085"><custom-block s="position of number %s in unsorted list 1- %s %s"><l>10</l><l>10</l><block var="randomList"/></custom-block></script><script x="18.000000000000114" y="376.00000000000057"><custom-block s="all %s digit numbers"><l>4</l></custom-block></script><script x="18.000000000000114" y="402.9999999999998"><custom-block s="add numbers 1 to %s using for"><l>1</l></custom-block></script><script x="16.000000000000057" y="430.9999999999984"><custom-block s="add numbers 1 to %s using combine"><l>10000</l></custom-block></script><script x="15.000000000000057" y="456.9999999999982"><custom-block s="add numbers 1 to %s using math trick"><l></l></custom-block></script><script x="17.000000000000057" y="484.99999999999477"><block s="reportListLength"><block var="list"/></block></script><script x="19.513672875000054" y="517.0000040000007"><custom-block s="only odd numbers from 1 to %s"><l>100</l><comment w="90" collapsed="false">CUSTOM BLOCK!!!</comment></custom-block></script><script x="189.0000000000001" y="228.00000000000085"><custom-block s="position of number %s in sorted list 1- %s %s"><l>10</l><l>10</l><block var="sorted list"/></custom-block></script></scripts></sprite><watcher var="1000 list" style="normal" x="0.10019531250145519" y="0.10019531250012648" color="243,118,29" hidden="true"/><watcher var="#" style="normal" x="0.3206249999989268" y="0.16031250000003183" color="243,118,29" hidden="true"/><watcher var="digitList" style="normal" x="0.4007812499985448" y="0.4007812499998735" color="243,118,29" hidden="true"/><watcher var="maxList" style="normal" x="21.000000000001364" y="80.39999999999988" color="243,118,29" hidden="true"/><watcher var="oddList" style="normal" x="119.29097531363846" y="5.885876163496533" color="243,118,29" hidden="true"/><watcher var="randomList" style="normal" x="277" y="114.22377237125318" color="243,118,29" extX="106" extY="211"/><watcher var="sorted list" style="normal" x="50.61148694478288" y="127.2150470294562" color="243,118,29" hidden="true"/></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="doSetVar"><l>1000 list</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="num"/><block var="1000 list"/></block><block s="doSetVar"><l>#</l><block s="reportSum"><block var="num"/><l>1</l></block></block><block s="doRepeat"><l>999</l><script><block s="doAddToList"><block var="#"/><block var="1000 list"/></block><block s="doSetVar"><l>#</l><block s="reportSum"><block var="#"/><l>1</l></block></block></script></block><block s="doReport"><l>Stop supering before you dash with mortis</l></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="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportStringSize"><l></l></block><block var="num"/></block></autolambda><list></list></block><custom-block s="list from %s through %s"><l>1</l><block s="reportMonadic"><l><option>10^</option></l><block s="reportSum"><block var="num"/><l>1</l></block></block></custom-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="doIfElse"><block s="reportEquals"><block var="num"/><l>0</l></block><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><block s="reportProduct"><block var="num"/><custom-block s="factorial of %s"><block s="reportDifference"><block var="num"/><l>1</l></block></custom-block></block></block></script></block></script></block-definition><block-definition s="position of number %&apos;number&apos; in unsorted list 1- %&apos;num&apos; %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>randomList</l><l>0</l></block><block s="doSetVar"><l>randomList</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>maxList</l><block var="num"/></block><block s="doRepeat"><block var="maxList"/><script><block s="doAddToList"><block s="reportRandom"><l>1</l><block var="maxList"/></block><block var="randomList"/></block></script></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="maxList"/><script><block s="doIf"><block s="reportEquals"><block var="number"/><block s="reportListItem"><block var="i"/><block var="randomList"/></block></block><script><block s="doReport"><block var="i"/></block></script></block></script></custom-block><block s="doReport"><l>NIL</l></block></script><scripts><script x="424.5976592500001" y="198.00000599999998"><block var="list"/></script></scripts></block-definition><block-definition s="position of number %&apos;num&apos; in sorted list 1- %&apos;num&apos; %&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="doSetVar"><l>sorted list</l><custom-block s="numbers from %n to %n"><l>1</l><block var="num"/></custom-block><comment w="90" collapsed="false">just like above, change to make sorted list bigger/smaller</comment></block><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><block-definition s="find position in unsorted list" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="find position of %&apos;num&apos; in unsorted list" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>randomList</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><l>100</l><script><block s="doAddToList"><block s="reportRandom"><l>1</l><l>100</l></block><block var="randomList"/></block></script></block><block s="doReport"><l></l></block></script><scripts><script x="48" y="199.533333333332"><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><script></script><list></list></block><l/></custom-block></script></scripts></block-definition><block-definition s="only odd numbers" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="only odd numbers from 1 to %&apos;num&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>oddList</l><l>0</l></block><block s="doSetVar"><l>oddList</l><block s="reportNumbers"><l>1</l><block var="num"/></block></block><block s="doWait"><l>1</l></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportModulus"><l></l><l>2</l></block><l>0</l></block></autolambda><list></list></block><block var="oddList"/></block></block></script></block-definition></blocks><variables><variable name="randomList"><list struct="atomic" id="1079">7,8,6,1,2,8,7,10,3,6</list></variable><variable name="sorted list"><list struct="atomic" linked="linked" id="1080">1,2,3,4,5,6,7,8,9,10</list></variable><variable name="1000 list"><list struct="atomic" id="1081">100000,100001,100002,100003,100004,100005,100006,100007,100008,100009,100010,100011,100012,100013,100014,100015,100016,100017,100018,100019,100020,100021,100022,100023,100024,100025,100026,100027,100028,100029,100030,100031,100032,100033,100034,100035,100036,100037,100038,100039,100040,100041,100042,100043,100044,100045,100046,100047,100048,100049,100050,100051,100052,100053,100054,100055,100056,100057,100058,100059,100060,100061,100062,100063,100064,100065,100066,100067,100068,100069,100070,100071,100072,100073,100074,100075,100076,100077,100078,100079,100080,100081,100082,100083,100084,100085,100086,100087,100088,100089,100090,100091,100092,100093,100094,100095,100096,100097,100098,100099,100100,100101,100102,100103,100104,100105,100106,100107,100108,100109,100110,100111,100112,100113,100114,100115,100116,100117,100118,100119,100120,100121,100122,100123,100124,100125,100126,100127,100128,100129,100130,100131,100132,100133,100134,100135,100136,100137,100138,100139,100140,100141,100142,100143,100144,100145,100146,100147,100148,100149,100150,100151,100152,100153,100154,100155,100156,100157,100158,100159,100160,100161,100162,100163,100164,100165,100166,100167,100168,100169,100170,100171,100172,100173,100174,100175,100176,100177,100178,100179,100180,100181,100182,100183,100184,100185,100186,100187,100188,100189,100190,100191,100192,100193,100194,100195,100196,100197,100198,100199,100200,100201,100202,100203,100204,100205,100206,100207,100208,100209,100210,100211,100212,100213,100214,100215,100216,100217,100218,100219,100220,100221,100222,100223,100224,100225,100226,100227,100228,100229,100230,100231,100232,100233,100234,100235,100236,100237,100238,100239,100240,100241,100242,100243,100244,100245,100246,100247,100248,100249,100250,100251,100252,100253,100254,100255,100256,100257,100258,100259,100260,100261,100262,100263,100264,100265,100266,100267,100268,100269,100270,100271,100272,100273,100274,100275,100276,100277,100278,100279,100280,100281,100282,100283,100284,100285,100286,100287,100288,100289,100290,100291,100292,100293,100294,100295,100296,100297,100298,100299,100300,100301,100302,100303,100304,100305,100306,100307,100308,100309,100310,100311,100312,100313,100314,100315,100316,100317,100318,100319,100320,100321,100322,100323,100324,100325,100326,100327,100328,100329,100330,100331,100332,100333,100334,100335,100336,100337,100338,100339,100340,100341,100342,100343,100344,100345,100346,100347,100348,100349,100350,100351,100352,100353,100354,100355,100356,100357,100358,100359,100360,100361,100362,100363,100364,100365,100366,100367,100368,100369,100370,100371,100372,100373,100374,100375,100376,100377,100378,100379,100380,100381,100382,100383,100384,100385,100386,100387,100388,100389,100390,100391,100392,100393,100394,100395,100396,100397,100398,100399,100400,100401,100402,100403,100404,100405,100406,100407,100408,100409,100410,100411,100412,100413,100414,100415,100416,100417,100418,100419,100420,100421,100422,100423,100424,100425,100426,100427,100428,100429,100430,100431,100432,100433,100434,100435,100436,100437,100438,100439,100440,100441,100442,100443,100444,100445,100446,100447,100448,100449,100450,100451,100452,100453,100454,100455,100456,100457,100458,100459,100460,100461,100462,100463,100464,100465,100466,100467,100468,100469,100470,100471,100472,100473,100474,100475,100476,100477,100478,100479,100480,100481,100482,100483,100484,100485,100486,100487,100488,100489,100490,100491,100492,100493,100494,100495,100496,100497,100498,100499,100500,100501,100502,100503,100504,100505,100506,100507,100508,100509,100510,100511,100512,100513,100514,100515,100516,100517,100518,100519,100520,100521,100522,100523,100524,100525,100526,100527,100528,100529,100530,100531,100532,100533,100534,100535,100536,100537,100538,100539,100540,100541,100542,100543,100544,100545,100546,100547,100548,100549,100550,100551,100552,100553,100554,100555,100556,100557,100558,100559,100560,100561,100562,100563,100564,100565,100566,100567,100568,100569,100570,100571,100572,100573,100574,100575,100576,100577,100578,100579,100580,100581,100582,100583,100584,100585,100586,100587,100588,100589,100590,100591,100592,100593,100594,100595,100596,100597,100598,100599,100600,100601,100602,100603,100604,100605,100606,100607,100608,100609,100610,100611,100612,100613,100614,100615,100616,100617,100618,100619,100620,100621,100622,100623,100624,100625,100626,100627,100628,100629,100630,100631,100632,100633,100634,100635,100636,100637,100638,100639,100640,100641,100642,100643,100644,100645,100646,100647,100648,100649,100650,100651,100652,100653,100654,100655,100656,100657,100658,100659,100660,100661,100662,100663,100664,100665,100666,100667,100668,100669,100670,100671,100672,100673,100674,100675,100676,100677,100678,100679,100680,100681,100682,100683,100684,100685,100686,100687,100688,100689,100690,100691,100692,100693,100694,100695,100696,100697,100698,100699,100700,100701,100702,100703,100704,100705,100706,100707,100708,100709,100710,100711,100712,100713,100714,100715,100716,100717,100718,100719,100720,100721,100722,100723,100724,100725,100726,100727,100728,100729,100730,100731,100732,100733,100734,100735,100736,100737,100738,100739,100740,100741,100742,100743,100744,100745,100746,100747,100748,100749,100750,100751,100752,100753,100754,100755,100756,100757,100758,100759,100760,100761,100762,100763,100764,100765,100766,100767,100768,100769,100770,100771,100772,100773,100774,100775,100776,100777,100778,100779,100780,100781,100782,100783,100784,100785,100786,100787,100788,100789,100790,100791,100792,100793,100794,100795,100796,100797,100798,100799,100800,100801,100802,100803,100804,100805,100806,100807,100808,100809,100810,100811,100812,100813,100814,100815,100816,100817,100818,100819,100820,100821,100822,100823,100824,100825,100826,100827,100828,100829,100830,100831,100832,100833,100834,100835,100836,100837,100838,100839,100840,100841,100842,100843,100844,100845,100846,100847,100848,100849,100850,100851,100852,100853,100854,100855,100856,100857,100858,100859,100860,100861,100862,100863,100864,100865,100866,100867,100868,100869,100870,100871,100872,100873,100874,100875,100876,100877,100878,100879,100880,100881,100882,100883,100884,100885,100886,100887,100888,100889,100890,100891,100892,100893,100894,100895,100896,100897,100898,100899,100900,100901,100902,100903,100904,100905,100906,100907,100908,100909,100910,100911,100912,100913,100914,100915,100916,100917,100918,100919,100920,100921,100922,100923,100924,100925,100926,100927,100928,100929,100930,100931,100932,100933,100934,100935,100936,100937,100938,100939,100940,100941,100942,100943,100944,100945,100946,100947,100948,100949,100950,100951,100952,100953,100954,100955,100956,100957,100958,100959,100960,100961,100962,100963,100964,100965,100966,100967,100968,100969,100970,100971,100972,100973,100974,100975,100976,100977,100978,100979,100980,100981,100982,100983,100984,100985,100986,100987,100988,100989,100990,100991,100992,100993,100994,100995,100996,100997,100998,100999</list></variable><variable name="#"><l>101000</l></variable><variable name="digitList"><list struct="atomic" id="1082"></list></variable><variable name="maxList"><l>10</l></variable><variable name="oddList"><list struct="atomic" linked="linked" id="1083">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</list></variable></variables></project><media name="U5L3-TimingAlgorithms" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>