<snapdata remixID="9207250"><project name="U5L1p2 Analyzing and Improving Searches " 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="0.4093567251461536" y="-0.2923976608187786" 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="30" y="206.00000000000006"><custom-block s="position of %n in sorted list %l"><l>99</l><block var="awfulList"/></custom-block></script><script x="30" y="424"><custom-block s="position of %n in sorted list %l"><l>11</l><block var="awfulList"/></custom-block></script><script x="30" y="458.0000000000001"><custom-block s="position of %n in sorted list %l"><l>2</l><block var="awfulList"/></custom-block></script><script x="30" y="92.00000000000028"><custom-block s="position of number %s in unsorted list %l"><l>2</l><l/></custom-block></script><script x="30" y="172.00000000000017"><custom-block s="position of number %s in unsorted list %l"><l>11</l><block var="awfulList"/></custom-block></script><script x="30" y="129.0000000000003"><block s="doSetVar"><l>awfulList</l><l></l></block></script><script x="293" y="40.666666666666174"><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block s="reportNewList"><list><l>20</l><l>12</l><l>3</l><l>1</l><l>30</l><l>14</l></list></block></block><script><custom-block s="say position of number %n in sorted list %l"><block s="reportListItem"><l>1</l><block s="reportNewList"><list><l>1</l><l>7</l><l>8</l><l>9</l><l>11</l><l>11</l><l>21</l><l>22</l><l>23</l><l>24</l><l>73</l><l>73</l><l>96</l><l>99</l></list></block></block><block var="awful list"/></custom-block></script></block></script><script x="329.0957051250001" y="306.66666966666617"><block s="reportNewList"><list></list></block></script></scripts></sprite><watcher scope="Stage" s="getLastAnswer" style="normal" x="1.1355468750000455" y="0.8683593749999972" color="4,148,220" hidden="true"/><watcher var="awful list" style="normal" x="0.5343749999999545" y="0" color="243,118,29" extX="80" extY="285"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Number guessing game" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><l>I&apos;m thinking of a number from 1 to 60.</l></block></script></custom-block><block s="doDeclareVariables"><list><l>secret number</l><l>number of guesses</l><l>guesses</l></list></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><l>60</l></block></block><block s="doSetVar"><l>number of guesses</l><l>0</l></block><block s="doSetVar"><l>guesses</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doAsk"><l>Guess my secret number.</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="guesses"/></block><block s="doSetVar"><l>number of guesses</l><block s="reportSum"><block var="number of guesses"/><l>1</l></block></block><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><block var="guesses"/></block></script></custom-block><block s="doSayFor"><custom-block s="high or low answer: %n secret number: %n"><block s="getLastAnswer"></block><block var="secret number"/></custom-block><l>2</l></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it in </l><block var="number of guesses"/><l> guesses.</l></list></block><l>3</l></block></script></block-definition><block-definition s="high or low answer: %&apos;answer&apos; secret number: %&apos;secret number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="answer"/><block var="secret number"/></block><script><block s="doReport"><l>Yay!</l></block></script></block><block s="doIfElse"><block s="reportLessThan"><block var="answer"/><block var="secret number"/></block><script><block s="doReport"><l>too low</l></block></script><script><block s="doReport"><l>too high</l></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="position of number %&apos;value&apos; in unsorted list %&apos;data&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><custom-block s="for %upvar = %n to %n %cs"><l>index</l><l>1</l><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="index"/><block var="data"/></block><block var="value"/></block><script><block s="doReport"><block var="index"/></block></script></block></script></custom-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.00000300000002" 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="say position of number %&apos;number&apos; in sorted list %&apos;data&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>guess</l><l>low</l><l>high</l><l>counter</l></list></block><block s="doSetVar"><l>low</l><l>1</l></block><block s="doSetVar"><l>low</l><block s="reportListLength"><block var="data"/></block></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="number"/></block><script><block s="doIf"><block s="reportGreaterThan"><block var="low"/><block var="high"/></block><script><block s="doSayFor"><l>Not in list (or list isn&apos;t sorted).</l><l>3</l></block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="number"/></block><script><block s="doSetVar"><l>high</l><block s="reportDifference"><block var="guess"/><l>1</l></block></block></script><script><block s="doSetVar"><l>low</l><block s="reportSum"><block var="guess"/><l>1</l></block></block></script></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block><block s="doChangeVar"><l>counter</l><l>1</l></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>Position&apos;s</l><block var="guess"/><l>found in</l><block var="counter"/><l>guesses</l></list></block><l>3</l></block></script><scripts><script x="10" y="504.9999999999996"><block s="reportRound"><l></l></block></script><script x="10" y="603.9999999999993"><block s="reportSum"><l></l><l></l></block></script><script x="10" y="636.9999999999993"><block s="reportSum"><l></l><l>1</l></block></script><script x="10" y="669.9999999999993"><block s="reportDifference"><l></l><l>1</l></block></script><script x="10" y="735.9999999999993"><block s="reportGreaterThan"><l></l><l></l></block></script><script x="10" y="768.9999999999993"><block s="reportGreaterThan"><l></l><l></l></block></script><script x="10" y="801.9999999999993"><block s="reportListItem"><l>1</l><l/></block></script><script x="10" y="899.9999999999995"><block var="data"/></script><script x="10" y="929.9999999999995"><block var="data"/></script><script x="10" y="959.9999999999995"><block var="data"/></script><script x="10" y="989.9999999999995"><block var="guess"/></script><script x="10" y="1019.9999999999993"><block var="guess"/></script><script x="10" y="1050"><block var="guess"/></script><script x="10" y="1080"><block var="guess"/></script><script x="10" y="1110"><block var="guess"/></script><script x="10" y="1140"><block var="high"/></script><script x="10" y="1170"><block var="high"/></script><script x="10" y="1200"><block var="high"/></script><script x="10" y="1230"><block var="low"/></script><script x="10" y="1260"><block var="low"/></script><script x="10" y="1290"><block var="low"/></script><script x="10" y="1320"><block var="num"/></script><script x="10" y="1350"><block var="num"/></script><comment x="10" y="1380" w="467.6" collapsed="false">This is essentially the Number guessing game program, but with the user interface parts removed.&#xD;A stop condition for the loop should be self-documenting.  (There&apos;s still an early stop if the error condition LOW&gt;HIGH occurs.  In this case it means that the supposedly sorted list given as input isn&apos;t sorted, or if the desired item isn&apos;t in the list.)</comment><script x="10" y="1469.9999999999995"><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><l>I&apos;m thinking of a number from 1 to 60.</l></block></script></custom-block><block s="doDeclareVariables"><list><l>secret number</l><l>number of guesses</l><l>guesses</l></list></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><l>60</l></block></block><block s="doSetVar"><l>number of guesses</l><l>0</l></block><block s="doSetVar"><l>guesses</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doAsk"><l>Guess my secret number.</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="guesses"/></block><block s="doSetVar"><l>number of guesses</l><block s="reportSum"><block var="number of guesses"/><l>1</l></block></block><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><block var="guesses"/></block></script></custom-block><block s="doSayFor"><custom-block s="high or low answer: %n secret number: %n"><block s="getLastAnswer"></block><block var="secret number"/></custom-block><l>2</l></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it in </l><block var="number of guesses"/><l> guesses.</l></list></block><l>3</l></block></script></scripts></block-definition><block-definition s="position of %&apos;num&apos; in sorted list %&apos;data&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>guess</l><l>low</l><l>high</l></list></block><block s="doSetVar"><l>low</l><l>1</l></block><block s="doSetVar"><l>high</l><block s="reportListLength"><block var="data"/></block></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="num"/></block><script><block s="doIf"><block s="reportGreaterThan"><block var="low"/><block var="high"/></block><script><block s="doSayFor"><l>Not in list (or list isn&apos;t sorted).</l><l>3</l></block><block s="doReport"><l></l></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="num"/></block><script><block s="doSetVar"><l>high</l><block s="reportDifference"><block var="guess"/><l>1</l></block></block></script><script><block s="doSetVar"><l>low</l><block s="reportSum"><block var="guess"/><l>1</l></block></block></script></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block></script></block><block s="doReport"><block var="guess"/></block></script><scripts><comment x="10" y="476.99999999999994" w="547.6" collapsed="false">This is exactly the code from the previous problem, but with REPORT instead of SAY.</comment></scripts></block-definition></blocks><variables><variable name="awful list"><list struct="atomic" id="952">1,7,8,9,11,11,21,22,23,24,73,73,96,99</list></variable></variables></project><media name="U5L1p2 Analyzing and Improving Searches " app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>