<snapdata remixID="9322444"><project name="M7L1A3 List Processing Algorithms" 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="false" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAC99JREFUeAHt0DEBAAAAwqD1T20MH4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBj4DAyN/gABHhb3AgAAAABJRU5ErkJggg==</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="-94.99999999999932" y="5.684341886080802e-14" 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="20" y="20"><block s="doSetVar"><l>awful list</l><block s="reportNewList"><list><l>2</l><l>12</l><l>44</l><l>4</l><l>5</l><l>0</l><l>8</l><l>2</l><l>4</l><l>6</l></list></block></block><custom-block s="say position of number %n in sorted list %l"><l>2</l><block var="awful list"/></custom-block></script><script x="20" y="85"><custom-block s="sort list %s"><l></l></custom-block></script><script x="20" y="124"><block s="bubble"><custom-block s="sort list %l"><block s="reportNewList"><list><l>73</l><l>73</l><l>12</l><l>1</l><l>7</l><l>8</l><l>9</l><l>11</l><l>21</l><l>22</l><l>23</l><l>24</l><l>96</l><l>99</l></list></block></custom-block></block></script><script x="20" y="171"><custom-block s="position of number %n in unsorted list %l"><l>1</l><block s="reportNewList"><list><l>5</l><l>4</l><l>6</l><l>90</l><l>265713r165387</l><l>1</l></list></block></custom-block></script><script x="20" y="208"><custom-block s="are the numbers of %l distinct"><l/></custom-block></script><script x="20" y="240"><block s="reportEquals"><l>a</l><l>1</l></block></script><script x="20" y="273"><custom-block s="list without duplicate %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>2</l><l>4</l></list></block></custom-block></script><script x="20" y="310"><block s="reportNewList"><list><l>2</l><l>434</l><l>44</l><l>77</l><l>5</l><l>0</l><l>8</l><l>2</l><l>4</l><l>6</l></list></block></script><script x="20" y="343"><block s="doReport"><l></l></block></script><script x="20" y="382"><block s="doReport"><l></l></block></script><script x="20" y="421"><block s="reportJoinWords"><list><l>hello </l><l>world</l></list></block></script><script x="20" y="454"><block s="doSetVar"><l>list</l><l>0</l></block><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><block s="doSetVar"><l>b</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doIf"><l/><script><block s="doChangeVar"><l>a</l><block s="reportEquals"><block var="item"/><block s="reportListItem"><block var="i"/><block var="list"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="b"/><block var="item"/></block></block><script><block s="doAddToList"><block var="item"/><block var="b"/></block></script></block></script></block></script></block></script></block></script><script x="20" y="753"><block s="reportAnd"><l/><l/></block></script><script x="20" y="784"><block s="reportNot"><block s="reportEquals"><block var="i"/><custom-block s="position of number %n in sorted list %l"><block var="item"/><block var="list"/></custom-block></block></block></script><script x="20" y="826"><block s="bubble"><l>loading</l></block></script><script x="20" y="865"><block s="reportBoolean"><l><bool>true</bool></l></block></script><script x="20" y="899"><block var="awful list"/></script><script x="20" y="929"><block var="list"/></script><script x="20" y="959"><block s="doIfElse"><block s="reportLessThan"><block s="reportListLength"><block var="list"/></block><block var="a"/></block><script><block s="doReport"><block var="b"/></block></script><script><block s="doReport"><block s="reportJoinWords"><list><l>no</l><l> duplicates</l></list></block></block></script></block></script></scripts></sprite><watcher var="position" style="normal" x="10.000000000000114" y="10" color="243,118,29" hidden="true"/><watcher var="position 2" style="normal" x="10.000000000000114" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="item" style="normal" x="10.000000000000114" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="Number of guesses" style="normal" x="19.999999999999886" y="20.000000000000007" color="243,118,29"/><watcher var="pos." style="normal" x="19.999999999999886" y="62.000003999999976" color="243,118,29" hidden="true"/><watcher var="index" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="awful list" style="normal" x="311.9999999999998" y="12" color="243,118,29" hidden="true"/><watcher var="list" style="normal" x="10" y="31.000001999999995" color="243,118,29" extX="80" extY="70"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>position</l></list></block><block s="doSetVar"><l>position</l><l>0</l></block><block s="doIfElse"><block s="reportListContainsItem"><block var="list"/><block var="number"/></block><script><block s="doForEach"><l>item</l><block var="list"/><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block var="item"/><block var="number"/></block><script><block s="doReport"><block var="position"/></block></script></block></script></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="number"/><l> not in ,ist </l></list></block></block></script></block></script></block-definition><block-definition s="sort list %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doSetVar"><l>position</l><l>1</l></block><block s="doSetVar"><l>position 2</l><l>2</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIfElse"><block s="reportLessThan"><block s="reportListItem"><block var="position 2"/><block var="list"/></block><block s="reportListItem"><block var="position"/><block var="list"/></block></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="position"/><block var="list"/></block></block><block s="doReplaceInList"><block var="position"/><block var="list"/><block s="reportListItem"><block var="position 2"/><block var="list"/></block></block><block s="doReplaceInList"><block var="position 2"/><block var="list"/><block var="item"/></block><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doChangeVar"><l>position 2</l><l>1</l></block></script><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doChangeVar"><l>position 2</l><l>1</l></block></script></block></script></block><block s="doDeleteFromList"><block s="reportDifference"><block s="reportListLength"><block var="list"/></block><l>1</l></block><block var="list"/></block></script></block><block s="doReport"><block var="list"/></block></script></block-definition><block-definition s="position of number %&apos;number&apos; in sorted list %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>position</l></list></block><custom-block s="sort list %s"><block var="list"/></custom-block><block s="doSetVar"><l>position</l><l>0</l></block><block s="doIfElse"><block s="reportListContainsItem"><block var="list"/><block var="number"/></block><script><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list"/></block><block var="number"/></block><script><block s="doForEach"><l>item</l><block var="list"/><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block var="item"/><block var="number"/></block><script><block s="doReport"><block var="position"/></block></script></block></script></block></script></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="sort list %&apos;list&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doSetVar"><l>position</l><l>1</l></block><block s="doSetVar"><l>position 2</l><l>2</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIfElse"><block s="reportLessThan"><block s="reportListItem"><block var="position 2"/><block var="list"/></block><block s="reportListItem"><block var="position"/><block var="list"/></block></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="position"/><block var="list"/></block></block><block s="doReplaceInList"><block var="position"/><block var="list"/><block s="reportListItem"><block var="position 2"/><block var="list"/></block></block><block s="doReplaceInList"><block var="position 2"/><block var="list"/><block var="item"/></block><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doChangeVar"><l>position 2</l><l>1</l></block></script><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doChangeVar"><l>position 2</l><l>1</l></block></script></block></script></block><block s="doDeleteFromList"><block s="reportDifference"><block s="reportListLength"><block var="list"/></block><l>1</l></block><block var="list"/></block></script></block><block s="doReport"><block var="list"/></block></script></block-definition><block-definition s="say position of number %&apos;number&apos; in sorted list %&apos;list&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportListContainsItem"><block var="list"/><block var="number"/></block><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>list</l><custom-block s="sort list %l"><block var="list"/></custom-block></block><block s="doSetVar"><l>Number of guesses</l><l>0</l></block><block s="doSetVar"><l>position</l><l>0</l></block><block s="doSetVar"><l>a</l><l>0</l></block><block s="doUntil"><block s="reportEquals"><block var="a"/><l>1</l></block><script><block s="bubble"><l>loading</l></block><block s="doSetVar"><l>index</l><block s="reportRandom"><l>1</l><block s="reportListLength"><block var="list"/></block></block></block><block s="doSetVar"><l>Number of guesses</l><block s="reportSum"><block var="Number of guesses"/><l>1</l></block></block><block s="doSetVar"><l>position</l><l>0</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block var="position"/><block var="index"/></block><script><block s="doIf"><block s="reportEquals"><block var="number"/><block var="item"/></block><script><block s="bubble"><custom-block s="position of number %n in unsorted list %l"><block var="number"/><block var="list"/></custom-block></block><block s="bubble"><block s="reportJoinWords"><list><l>it took </l><block var="Number of guesses"/><l> guesses</l></list></block></block><block s="doSetVar"><l>a</l><l>1</l></block></script></block></script></block></script></block></script></block></script><script><block s="bubble"><l>number not in list</l></block></script></block></script></block-definition><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 s="reportJoinWords"><list><l>Is it </l><block s="getLastAnswer"></block><l>?</l></list></block></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="computer guesses my number from %&apos;small&apos; to %&apos;big&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doBroadcast"><l>restart</l></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"><block var="small"/><block var="big"/></block></block><block s="doSetVar"><l>number of guesses</l><block var="Number of guesses"/></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="bubble"><block s="reportJoinWords"><list><l>Is it </l><block var="secret number"/><l>?</l></list></block></block><block s="doIfElse"><block s="reportEquals"><block s="getLastMessage"></block><l>winner</l></block><script><block s="doSayFor"><l>Yay that was fun!</l><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doUntil"><block s="reportEquals"><block s="getLastMessage"></block><l>winner</l></block><script><block s="doIf"><block s="reportEquals"><block s="getLastMessage"></block><l>winner</l></block><script><block s="doSayFor"><l>Yay that was fun!</l><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastMessage"></block><l>too big</l></block><script><block s="doSetVar"><l>secret number</l><block s="reportRandom"><block var="small"/><block var="secret number"/></block></block><block s="doSetVar"><l>Number of guesses</l><block s="reportSum"><block var="Number of guesses"/><l>1</l></block></block><block s="doBroadcast"><l>restart</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastMessage"></block><l>too small</l></block><script><block s="doSetVar"><l>secret number</l><block s="reportRandom"><block var="secret number"/><block var="big"/></block></block><block s="doSetVar"><l>Number of guesses</l><block s="reportSum"><block var="Number of guesses"/><l>1</l></block></block><block s="doBroadcast"><l>restart</l></block></script></block><block s="bubble"><block s="reportJoinWords"><list><l>Is it </l><block var="secret number"/><l>?</l></list></block></block><block s="doBroadcast"><l>restart</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastMessage"></block><l>winner</l></block><script><block s="doSayFor"><l>Yay that was fun!</l><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block-definition><block-definition s="delete first half of %&apos;list&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doRun"><block s="reifyScript"><script><custom-block s="sort list %s"><block var="list"/></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>pos.</l><l>1</l></block><block s="doRepeat"><block s="reportRound"><block s="reportQuotient"><block s="reportListLength"><block var="list"/></block><l>2</l></block></block><script><block s="doDeleteFromList"><block var="pos."/><block var="list"/></block></script></block><block s="doReport"><block var="list"/></block></script></block-definition><block-definition s="delete second half of %&apos;list&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doRun"><block s="reifyScript"><script><custom-block s="sort list %s"><block var="list"/></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>pos.</l><block s="reportSum"><block s="reportRound"><block s="reportQuotient"><block s="reportListLength"><block var="list"/></block><l>2</l></block></block><l>1</l></block></block><block s="doUntil"><block s="reportEquals"><block var="pos."/><block s="reportSum"><block s="reportListLength"><block var="list"/></block><l>1</l></block></block><script><block s="doDeleteFromList"><block var="pos."/><block var="list"/></block></script></block><block s="doReport"><block var="list"/></block></script></block-definition><block-definition s="sort list sp %&apos;list&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doSetVar"><l>position</l><l>1</l></block><block s="doSetVar"><l>position 2</l><l>2</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIfElse"><block s="reportLessThan"><block s="reportListItem"><block var="position 2"/><block var="list"/></block><block s="reportListItem"><block var="position"/><block var="list"/></block></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="position"/><block var="list"/></block></block><block s="doReplaceInList"><block var="position"/><block var="list"/><block s="reportListItem"><block var="position 2"/><block var="list"/></block></block><block s="doReplaceInList"><block var="position 2"/><block var="list"/><block var="item"/></block><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doChangeVar"><l>position 2</l><l>1</l></block></script><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doChangeVar"><l>position 2</l><l>1</l></block></script></block></script></block><block s="doDeleteFromList"><block s="reportDifference"><block s="reportListLength"><block var="list"/></block><l>1</l></block><block var="list"/></block></script></block><block s="bubble"><block var="list"/></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="container" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><scripts><script x="172" y="43.99999999999994"><custom-block s="sort list %s"><block var="list"/></custom-block><block s="doDeclareVariables"><list><l>secret number</l><l>number of guesses</l><l>guesses</l></list></block><block s="doSetVar"><l>index</l><l>0</l></block><block s="doSetVar"><l>number of guesses</l><l>0</l></block><block s="doSetVar"><l>position</l><l>0</l></block><block s="doIfElse"><block s="reportListContainsItem"><block var="list"/><block var="number"/></block><script><block s="doForEach"><l>item</l><block var="list"/><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block var="item"/><block var="number"/></block><script><block s="doSetVar"><l>index</l><block var="position"/></block></script></block></script></block><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="list"/></block><block var="number"/></block><script><block s="doAsk"><l>is it in first half or second half?</l></block><block s="doIfElse"><block s="reportEquals"><block s="getLastAnswer"></block><l>first</l></block><script><block s="doChangeVar"><l>number of guesses</l><l>1</l></block><custom-block s="delete second half of %l"><block var="list"/></custom-block></script><script><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>second</l></block><script><block s="doChangeVar"><l>number of guesses</l><l>1</l></block><custom-block s="delete first half of %l"><block var="list"/></custom-block></script></block></script></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>Position is </l><block var="index"/><l> , found in </l><block var="number of guesses"/><l> guesses.</l></list></block><l>3</l></block></script><script><block s="doSayFor"><l>NIL</l><l>2</l></block></script></block></script></scripts></block-definition><block-definition s="are the numbers of %&apos;list&apos; distinct" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doIf"><block s="reportEquals"><block var="item"/><block s="reportListItem"><block var="i"/><block var="list"/></block></block><script><block s="doChangeVar"><l>a</l><l>1</l></block></script></block></script></block></script></block><block s="doIfElse"><block s="reportLessThan"><block s="reportListLength"><block var="list"/></block><block var="a"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="list without duplicate %&apos;list&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><block s="doSetVar"><l>b</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="list"/></block><script><block s="doIf"><block s="reportEquals"><block var="item"/><block s="reportListItem"><block var="i"/><block var="list"/></block></block><script><block s="doChangeVar"><l>a</l><l>1</l></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="b"/><block var="item"/></block></block><script><block s="doAddToList"><block var="item"/><block var="b"/></block></script></block></script></block></script></block></script></block><block s="doIfElse"><block s="reportLessThan"><block s="reportListLength"><block var="list"/></block><block var="a"/></block><script><block s="doReport"><block var="b"/></block></script><script><block s="doReport"><block s="reportJoinWords"><list><l>no</l><l> duplicates</l></list></block></block></script></block></script><scripts><script x="175.6416055625" y="206.00000399999993"><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block var="i"/><custom-block s="position of number %n in sorted list %l"><block var="item"/><block var="list"/></custom-block></block></block><l/></block></script></scripts></block-definition></blocks><variables><variable name="position"><l>5</l></variable><variable name="position 2"><l>6</l></variable><variable name="item"><l>0</l></variable><variable name="awful list"><list struct="atomic" id="1180">0,2,2,4,4,5,6,8,12,44</list></variable><variable name="Number of guesses"><l>10</l></variable><variable name="pos."><l>8</l></variable><variable name="index"><l>2</l></variable><variable name="list"><list struct="atomic" id="1181">1,2,2,4</list></variable></variables></project><media name="M7L1A3 List Processing Algorithms" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>