<snapdata remixID="9276234"><project name="U5L1 binary search" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAQoUlEQVR4Xu2dC5SV0xfA98zU1JRqJEqjYpEiLKUH6UmSEKLI+63II/J+lediWZ6hhDwiJMojLf8yWjRrrDKNx1BNoUKiJCWVav7rt/lmzdy5r/nud7tz5u6zVmu6537fd/fZ+3f2OWef852TUVZWViaWTAMp0kCGAZgizdvPqgYMQAMhpRoIC2BRUZG0adNGsrKydppwGzZskB07dujvWkofDVQBcM6cOYFAkLFpnRROnyTrl86Pqs2MjAzpMmSk5LbvLps2bZLMzEw56KCD0scCaV7SSgB+9tln0qhRI2FcUlpaKuvXr5cuXbroZ0Dh74IFCyQnJ0chqZjP9yUlJdKhQwfNL/7fNDl25USpXyfjXxXXzZHs3sNla/44ke3/VFJ7dr9RsjTvWL3vp59+kv79+6e5WdKn+JUA/PHHH+W3337T0k+YMEFhrFevnrRr106+/PJL2WOPPSQ/P1/69u0rP//8swwcOFCAdrfddpM999xTZs6cKb169VIIS+fNlAErxktmxr8A1u08VDJyW8qOVYtkW8msKgCWNOtTntexY8f0sUCal7QSgMuWLZM1a9aoSp577jkFbfHixUL/LC8vTzZv3iwzZsyQU089VT788EM58sgjpbi4WHr27CkNGjQQAG7atKl+Xj5/diUAs1p3kuxBY2TL1NGyY/WSKgAubNy9PK9bt25pbpb0KX4lABl8bNy4UZtbUpMmTSQ7O1u9YqtWrWTlypXSvHlzqVOnjmzbtk1Wr16tn7kH8P7880+9j6Z7WcFMGbx2crkHjKbSsp4jpLhJD70EiIcNG5Y+FkjzklYZhEybNk0BBL5EEvfXLZoi9cq2Rn9MZqYsye0qDZu2kOXLl6v3bNu2bSI/bfc6pIGwYZg//vhDCgsL5Z9/Kg8WQssVOgjxPvspP/1La3r9aM7teywQ7bb9nJfeAHTehG4XwAB0237OS28AOm9CtwtgALptP+elNwCdN6HbBTAA3baf89IbgM6b0O0CGIBu28956Q1A503odgEMQLft57z0BqDzJnS7AAag2/ZzXnoD0HkTul0AA9Bt+zkvvQHovAndLoAB6Lb9nJfeAHTehG4XwAB0237OS28AOm9CtwtgALptP+elNwCdN6HbBTAA3baf89IbgM6b0O0CGIBu28956Q1A503odgEMQLft57z0BqDzJnS7AAag2/ZzXnoD0HkTul0AA9Bt+zkvvQHovAndLoAB6Lb9nJfeAHTehG4XwAAMyH5sa8zRFWzozolPJI6vaNGihR5vYSm8BgzAAMgAvB9++EH23ntvyc3NLT/Uh1MDOFmADdv333//AH6p9j3CAEzQpmzkXlBQIIcffrge6hOa8IYc5sPhPY0bN07w12rf7QZggjblaLG//vorqof7/vvv9Vf22WefBH+t9t1uACZoUw8uzjiZO3euHHLIIXLKKafI008/LSNGjNCnG4CRlWwABgQg3m369Ol6Zh4Dkuuvv17P1zMAoyvYAAwQwKuvvloee+wxPe2Jo2fxgl27djUPGEXHBmCAAL7++uty+umn6xM57PGiiy4yDxhDvwZgggByuOLff/8d9Xw76wNaHzBBzCLfvmXLFg2zdO/eXU8RDZf4njjgrrvumjQ5XH2wecAALIeHYwZk33331WNrvdPlGYwQoK5bt66eMG+pqgYMwICoAMAVK1YIHhFvyOHffAbK1q1bB/Qrte8xBmAEm65atUpPhT/xxBPVq8WTCLvssssuenA3B3q3b99eP1uyPqAvBm6//Xb54osv9N4TTjhBFxecdNJJYft6GzZskAULFkhmZqbOeJjXi0/l5gFj6OmKK67QVS5e2rp1q4LYr18/2WuvveSoo47Sr/B+fHfAAQdIw4YN49O+XSUGYAwIpk2bJpMnT65yFc3sgAEDtHk+//zzFb6cnBxDqpoaMACjKIwm9c4775Ts7Gyd2WAk265dO+nRo4cceOCB1VS1XR5OAwZgBC5KS0vltttu06aWkWyvXr0ixvkMLf8aMAD9687uDEADBmAASrRH+NeAAehfd3ZnABowAANQoj3CvwYMQP+6szsD0IABGIAS7RH+NWAA+ted3RmABgzAAJRoj/CvAQPQv+7szgA0YAAGoER7hH8NGID+dWd3BqABAzAAJdoj/GvAAPSvO7szAA0YgAEo0R7hXwMGoH/d2Z0BaMAADECJ9gj/GjAA/9MdS+pTncrKyvQdYl5sipS4Bll59ziVCTnC7YdYXZmSBuD27dv11cRUK4rfx6jREptM3n///fpObyoTcpx88sn6XnGktGTJEpk4caK+JpDKhG1vvPHGuF9ZjSRr0gB844035PPPP0/pMnZqacuWLWXk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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="1.7085817921840771" y="-0.6403808282644263" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><comment x="13.80000000000004" y="1321.2222262222215" w="425.99999999999983" 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 anything 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><script x="32.23589343589734" y="832.9743589743588"><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.00000000000009" 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.6666666666666" 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><comment x="26.23589443589742" y="800.8076933076921" w="284.6666666666667" collapsed="true">computer guesses my number from (low) to (high)</comment><script x="28.133329333333364" y="738.666666666667"><block s="doSetVar"><l>number of guesses</l><l>0</l><comment w="53.333333333333336" collapsed="true">5.1.1.4</comment></block><custom-block s="Computer guesses my number from %n to %n"><l>1</l><l>30</l></custom-block></script><script x="59.73333333333335" y="66.9333333333334"><custom-block s="Computer guesses my number from %n to %n"><l>1</l><l>100</l></custom-block></script><script x="95" y="288"><block s="doSayFor"><l>Hello!</l><l>2</l></block></script></scripts></sprite><sprite name="too small" idx="2" x="-120.75731772585777" y="-106.17448131022383" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="26.41799999999994,0,188.7,1" pen="tip" id="120"><costumes><list id="121"><item><costume name="toosmall" center-x="58.5" center-y="51.5" image="data:image/png;base64,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" id="122"/></item></list></costumes><sounds><list struct="atomic" id="123"></list></sounds><blocks></blocks><variables></variables><scripts><script x="24" y="91.33333333333331"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>feedback</l><l>1</l></block></script></scripts></sprite><sprite name="Just right" idx="3" x="10.242682274140407" y="-103.17448131022377" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="59.67000000000005,229.5,0,1" pen="tip" id="132"><costumes><list id="133"><item><costume name="justright" center-x="58.5" center-y="51.5" image="data:image/png;base64,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" id="134"/></item></list></costumes><sounds><list struct="atomic" id="135"></list></sounds><blocks></blocks><variables></variables><scripts><script x="16.999999999999773" y="29.6666666666666"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>feedback</l><l>3</l></block></script></scripts></sprite><sprite name="too big" idx="4" x="138.24268227414132" y="-103.17448131022377" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="133.72199999999998,0,145.35,1" pen="tip" id="144"><costumes><list id="145"><item><costume name="toobih" center-x="58.5" center-y="51.5" image="data:image/png;base64,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" id="146"/></item></list></costumes><sounds><list struct="atomic" id="147"></list></sounds><blocks></blocks><variables></variables><scripts><script x="24" y="91.33333333333331"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>feedback</l><l>2</l></block></script></scripts></sprite><watcher var="feedback" style="normal" x="10" y="10" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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="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="13.999999999999995" 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.00000000000004" 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.8" w="435.3333333333332" collapsed="true">This is exactly the code from the previous problem, but with REPORT instead of SAY.</comment></scripts></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="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="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="Number guessing game" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><l>I&apos;m thinking of a number from 1 to 60.</l></block></script></custom-block><block s="doDeclareVariables"><list><l>secret number</l><l>number of guesses</l><l>guesses</l></list></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><l>60</l></block></block><block s="doSetVar"><l>number of guesses</l><l>0</l></block><block s="doSetVar"><l>guesses</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doAsk"><l>Guess my secret number.</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="guesses"/></block><block s="doSetVar"><l>number of guesses</l><block s="reportSum"><block var="number of guesses"/><l>1</l></block></block><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><block var="guesses"/></block></script></custom-block><block s="doSayFor"><custom-block s="high or low answer: %n secret number: %n"><block s="getLastAnswer"></block><block var="secret number"/></custom-block><l>2</l></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it in </l><block var="number of guesses"/><l> guesses.</l></list></block><l>3</l></block></script></block-definition><block-definition s="high or low answer: %&apos;answer&apos; secret number: %&apos;secret number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="answer"/><block var="secret number"/></block><script><block s="doReport"><l>Yay!</l></block></script></block><block s="doIfElse"><block s="reportLessThan"><block var="answer"/><block var="secret number"/></block><script><block s="doReport"><l>too low</l></block></script><script><block s="doReport"><l>too high</l></block></script></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="Computer guesses my number from %&apos;low&apos; to %&apos;high&apos;" type="command" category="looks"><comment x="0" y="0" w="90" collapsed="false">Onthur Uddin and George Lin.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>computer&apos;s guess</l><l>new low</l><l>new high</l></list></block><block s="doSetVar"><l>new low</l><block var="low"/></block><block s="doSetVar"><l>new high</l><block var="high"/></block><block s="doUntil"><block s="reportEquals"><block var="feedback"/><l>3</l></block><script><block s="doSetVar"><l>computer&apos;s guess</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="new low"/><block var="new high"/></block><l>2</l></block></block></block><block s="bubble"><block var="computer&apos;s guess"/></block><block s="doWaitUntil"><block s="reportNot"><block s="reportEquals"><block var="feedback"/><l>0</l></block></block></block><block s="doIf"><block s="reportEquals"><block var="feedback"/><l>1</l></block><script><block s="doSayFor"><l>Too low?</l><l>2</l></block><block s="doSetVar"><l>new low</l><block s="reportSum"><block var="computer&apos;s guess"/><l>1</l></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="feedback"/><l>2</l></block><script><block s="doSayFor"><l>Too high?</l><l>2</l></block><block s="doSetVar"><l>new high</l><block s="reportDifference"><block var="computer&apos;s guess"/><l>1</l></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="feedback"/><l>3</l></block><script><block s="doSayFor"><l>You guessed right!</l><l>2</l></block></script></block><block s="doSetVar"><l>feedback</l><l>0</l></block></script></block></script></block-definition></blocks><variables><variable name="feedback"><l>0</l></variable></variables></project><media name="U5L1 binary search" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>