<snapdata remixID="9155322"><project name="U5L3p3 Classifying 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="2" 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAgAElEQVR4Xu3dfZicdX3v8c93NhExycyEg4IclGptwaO4O5NQhdMejbWi1lZP6wNaq9ZTUPT4UJvuxE1YICSYjehRTgvUUturWnyox4ejpeJDi728kIPZmUnAI0e0UqWtKJCZ2SBCdud7rrl3koa4JLub+/l+59/M/ft+f6/fL9cn98z9YK2Ke9916bqeXSL+IIAAAggggEAsAkYAx+JMEQQQQAABBB4mQACzIRBAAAEEEEhAgABOAJ2SCCCAAAIIEMDsAQQQQAABBBIQIIATQKckAggggAACBDB7AAEEEEAAgQQECOAE0CmJAAIIIIAAAcweQAABBBBAIAEBAjgBdEoigAACCCBAALMHEEAAAQQQSECAAE4AnZIIIIAAAggQwOwBBBBAAAEEEhAggBNApyQCCCCAAAIEMHsAAQQQQACBBAQI4ATQKYkAAggggAABzB5AAAEEEEAgAQECOAF0SiKAAAIIIEAAswcQQAABBBBIQIAATgCdkggggAACCBDA7AEEEEAAAQQSECCAE0CnJAIIIIAAAgQwewABBBBAAIEEBAjgBNApiQACCCCAAAHMHkAAAQQQQCABAQI4AXRKIoAAAgggQACzBxBAAAEEEEhAgABOAJ2SCCCAAAIIEMDsAQQQQAABBBIQIIATQKckAggggAACBDB7AAEEEEAAgQQECOAE0CmJAAIIIIAAAcweQAABBBBAIAEBAjgBdEoigAACCCBAALMHEEAAAQQQSECAAE4AnZIIIIAAAggQwOwBBBBAAAEEEhAggBNApyQCCCCAAAIEMHsAAQQQQACBBAQI4ATQKYkAAggggAABzB5AAAEEEEAgAQECOAF0SiKAAAIIIEAAswcQQAABBBBIQIAATgCdkggggAACCBDA7AEEEEAAAQQSECCAE0CnJAIIIIAAAgQwewABBBBAAIEEBAjgBNApiQACCCCAAAHMHkAAAQQQQCABAQI4AXRKIoAAAgggQACzBxBAAAEEEEhAgABOAJ2SCCCAAAIIEMDsAQQQQAABBBIQIIATQKckAggggAACBDB7AAEEEEAAgQQECOAE0CmJAAIIIIAAAcweQAABBBBAIAEBAjgBdEoigAACCCBAALMHEEAAAQQQiFGgVfazzPRxAjhGdEohgAACCBRb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</pentrails><costumes><list id="2"><item><costume name="XY Grid" center-x="240" center-y="180" image="data:image/png;base64,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" id="3"/></item><item><costume name="XY Grid(2)" center-x="240" center-y="180" image="data:image/png;base64,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" id="4"/></item></list></costumes><sounds><list struct="atomic" id="5"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="too small" idx="4" x="-122.09090909090992" y="-105.90909090909082" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="26.41799999999994,0,188.7,1" pen="tip" id="10"><costumes><list id="11"><item><costume name="toosmall" center-x="58.5" center-y="51.5" image="data:image/png;base64,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" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables></variables><scripts><script x="14" y="91.33333333333333"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>clicked</l><l>small</l></block></script><script x="6.666666666666667" y="163.33333333333334"><block s="receiveMessage"><l>show</l></block><block s="show"></block></script><script x="14.666666666666666" y="239.33333333333334"><block s="receiveMessage"><l>hide</l></block><block s="hide"></block></script></scripts></sprite><sprite name="too big" idx="3" x="136.909090909091" y="-102.90909090909088" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="133.72199999999998,0,145.35,1" pen="tip" id="28"><costumes><list id="29"><item><costume name="toobih" center-x="58.5" center-y="51.5" image="data:image/png;base64,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" id="30"/></item></list></costumes><sounds><list struct="atomic" id="31"></list></sounds><blocks></blocks><variables></variables><scripts><script x="13.333333333333334" y="91.33333333333333"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>clicked</l><l>big</l></block></script><script x="14" y="168.66666666666666"><block s="receiveMessage"><l>show</l></block><block s="show"></block></script><script x="17.333333333333332" y="251.33333333333334"><block s="receiveMessage"><l>hide</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Just right" idx="2" x="8.909090909091901" y="-102.90909090909088" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="59.67000000000005,229.5,0,1" pen="tip" id="46"><costumes><list id="47"><item><costume name="justright" center-x="58.5" center-y="51.5" image="data:image/png;base64,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" id="48"/></item></list></costumes><sounds><list struct="atomic" id="49"></list></sounds><blocks></blocks><variables></variables><scripts><script x="16.999999999999773" y="29.66666666666659"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>clicked</l><l>equal</l></block></script><script x="22.3333333333332" y="113.6666666666667"><block s="receiveMessage"><l>show</l></block><block s="show"></block></script><script x="20.000000000000075" y="191.33333333333317"><block s="receiveMessage"><l>hide</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Sprite" idx="1" x="240" y="121.51799999999997" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="207,15,255,1" pen="tip" id="64"><costumes><list struct="atomic" id="65"></list></costumes><sounds><list struct="atomic" id="66"></list></sounds><blocks></blocks><variables></variables><scripts><comment x="20" y="10" w="566" collapsed="false">Updated by Matthew Van Dyke on 1/16/2020&#xD;1920 U5L3p3 Classifying Algorithms (starter file)&#xD;Week 2: Algorithmic Complexity Unit 5 Lab 3: Timing Experiments Classifying Algorithms</comment><comment x="20" y="88" w="569.6666666666666" collapsed="false">While the block is running, Snap! is doing other things, such as responding to mouse motion and clicks, and maybe running other scripts.  And maybe your browser has other windows open that require updating.  Those things will affect the &quot;clock time&quot; to run your expression.  A better measure would be &quot;processor time,&quot; which would tell you exactly how much time the computer spent on this one task.  Some operating systems provide features to allow measurement of processor time for a program such as your browser, but it would be hard to get that measurement for just one Snap! thread.</comment><comment x="20" y="190" w="569" collapsed="false">1.0 If it isn&apos;t already open, load the project U5L3-timer from the previous page, and experiment with time function on algorithms you&apos;ve built (such as alphie way, betsy way, factorial, find in unsorted list, find in sorted list, and any others you have handy). What happens to the running time if you double the size of the input?</comment><script x="20" y="268"><custom-block s="average time %repRing %n"><block s="reifyReporter"><script></script><list></list></block><l>10</l><comment w="386.6666666666666" collapsed="true">Here is a block to compute average running time in case you wish to utilize it.</comment></custom-block></script><comment x="20" y="303" w="345.3333333333333" collapsed="true">The greater the number of trials, the less the average time will vary.</comment><comment x="20" y="335" w="565" collapsed="false">2.0 Use the list from [ ] to [ ] block to build the following two blocks in Snap!. Then, determine which block&apos;s algorithm can be executed in a reasonable time, and which cannot. 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;2.1 list of 1000 numbers&#xD;2.2 all N digit numbers</comment><script x="20" y="437"><custom-block s="list from %n through %n"><l>1</l><l>15</l><comment w="343.3333333333333" collapsed="true">5.3.3.2  Look inside these blocks to see how they are constructed.</comment></custom-block></script><script x="20" y="472"><custom-block s="1000 numbers starting from %n"><l>23</l></custom-block></script><script x="20" y="505"><custom-block s="all %n digit numbers"><l>1</l></custom-block></script><comment x="20" y="538" w="565" collapsed="false">5.3.3.2:  The first block is kind of slow, because 1000 numbers is a lot, but its time doesn&apos;t depend on its input.  The next thousand numbers starting from a billion take no more time to generate than the next thousand numbers starting from one.  The second block, though, generates ten times as many numbers every time you add 1 to its input.  When the input is 2 it generates the not-quite-100 numbers from 10 to 99, which is fast.  When the input is 3, it generates not-quite-1000 numbers, so its speed is similar to that of the first block.  But beyond that point it&apos;s much too slow to watch.  When the input is 6, not a very big input, it generates almost a million numbers -- or it would, but Snap! will probably run out of memory first.  When the input is 100, it tries to generate a googol numbers (not a Google), which would certainly fail. This running time displays exponential growth.</comment><comment x="20" y="676" w="566" collapsed="false">3.0 Look at some algorithms you&apos;ve built. Determine whether each algorithm runs in constant time, linear time, polynomial time, or unreasonable time.</comment><comment x="20" y="742" w="563.3333333333333" collapsed="false">5.3.3.3: Here are some examples of algorithms that students might consider:&#xD;- GRAPH DATAPOINTS from Unit 3 Lab 4: Building a Graphing App runs in linear time.&#xD;- ARE THE NUMBERS OF () DISTINCT? from Unit 5 Lab 1: List Processing Algorithms runs in quadratic time.&#xD;- NUMBERS FROM () TO () from Unit 5 Lab 3: Comparing Algorithms runs in linear time.&#xD;- ALPHIE WAY from Unit 5 Lab 3: Timing Reporters runs in linear time.&#xD;- BETSY WAY from Unit 5 Lab 3: Timing Reporters runs in constant time.</comment><comment x="20" y="856" w="562" collapsed="false">4.0 For Alphie&apos;s way of adding integers, create a graph with the number of integers on the horizontal and the runtime on the vertical. Generate data for the graph by running time function with large inputs to Alphie&apos;s way (say, multiples of 100). Then use the techniques from Lab 2 to plot the graph.</comment><script x="20" y="934"><block s="clear"></block><block s="setColor"><color>207,15,255,1</color></block><block s="doDeclareVariables"><list><l>points</l></list><comment w="278" collapsed="false">5.3.3.4  This will take a while to graph.  Please be patient</comment></block><block s="doSetVar"><l>points</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>10</l><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportProduct"><block var="i"/><l>100</l></block><custom-block s="time function %repRing"><block s="reifyReporter"><autolambda><custom-block s="alphie way %n"><block s="reportProduct"><block var="i"/><l>100</l></block></custom-block></autolambda><list></list></block></custom-block></list></block><block var="points"/></block></script></custom-block><custom-block s="set window scale xmin %n xmax %n ymin %n ymax %n"><l>0</l><l>1000</l><l>0</l><l>20000</l></custom-block><custom-block s="graph datapoints %l pen down: %b"><block var="points"/><l><bool>true</bool></l></custom-block></script><script x="20" y="1176"><custom-block s="betsy way %n"><block s="reportProduct"><block var="i"/><l>100</l></block></custom-block></script><comment x="20" y="1214" w="296.6666666666667" collapsed="true">5.3.3.5: Alphie&apos;s algorithm runs in linear time.</comment><comment x="20" y="1246" w="562" collapsed="false">5.3.3.7:  If an algorithm runs in reasonable time, that means that a computer using that algorithm can solve problems big enough to be of practical importance in a short enough time to be usable.  An unreasonable-time algorithm means that no matter how fast your computer is, big problems will never be usefully solved using that algorithm.  Technically, the dividing line is that a polynomial time algorithm is considered reasonable, while an exponential-time or longer algorithm is considered unreasonable.  (If an algorithm took time measured by a huge power of n, such as n^100, it would be unreasonable in practice, but there aren&apos;t any such algorithms that actually arise.)</comment></scripts></sprite><watcher var="number of guesses" style="normal" x="2.5" y="2.5" color="243,118,29" hidden="true"/><watcher scope="Sprite" s="xPosition" style="normal" x="2.5" y="10.000000499999999" color="74,108,212" hidden="true"/><watcher var="clicked" style="normal" x="2.5" y="17.500000999999997" color="243,118,29" hidden="true"/><watcher var="x min val" style="normal" x="2.5" y="25.000001499999996" color="243,118,29" hidden="true"/><watcher var="x max val" style="normal" x="2.5" y="32.500001999999995" color="243,118,29" hidden="true"/><watcher var="x-stepsize" style="normal" x="2.5" y="40.000002499999994" color="243,118,29" hidden="true"/><watcher var="y min val" style="normal" x="2.5" y="47.50000299999999" color="243,118,29" hidden="true"/><watcher var="y max val" style="normal" x="2.5" y="55.00000349999996" color="243,118,29" hidden="true"/><watcher var="y-stepsize" style="normal" x="2.5" y="62.50000399999999" color="243,118,29" hidden="true"/><watcher var="z min val" style="normal" x="2.5" y="70.00000449999995" color="243,118,29" hidden="true"/><watcher var="z max val" style="normal" x="2.5" y="77.50000499999997" color="243,118,29" hidden="true"/><watcher var="z-stepsize" style="normal" x="2.5" y="82.49999949999994" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Computer guesses my number from %&apos;low&apos; to %&apos;high&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doForever"><script><block s="doIfElse"><block s="reportGreaterThan"><block var="low"/><block var="high"/><comment w="221.33333333333334" collapsed="false">Step 5: LOW can&apos;t get bigger than HIGH unless the user has given inconsistent feedback.</comment></block><script><block s="doSayFor"><l>Hey!  That&apos;s not possible.</l><l>3</l></block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doDeclareVariables"><list><l>guess</l></list></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><comment w="269.3333333333333" collapsed="true">Step 1: Guess the average of LOW and HIGH</comment></block></block><block s="doSetVar"><l>clicked</l><l>nobody</l><comment w="208" collapsed="false">CLICKED will be changed to a different value when one of the three buttons (other sprites) is clicked.</comment></block><block s="doSayFor"><custom-block s="join words %mult%txt"><list><l>I guess</l><block var="guess"/></list></custom-block><l>2</l></block><block s="doChangeVar"><l>number of guesses</l><l>1</l></block><block s="doWaitUntil"><block s="reportNot"><block s="reportEquals"><block var="clicked"/><l>nobody</l></block><comment w="194.66666666666666" collapsed="true">Wait for the user to push a button.</comment></block></block><block s="doIfElse"><block s="reportEquals"><block var="clicked"/><l>equal</l><comment w="212.66666666666666" collapsed="true">Step 2: If just right, say so and stop.</comment></block><script><block s="doSayFor"><block s="reportJoinWords"><list><l>I win in </l><block var="number of guesses"/><l> guesses!!!!</l></list></block><l>2</l></block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="clicked"/><l>big</l></block><script><block s="doSetVar"><l>high</l><block s="reportDifference"><block var="guess"/><l>1</l></block><comment w="294.6666666666667" collapsed="true">Step 3: Guess is too big, so reduce HIGH to GUESS-1.</comment></block></script><script><block s="doSetVar"><l>low</l><block s="reportSum"><block var="guess"/><l>1</l><comment w="294.6666666666667" collapsed="true">Step 4: Guess is too small, so increase LOW to GUESS+1.</comment></block></block></script></block></script></block></script></block></script></block></script><scripts><comment x="8" y="545.4666666666667" w="528" collapsed="false">Like many games, this is coded as a FOREVER loop, with a STOP THIS BLOCK to escape when we win or detect an inconsistency.  It uses two global variables, one to count the number of guesses and the other for the buttons to tell us when they are pressed.  There are more elegant ways to accomplish the latter, but they&apos;d result in multiple WHEN I RECEIVE scripts, and we&apos;d have to make LOW and HIGH global for those scripts to use.  Also, we change the values of our input variables, which some people would consider bad style.  But since those variables are local to this procedure, it really doesn&apos;t hurt anyone outside this script.&#xD;&#xD;Students will organize their code in many different ways.  It might be useful to have them flag with comments where each of the five steps (or however many steps /their/ algorithm has) is carried out.</comment></scripts></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="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></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></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="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="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 $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="pen trails" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>var cst = new Costume(&#xD;  this.parentThatIsA(StageMorph).trailsCanvas&#xD;);&#xD;cst.shrinkWrap();&#xD;return cst;</l></block><list></list></block></block></script></block-definition><block-definition s="set pen trails to: %&apos;costume&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>cst</l></list><l>var stage = this.parentThatIsA(StageMorph);&#xD;stage.trailsCanvas = cst.contents;&#xD;stage.changed();</l></block><list><block var="costume"/></list></block></script></block-definition><block-definition s="position of %&apos;value&apos; in unsorted list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="data"/></block><block var="value"/></block><script><block s="doReport"><block var="i"/></block></script></block></script></custom-block><block s="doReport"><l>Not In List</l></block></script><scripts><comment x="10" y="176.79999999999998" w="276.6666666666667" collapsed="false">This will be the most common student solution.  There are many other ways it could be done.  For example, here&apos;s a recursive solution:</comment><script x="13.666666666666666" y="247.1333333333333"><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><l>Not In List</l><comment w="259.3333333333333" collapsed="false">This won&apos;t actually quite work, because outer calls to POSITION OF will try to add 1 to this non-number, so the ultimate reported value will be &quot;NaN&quot;. It&apos;s fixable but too much trouble at this point when we&apos;re not really studying recursive functions.  NaN isn&apos;t such a bad report anyway.</comment></block></script><comment w="185.33333333333334" collapsed="true">EMPTY? is in  the Tools library.</comment></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="value"/></block><script><block s="doReport"><l>1</l></block></script></block><block s="doReport"><block s="reportSum"><custom-block s="position of %n in unsorted list %l"><block var="value"/><block s="reportCDR"><block var="data"/></block></custom-block><l>1</l></block></block></script><comment x="14" y="406.6000000000001" w="390.6666666666667" collapsed="false">The last line says that the position of VALUE is one more than its position in the list without its first item.  For example, if the DATA list is {3,4,5,6} and we want to know the position of 5, first find its position in {4,5,6} (namely, 2) and add 1 to get 3, which is the position of 5 in {3,4,5,6}.</comment></scripts></block-definition><block-definition s="Say position of number %&apos;num&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></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="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="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="doSayFor"><block var="guess"/><l>2</l></block></script><scripts><comment x="6.666666666666667" y="460.1333333333334" w="462" collapsed="false">This is essentially the game program, but with the user interface parts removed.&#xD;&#xD;I also replaced the FOREVER loop with a REPEAT UNTIL.  I think FOREVER is okay for games, but in a serious program the stopping 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></scripts></block-definition><block-definition s="position of %&apos;num&apos; in sorted list %&apos;data&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>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="doReport"><l>0</l><comment w="124" collapsed="false">This is what the problem says to do if the number isn&apos;t found in the list.  Personally I&apos;d report FALSE.  :-)</comment></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="6.666666666666667" y="422.8000000000002" w="435.3333333333333" collapsed="true">This is exactly the code from the previous problem, but with REPORT instead of SAY.</comment></scripts></block-definition><block-definition s="Gr6 age-height-weight-gender stats" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>137.4</l><l>146.52</l><l>40.52</l><l>F</l></list></block><block s="reportNewList"><list><l>141.3</l><l>152.12</l><l>46.0</l><l>F</l></list></block><block s="reportNewList"><list><l>138.5</l><l>142.0</l><l>33.1</l><l>F</l></list></block><block s="reportNewList"><list><l>137.6</l><l>150.82</l><l>43.58</l><l>M</l></list></block><block s="reportNewList"><list><l>139.2</l><l>148.46</l><l>40.0</l><l>F</l></list></block><block s="reportNewList"><list><l>141.7</l><l>142.88</l><l>34.84</l><l>M</l></list></block><block s="reportNewList"><list><l>146.1</l><l>155.51</l><l>47.76</l><l>M</l></list></block><block s="reportNewList"><list><l>139.8</l><l>148.55</l><l>48.55</l><l>F</l></list></block><block s="reportNewList"><list><l>140.5</l><l>138.63</l><l>39.85</l><l>F</l></list></block><block s="reportNewList"><list><l>139.5</l><l>146.83</l><l>38.68</l><l>M</l></list></block><block s="reportNewList"><list><l>144.0</l><l>149.31</l><l>39.5</l><l>M</l></list></block><block s="reportNewList"><list><l>146.6</l><l>154.5</l><l>58.55</l><l>F</l></list></block><block s="reportNewList"><list><l>141.5</l><l>149.85</l><l>40.72</l><l>F</l></list></block><block s="reportNewList"><list><l>144.8</l><l>152.6</l><l>49.5</l><l>F</l></list></block><block s="reportNewList"><list><l>144.3</l><l>149.31</l><l>40.67</l><l>M</l></list></block><block s="reportNewList"><list><l>144.5</l><l>150.48</l><l>40.8</l><l>F</l></list></block><block s="reportNewList"><list><l>137.5</l><l>141.09</l><l>45.28</l><l>M</l></list></block><block s="reportNewList"><list><l>145.5</l><l>151.5</l><l>39.5</l><l>F</l></list></block><block s="reportNewList"><list><l>145.6</l><l>137.8</l><l>30.8</l><l>M</l></list></block><block s="reportNewList"><list><l>143.5</l><l>153.88</l><l>44.46</l><l>F</l></list></block><block s="reportNewList"><list><l>142.5</l><l>147.25</l><l>44.0</l><l>F</l></list></block><block s="reportNewList"><list><l>136.1</l><l>132.32</l><l>27.49</l><l>M</l></list></block><block s="reportNewList"><list><l>140.5</l><l>152.29</l><l>51.85</l><l>M</l></list></block><block s="reportNewList"><list><l>144.1</l><l>144.33</l><l>35.87</l><l>M</l></list></block><block s="reportNewList"><list><l>136.5</l><l>144.62</l><l>36.89</l><l>F</l></list></block><block s="reportNewList"><list><l>136.0</l><l>158.81</l><l>56.4</l><l>F</l></list></block><block s="reportNewList"><list><l>146.8</l><l>160.2</l><l>55.05</l><l>M</l></list></block></list><comment w="90" collapsed="false">27 sixth graders with age, height in cm, weight in kg, and sex</comment></block></block></script></block-definition><block-definition s="round %&apos;input number&apos; to %&apos;n&apos; decimal places" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportRound"><block s="reportProduct"><block var="input number"/><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></block></block><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></block></block></script></block-definition><block-definition s="coordinate pair x %&apos;x&apos; y %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="x"/><l>,</l><l> </l><block var="y"/><l>)</l></list></block></block></script></block-definition><block-definition s="announce axes position %&apos;x&apos; %&apos;y&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="up"></block><block s="gotoXY"><block var="x"/><block s="reportSum"><block var="y"/><l>5</l></block></block><custom-block s="label %txt of size %n"><custom-block s="coordinate pair x %n y %n"><custom-block s="round %n to %n decimal places"><custom-block s="x-value at stage coord %n"><block var="x"/></custom-block><l>2</l></custom-block><custom-block s="round %n to %n decimal places"><custom-block s="y-value at stage coord %n"><block var="y"/></custom-block><l>2</l></custom-block></custom-block><l>16</l></custom-block><block s="gotoXY"><block var="x"/><block var="y"/></block></script></block-definition><block-definition s="set window scale xmin %&apos;xmin&apos; xmax %&apos;xmax&apos; ymin %&apos;ymin&apos; ymax %&apos;ymax&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="clear"></block><block s="doSetVar"><l>x min val</l><block var="xmin"/></block><block s="doSetVar"><l>x max val</l><block var="xmax"/></block><block s="doSetVar"><l>y min val</l><block var="ymin"/></block><block s="doSetVar"><l>y max val</l><block var="ymax"/></block><block s="doSetVar"><l>x-stepsize</l><block s="reportQuotient"><l>480</l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block></block><block s="doSetVar"><l>y-stepsize</l><block s="reportQuotient"><l>360</l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></block><custom-block s="announce axes position %n %n"><custom-block s="y-axis"></custom-block><custom-block s="x-axis"></custom-block></custom-block></script></block-definition><block-definition s="y-axis" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="bubble"><l></l></block><block s="setHeading"><l>0</l></block><block s="doIfElse"><custom-block s="%n ≤ %n ≤ %n"><block var="x min val"/><l>0</l><block var="x max val"/></custom-block><script><block s="up"></block><block s="gotoXY"><custom-block s="stage coord for x= %n"><l>0</l></custom-block><l>-180</l></block><block s="setSize"><l>3</l></block><block s="down"></block><block s="forward"><l>360</l></block><block s="up"></block><block s="setSize"><l>1</l></block><block s="doReport"><block s="xPosition"></block></block></script><script><block s="up"></block><block s="gotoXY"><l>0</l><l>-180</l></block><block s="setSize"><l>1</l></block><custom-block s="dashed line %n"><l>360</l></custom-block><block s="doReport"><block s="xPosition"></block></block></script></block></script></block-definition><block-definition s="x-axis" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="bubble"><l></l></block><block s="setHeading"><l>90</l></block><block s="doIfElse"><custom-block s="%n ≤ %n ≤ %n"><block var="y min val"/><l>0</l><block var="y max val"/></custom-block><script><block s="up"></block><block s="gotoXY"><l>-240</l><custom-block s="stage coord for y= %n"><l>0</l></custom-block></block><block s="setSize"><l>3</l></block><block s="down"></block><block s="forward"><l>480</l></block><block s="setSize"><l>1</l></block><block s="up"></block><block s="doReport"><block s="yPosition"></block></block></script><script><block s="up"></block><block s="gotoXY"><l>-240</l><l>0</l></block><block s="setSize"><l>1</l></block><custom-block s="dashed line %n"><l>480</l></custom-block><block s="doReport"><block s="yPosition"></block></block></script></block></script></block-definition><block-definition s="dashed line %&apos;length&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="doRepeat"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="length"/><l>10</l></block></block><script><block s="down"></block><block s="forward"><l>5</l></block><block s="up"></block><block s="forward"><l>5</l></block></script></block><block s="down"></block><block s="forward"><block s="reportModulus"><block var="length"/><l>10</l></block></block><block s="up"></block></script></block></script></block-definition><block-definition s="stage coord for y= %&apos;actual y value&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><l>-180</l><block s="reportProduct"><block s="reportDifference"><block var="actual y value"/><block var="y min val"/></block><block var="y-stepsize"/></block></block></block></script></block-definition><block-definition s="stage coord for x= %&apos;actual x value&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><l>-240</l><block s="reportProduct"><block s="reportDifference"><block var="actual x value"/><block var="x min val"/></block><block var="x-stepsize"/></block></block></block></script></block-definition><block-definition s="x-value at stage coord %&apos;stage-x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><block var="x min val"/><block s="reportQuotient"><block s="reportSum"><block var="stage-x"/><l>240</l></block><block var="x-stepsize"/></block></block></block></script></block-definition><block-definition s="y-value at stage coord %&apos;stage-y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><block var="y min val"/><block s="reportQuotient"><block s="reportSum"><block var="stage-y"/><l>180</l></block><block var="y-stepsize"/></block></block></block></script></block-definition><block-definition s="%&apos;x&apos; ≤ %&apos;y&apos; ≤ %&apos;z&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportNot"><block s="reportGreaterThan"><block var="x"/><block var="y"/></block></block><block s="reportNot"><block s="reportGreaterThan"><block var="y"/><block var="z"/></block></block></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="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="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="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="DerekData1927to2015" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1928</l><l>0.00</l></list></block><block s="reportNewList"><list><l>1930</l><l>0.00</l></list></block><block s="reportNewList"><list><l>1935</l><l>0.01</l></list></block><block s="reportNewList"><list><l>1940</l><l>0.01</l></list></block><block s="reportNewList"><list><l>1945</l><l>0.01</l></list></block><block s="reportNewList"><list><l>1950</l><l>0.01</l></list></block><block s="reportNewList"><list><l>1955</l><l>0.03</l></list></block><block s="reportNewList"><list><l>1960</l><l>0.05</l></list></block><block s="reportNewList"><list><l>1962</l><l>0.08</l></list></block><block s="reportNewList"><list><l>1963</l><l>0.08</l></list></block><block s="reportNewList"><list><l>1965</l><l>0.1</l></list></block><block s="reportNewList"><list><l>1970</l><l>0.2</l></list></block><block s="reportNewList"><list><l>1971</l><l>0.26</l></list></block><block s="reportNewList"><list><l>1972</l><l>0.25</l></list></block><block s="reportNewList"><list><l>1975</l><l>0.2</l></list></block><block s="reportNewList"><list><l>1978</l><l>0.24</l></list></block><block s="reportNewList"><list><l>1980</l><l>0.4</l></list></block><block s="reportNewList"><list><l>1981</l><l>0.36</l></list></block><block s="reportNewList"><list><l>1982</l><l>0.38</l></list></block><block s="reportNewList"><list><l>1983</l><l>0.38</l></list></block><block s="reportNewList"><list><l>1985</l><l>0.36</l></list></block><block s="reportNewList"><list><l>1987</l><l>0.43</l></list></block><block s="reportNewList"><list><l>1990</l><l>0.37</l></list></block><block s="reportNewList"><list><l>1995</l><l>0.23</l></list></block><block s="reportNewList"><list><l>2000</l><l>0.17</l></list></block><block s="reportNewList"><list><l>2004</l><l>0.12</l></list></block><block s="reportNewList"><list><l>2006</l><l>0.14</l></list></block><block s="reportNewList"><list><l>2010</l><l>0.12</l></list></block></list></block></block></script></block-definition><block-definition s="graph datapoints %&apos;data&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="data"/><script><block s="up"></block><custom-block s="plot point x: %n y: %n"><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>2</l><l/></block></custom-block></script></custom-block></script><scripts><comment x="7.333333333333333" y="138.79999999999998" w="348" collapsed="false">Each item of DATA is a list of two numbers, the x and y coordinates of a point. The ITEM blocks extract the two numbers.  An item from DATA is substituted into the empty list slots.  (If you prefer you could drag the ITEM orange block from the FOR EACH into those slots -- the meaning is the same.)</comment></scripts></block-definition><block-definition s="go to scaled point x: %&apos;x&apos; y: %&apos;y&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="gotoXY"><custom-block s="stage coord for x= %n"><block var="x"/></custom-block><custom-block s="stage coord for y= %n"><block var="y"/></custom-block></block></script></block-definition><block-definition s="plot point x: %&apos;x&apos; y: %&apos;y&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><custom-block s="go to scaled point x: %n y: %n"><block var="x"/><block var="y"/></custom-block><block s="down"></block><block s="forward"><l>1</l></block><block s="up"></block><block s="forward"><l>-1</l></block></script></block-definition><block-definition s="graph datapoints %&apos;data&apos; pen down: %&apos;pendown&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%b"></input></inputs><script><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="data"/><script><custom-block s="plot point x: %n y: %n"><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>2</l><l/></block></custom-block><block s="doIf"><block var="pendown"/><script><block s="down"></block></script></block></script></custom-block></script><scripts><comment x="10" y="190.13333333333333" w="346.6666666666667" collapsed="false">We go to the first point with the pen up, so we won&apos;t see an extra line from wherever the sprite happened to be.  After that, we put the pen down for each point if the value of PENDOWN is TRUE.</comment></scripts></block-definition><block-definition s="age %&apos;person&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="person"/></block></block></script></block-definition><block-definition s="height %&apos;person&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="person"/></block></block></script></block-definition><block-definition s="weight %&apos;person&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="person"/></block></block></script></block-definition><block-definition s="gender %&apos;person&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>4</l><block var="person"/></block></block></script></block-definition><block-definition s="ages %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="age %l"><l/></custom-block></autolambda><list></list></block><list><block var="data"/></list></custom-block></block></script></block-definition><block-definition s="heights %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="height %l"><l/></custom-block></autolambda><list></list></block><list><block var="data"/></list></custom-block></block></script></block-definition><block-definition s="weights %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="weight %l"><l/></custom-block></autolambda><list></list></block><list><block var="data"/></list></custom-block></block></script></block-definition><block-definition s="genders %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="gender %l"><l/></custom-block></autolambda><list></list></block><list><block var="data"/></list></custom-block></block></script></block-definition><block-definition s="average %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportQuotient"><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><block var="data"/></custom-block><block s="reportListLength"><block var="data"/></block></block></block></script></block-definition><block-definition s="female data %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="gender %l"><l/></custom-block><l>F</l></block></autolambda><list></list></block><block var="data"/></custom-block></block></script></block-definition><block-definition s="male data %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="gender %l"><l/></custom-block><l>M</l></block></autolambda><list></list></block><block var="data"/></custom-block></block></script></block-definition><block-definition s="say position %&apos;x&apos; %&apos;y&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doSayFor"><custom-block s="coordinate pair x %n y %n"><custom-block s="round %n to %n decimal places"><custom-block s="x-value at stage coord %n"><block var="x"/></custom-block><l>2</l></custom-block><custom-block s="round %n to %n decimal places"><custom-block s="y-value at stage coord %n"><block var="y"/></custom-block><l>2</l></custom-block></custom-block><l>2</l></block></script><scripts><comment x="7.333333333333333" y="141.79999999999998" w="436.6666666666667" collapsed="false">The block ANNOUNCE AXES POSITION does /almost/ what we want, except that it leaves the coordinates on the stage permanently, instead of having the sprite say them.  So I opened its definition and copied all the green stuff above from it to here.</comment></scripts></block-definition><block-definition s="graph with average %&apos;xfunc&apos; %&apos;yfunc&apos; for gender = %&apos;gender&apos; in %&apos;data&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>subset</l></list></block><block s="doSetVar"><l>subset</l><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="gender %l"><l/></custom-block><block var="gender"/></block></autolambda><list></list></block><block var="data"/></custom-block></block><block s="setSize"><l>3</l></block><custom-block s="graph datapoints %l"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="evaluate"><block var="xfunc"/><list><l></l></list></block><block s="evaluate"><block var="yfunc"/><list><l></l></list></block></list></block></autolambda><list></list></block><list><block var="subset"/></list></custom-block></custom-block><block s="setSize"><l>7</l></block><custom-block s="graph datapoints %l"><block s="reportNewList"><list><block s="reportNewList"><list><custom-block s="average %l"><custom-block s="map %repRing over %mult%l"><block var="xfunc"/><list><block var="subset"/></list></custom-block></custom-block><custom-block s="average %l"><custom-block s="map %repRing over %mult%l"><block var="yfunc"/><list><block var="subset"/></list></custom-block></custom-block></list></block></list></block></custom-block></script></block-definition><block-definition s="max %&apos;a&apos; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="if %b then %anyUE else %anyUE"><block s="reportLessThan"><block var="a"/><block var="b"/></block><block var="b"/><block var="a"/></custom-block></block></script></block-definition><block-definition s="min %&apos;a&apos; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="if %b then %anyUE else %anyUE"><block s="reportLessThan"><block var="a"/><block var="b"/></block><block var="a"/><block var="b"/></custom-block></block></script></block-definition><block-definition s="min %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><custom-block s="min %n %n"><l></l><l></l></custom-block></autolambda><list></list></block><block var="data"/></custom-block></block></script></block-definition><block-definition s="max %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><custom-block s="max %n %n"><l></l><l></l></custom-block></autolambda><list></list></block><block var="data"/></custom-block></block></script></block-definition><block-definition s="set window scale xmin %&apos;xmin&apos; xmax %&apos;xmax&apos; ymin %&apos;ymin&apos; ymax %&apos;ymax&apos; zmin %&apos;zmin&apos; zmax %&apos;zmax&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="clear"></block><block s="doSetVar"><l>x min val</l><block var="xmin"/></block><block s="doSetVar"><l>x max val</l><block var="xmax"/></block><block s="doSetVar"><l>y min val</l><block var="ymin"/></block><block s="doSetVar"><l>y max val</l><block var="ymax"/></block><block s="doSetVar"><l>z min val</l><block var="zmin"/></block><block s="doSetVar"><l>z max val</l><block var="zmax"/></block><block s="doSetVar"><l>x-stepsize</l><block s="reportQuotient"><l>480</l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block></block><block s="doSetVar"><l>y-stepsize</l><block s="reportQuotient"><l>360</l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></block><block s="doSetVar"><l>z-stepsize</l><block s="reportQuotient"><l>7</l><block s="reportDifference"><block var="zmax"/><block var="zmin"/></block></block></block><custom-block s="announce axes position %n %n"><custom-block s="y-axis"></custom-block><custom-block s="x-axis"></custom-block></custom-block></script></block-definition><block-definition s="plot point x: %&apos;x&apos; y: %&apos;y&apos; z: %&apos;z&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="setSize"><l>1</l></block><custom-block s="go to scaled point x: %n y: %n"><block var="x"/><block var="y"/></custom-block><block s="down"></block><block s="setSize"><custom-block s="pen size for z= %n"><block var="z"/></custom-block></block><block s="forward"><l>1</l></block><block s="up"></block><block s="forward"><l>-1</l></block></script></block-definition><block-definition s="pen size for z= %&apos;actual z value&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><l>3</l><block s="reportProduct"><block s="reportDifference"><block var="actual z value"/><block var="z min val"/></block><block var="z-stepsize"/></block></block></block></script></block-definition><block-definition s="graph 3D datapoints %&apos;data&apos; pen down %&apos;pendown&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%b"></input></inputs><script><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="data"/><script><custom-block s="plot point x: %n y: %n z: %n"><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>2</l><l/></block><block s="reportListItem"><l>3</l><l/></block></custom-block><block s="doIf"><block var="pendown"/><script><block s="down"></block></script></block></script></custom-block></script></block-definition><block-definition s="show buttons" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doBroadcast"><l>show</l></block></script></block-definition><block-definition s="hide buttons" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doBroadcast"><l>hide</l></block></script></block-definition><block-definition s="graph function %&apos;function&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="up"></block><block s="doWaitUntil"><block s="reportMouseDown"></block></block><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><custom-block s="plot point x: %n y: %n"><custom-block s="x-value at stage coord %n"><block s="reportMouseX"></block></custom-block><block s="evaluate"><block var="function"/><list><custom-block s="x-value at stage coord %n"><block s="reportMouseX"></block></custom-block></list></block></custom-block><block s="down"></block></script></block><block s="up"></block></script><scripts><comment x="8" y="226.1333333333333" w="399.3333333333333" collapsed="false">This is straightforward apart from the two points brought out on the lab page:&#xD;1.  How to declare an input of type Reporter.&#xD;2.  How to call that function and give it an input.&#xD;Otherwise it&apos;s just figuring out the WAIT UNTIL / REPEAT UNTIL structure, and remembering from two pages back to put the PEN DOWN /after/ moving to the first point.</comment></scripts></block-definition><block-definition s="list from %&apos;from&apos; through %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><block var="from"/><block var="to"/><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script></custom-block><block s="doReport"><block var="result"/></block></script><scripts><comment x="10" y="294.99999999999994" w="436.33333333333326" collapsed="true">The above is probably how most students will write this.  It can also be done recursively:</comment><script x="10" y="326.99999999999994"><block s="doIfElse"><l/><script></script><script></script></block></script><script x="10" y="409.99999999999994"><block s="doReport"><l></l></block></script><script x="10" y="448.99999999999994"><block s="doReport"><l></l></block></script><script x="10" y="487.99999999999994"><block s="reportCONS"><l></l><l/></block></script><script x="10" y="521"><custom-block s="list from %n through %n"><l></l><l></l></custom-block></script><script x="10" y="554"><block s="reportSum"><l></l><l>1</l></block></script><script x="10" y="587"><block s="reportGreaterThan"><l></l><l></l></block></script></scripts></block-definition><block-definition s="alphie way %&apos;num&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></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="list from %n through %n"><l>1</l><block var="num"/></custom-block></custom-block></block></script></block-definition><block-definition s="betsy way %&apos;num&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportProduct"><block var="num"/><block s="reportSum"><block var="num"/><l>1</l></block></block><l>2</l></block></block></script></block-definition><block-definition s="are the numbers of %&apos;data&apos; distinct?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><custom-block s="are the numbers of %l distinct?"><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script><scripts><script x="15" y="366.4666666666667"><block s="doIf"><block s="reportLessThan"><block s="reportListLength"><block var="data"/></block><l>2</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListLength"><block var="data"/></block><l>1</l></block><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><block s="reportSum"><block var="i"/><l>1</l></block><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="data"/></block><block s="reportListItem"><block var="j"/><block var="data"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></custom-block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="14.666666666666666" y="615.3333333333334"><block s="doRepeat"><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><comment x="10.333334333333369" y="238.66667266666673" w="454.6666666666667" collapsed="false">This so much calls out for a recursive solution that I couldn&apos;t help putting that first.&#xD;&#xD;CONTAINS is a primitive block.  Students who remember that will have a much easier time writing this procedure than those who don&apos;t remember it.  The other thing that will complicate the solution is if the students have programmed before in one of those other languages and therefore insist on using index variables to find their way through the list instead of ALL BUT FIRST OF.  Here are a few examples of possible correct solutions:</comment><script x="13.333333333333334" y="796.8000000000001"><block s="doRepeat"><block s="reportListLength"><block var="data"/></block><script><custom-block s="for each %upvar of %l %cs"><l>item</l><block s="reportCDR"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="item"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></custom-block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></scripts></block-definition><block-definition s="duplicates in %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="duplicates in %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="duplicates in %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script><scripts><comment x="9.333333333333334" y="261.4666666666667" w="448" collapsed="false">This has the same structure as ARE THERE ANY DUPLICATES (5.3.2.1), but with lists as the reported values instead of Booleans.  Similarly, the alternate solutions to 5.3.2.1 work here too:</comment><script x="14" y="326.46666666666664"><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportLessThan"><block s="reportListLength"><block var="data"/></block><l>2</l></block><script><block s="doReport"><block var="result"/></block></script></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListLength"><block var="data"/></block><l>1</l></block><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><block s="reportSum"><block var="i"/><l>1</l></block><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="data"/></block><block s="reportListItem"><block var="j"/><block var="data"/></block></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="data"/></block><block var="result"/></block></script></block></script></custom-block></script></custom-block><block s="doReport"><block var="result"/></block></script><script x="12" y="618.6000010000001"><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="result"/></block></script></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block><block s="doReport"><block var="result"/></block></script><script x="12.666666666666666" y="848.4000010000003"><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block s="reportListLength"><block var="data"/></block><script><custom-block s="for each %upvar of %l %cs"><l>item</l><block s="reportCDR"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="item"/></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="result"/></block></script></block></script></custom-block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block><block s="doReport"><block var="result"/></block></script><comment x="9.333333333333334" y="1098.866667666667" w="433.3333333333333" collapsed="false">The timing experiment in the previous problem would be easier with this procedure because it has to examine every pair of items even if a duplicate is found early on.</comment></scripts></block-definition><block-definition s="remdup %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="remdup %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="remdup %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script><scripts><comment x="6.666666666666667" y="484.1333333333325" w="398.6666666666667" collapsed="false">The versions of DUPLICATES IN that use CONTAINS are easy to turn into a remove-duplicates (REMDUP) function: Just put a NOT around the CONTAINS in the script.  (The recursive version could be written without NOT by swapping the then part and else part of the IF/ELSE block, but I did it this way to make the relationship clearer.)&#xD;&#xD;The versions of DUPLICATES IN that essentially reimplement CONTAINS with a FOR loop are harder, because you don&apos;t want to keep an item in the result just because /one/ other item is different from it.  You have to test /all/ the items.  One way is with a flag variable:</comment><script x="8.666666666666666" y="627.799999999998"><block s="doDeclareVariables"><list><l>result</l><l>keep flag</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportLessThan"><block s="reportListLength"><block var="data"/></block><l>2</l></block><script><block s="doReport"><block var="result"/></block></script></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListLength"><block var="data"/></block><l>1</l></block><script><block s="doSetVar"><l>keep flag</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="for %upvar = %n to %n %cs"><l>j</l><block s="reportSum"><block var="i"/><l>1</l></block><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="data"/></block><block s="reportListItem"><block var="j"/><block var="data"/></block></block><script><block s="doSetVar"><l>keep flag</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></custom-block><block s="doIf"><block var="keep flag"/><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="data"/></block><block var="result"/></block></script></block></script></custom-block><block s="doAddToList"><block s="reportListItem"><block s="reportListLength"><block var="data"/></block><block var="data"/></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script><script x="12" y="268.00000000000017"><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="result"/></block></script></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block><block s="doReport"><block var="result"/></block></script><script x="10.666666666666666" y="1117.799999999998"><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block s="reportListLength"><block var="data"/></block><script><custom-block s="catch %upvar %cs"><l>tag</l><script><custom-block s="for each %upvar of %l %cs"><l>item</l><block s="reportCDR"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="item"/></block><script><custom-block s="throw %s"><block var="tag"/></custom-block></script></block></script></custom-block><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="result"/></block></script></custom-block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block><block s="doReport"><block var="result"/></block></script><comment x="10" y="1032.1333333333334" w="392.6666666666667" collapsed="false">Another solution uses a feature we haven&apos;t taught yet: nonlocal exit, like BREAK in some other languages.  The CATCH and THROW blocks are in the Tools library.  Don&apos;t teach this to the class; it&apos;ll be a distraction.  But if a student asks &quot;is there something like BREAK?&quot; you can show it to them:</comment><comment x="8" y="1414.9333333333313" w="392" collapsed="false">But neither of these last two solutions is exactly elegant.  If I had to do this problem and I&apos;d forgotten about CONTAINS, I&apos;d start by writing my own CONTAINS as a helper procedure for REMDUP.</comment></scripts></block-definition><block-definition s="function timer %&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>time</l></list></block><block s="doSetVar"><l>time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doReport"><block s="reportNewList"><list><block s="evaluate"><block var="function"/><list><l></l></list></block><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="time"/></block></list></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="doReport"><block s="reportListItem"><l>2</l><custom-block s="function timer %repRing"><block var="function"/></custom-block></block></block></script></block-definition><block-definition s="average time %&apos;expression&apos; %&apos;times&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="average %l"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="time function %repRing"><block var="expression"/></custom-block></autolambda><list></list></block><list><custom-block s="list from %n through %n"><l>1</l><block var="times"/></custom-block></list></custom-block></custom-block></block></script><scripts><comment x="10" y="118.13333333333338" w="408.6666666666667" collapsed="false">This isn&apos;t the most efficient solution, because it makes that list of numbers, only to have a list of length TIMES so that we can run EXPRESSION that many times!  But it took me way less thinking time and coding time than making a loop.  &quot;Use what you have to get what you need.&quot; --  Võ Nguyên Giáp</comment></scripts></block-definition><block-definition s="1000 numbers starting from %&apos;from&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="list from %n through %n"><block var="from"/><block s="reportSum"><block var="from"/><l>999</l></block></custom-block></block></script></block-definition><block-definition s="all %&apos;digits&apos; digit numbers" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><l></l></block></script><scripts><script x="10" y="103"><block s="reportMonadic"><l><option>10^</option></l><l></l></block></script><script x="10" y="137"><block s="reportMonadic"><l><option>10^</option></l><l></l></block></script><script x="10" y="171"><block s="reportDifference"><l></l><l>1</l></block></script><script x="10" y="204"><block s="reportDifference"><l></l><l>1</l></block></script><script x="118" y="117"><custom-block s="list from %n through %n"><l></l><l></l></custom-block></script></scripts></block-definition></blocks><variables><variable name="number of guesses"><l>5</l></variable><variable name="clicked"><l>equal</l></variable><variable name="x min val"><l>0</l></variable><variable name="x max val"><l>1000</l></variable><variable name="x-stepsize"><l>0.48</l></variable><variable name="y min val"><l>0</l></variable><variable name="y max val"><l>20000</l></variable><variable name="y-stepsize"><l>0.018</l></variable><variable name="z min val"><l>135</l></variable><variable name="z max val"><l>147</l></variable><variable name="z-stepsize"><l>0.5833333333333334</l></variable></variables></project><media name="U5L3p3 Classifying Algorithms" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>