<snapdata remixID="14929346"><project name="12/17/25 APCSP Midterm" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="12/17/25 APCSP Midterm"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="buyItem %&apos;listInput&apos; %&apos;target&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><l>0</l></block><block s="doForEach"><l>item</l><block var="listInput"/><script><block s="doChangeVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="target"/></list></block><script><block s="doDeleteFromList"><block var="index"/><block var="listInput"/></block></script><list></list></block></script><comment w="90" collapsed="false">list function #2</comment></block></script></block-definition><block-definition s="listReading %&apos;listInput&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="listInput"/></block><l>, </l><block s="reportListItem"><l>2</l><block var="listInput"/></block><l>, </l><block s="reportListItem"><l>3</l><block var="listInput"/></block><l>, </l><block s="reportListItem"><l>4</l><block var="listInput"/></block></list></block></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="63"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="64"></list></costumes><sounds><list struct="atomic" id="65"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-120" y="20" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="70"><costumes><list struct="atomic" id="71"></list></costumes><sounds><list struct="atomic" id="72"></list></sounds><blocks></blocks><variables></variables><scripts><script x="111.99999999999966" y="95.99999999999983"><block s="receiveGo"></block><block s="gotoXY"><l>-120</l><l>-40</l></block><block s="setHeading"><l>90</l></block><block s="show"></block><block s="doSetVar"><l>moveSpeed</l><l>1</l></block><block s="doSetVar"><l>shoppingList</l><block s="reportNewList"><list></list></block></block><block s="doWait"><l>1</l></block><block s="doSayFor"><l>I need to go-to the store today. What should I put on my list? (4 items)</l><l>5</l></block><block s="doRepeat"><l>4</l><script><block s="doAsk"><l>Add item:</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="shoppingList"/></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>My list is done. I need to buy </l><custom-block s="listReading %s"><block var="shoppingList"/></custom-block><l>. Time to go to the store!</l></list></block><l>5</l><comment w="90" collapsed="false">reads each item on the shopping list</comment></block><block s="setHeading"><l>180</l></block><block s="doRepeat"><l>80</l><script><block s="forward"><block var="moveSpeed"><comment w="90" collapsed="false">useful and well-named variable</comment></block></block></script></block><block s="setHeading"><l>90</l></block><block s="doWait"><l>0.5</l></block><block s="doRepeat"><l>280</l><script><block s="forward"><block var="moveSpeed"/></block></script></block><block s="setHeading"><l>0</l></block><block s="doWait"><l>0.5</l></block><block s="doRepeat"><l>110</l><script><block s="forward"><block var="moveSpeed"/></block></script></block><block s="hide"></block><block s="doUntil"><block s="reportVariadicEquals"><list><block var="shoppingList"/><block s="reportNewList"><list></list></block></list><comment w="90" collapsed="false">&quot;repeat until&quot; uses selection. keeps buying until list is empty</comment></block><script><block s="doAsk"><l>Buy what?</l></block><custom-block s="buyItem %s %s"><block var="shoppingList"/><block s="getLastAnswer"></block></custom-block></script></block><block s="show"></block><block s="doSayFor"><l>That&apos;s everything on my list. Time to go home!</l><l>2</l></block><block s="setHeading"><l>180</l></block><block s="doRepeat"><l>80</l><script><block s="forward"><block var="moveSpeed"/></block></script></block><block s="setHeading"><l>270</l></block><block s="doWait"><l>0.5</l></block><block s="doRepeat"><l>280</l><script><block s="forward"><block var="moveSpeed"/></block></script></block><block s="setHeading"><l>0</l></block><block s="doWait"><l>0.5</l></block><block s="doRepeat"><l>110</l><script><block s="forward"><block var="moveSpeed"/></block></script></block><block s="hide"></block></script><script x="10" y="10"><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block></script><comment x="324.7119140624999" y="299.83333333333326" w="90" collapsed="false">list function #1</comment></scripts></sprite><watcher var="shoppingList" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><sprite name="Store" idx="2" x="140" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="201"><costumes><list id="202"><item><ref mediaID="12/17/25 APCSP Midterm_Store_cst_costume"></ref></item></list></costumes><sounds><list struct="atomic" id="203"></list></sounds><blocks></blocks><variables></variables><scripts><script x="253" y="213.33333333333337"><block s="receiveGo"></block><block s="gotoXY"><l>140</l><l>0</l></block></script></scripts></sprite><sprite name="Home" idx="3" x="-140" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="211"><costumes><list id="212"><item><ref mediaID="12/17/25 APCSP Midterm_Home_cst_costume"></ref></item></list></costumes><sounds><list struct="atomic" id="213"></list></sounds><blocks></blocks><variables></variables><scripts><script x="284" y="186"><block s="receiveGo"></block><block s="gotoXY"><l>-140</l><l>0</l></block></script></scripts></sprite><watcher var="moveSpeed" style="normal" x="10" y="103.000002" color="243,118,29"/></sprites></stage><variables><variable name="shoppingList"><list struct="atomic" id="223"></list></variable><variable name="moveSpeed"><l>1</l></variable></variables></scene></scenes></project><media name="12/17/25 APCSP Midterm" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><costume name="costume" center-x="71.5" center-y="27.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI8AAAA3CAYAAAA1+hmLAAAFOUlEQVR4AeydO4wcRRCGmwMyEgISBDmvDCTzSCAgJARBSgABOQkgjHAEMUiQQYRICSCDAIRt2ZHfmQO/LTm25Of/rbfW5dnZ8exet297uqSqqerumu7pv/+rnp2529tJKe1PKd0IDQzW5MB+yKNz0hM6hKbAYQ0epB0FhwQCGyHQJc836uXJ0BQYpF4M4IfocU927pkHjjdVCk0pMFjGQNS4L33kud8aXiAwgECQZwCcaBpGoAh5hoeM1qkgEOSZykruwTyCPHsA+lSGfFTk+USAHZHekf4tDZkAAqXJ85IwgjQ/yb4qRd7WgVciMiE1I1CSPBDnd4FjpJE7k390hDzvyl6bK77ckJoQKEUetqYTAuJlKYL/kZzHpO9IkTd1eHqu+HJDakKgBHnIKmxNhgPE+UCF36ReIJKVvW91D9oobR0CJcjjJ8kWBXFOqpJsxA2z6fuqW0eOK9jOZTtkW1RVyF4hUJo8ZCAyD4uO7+fpF/9rNRDTVQijpoS1LZAyxLN+aaNuN/qcTj4o7Y7fLRNDrEJDSpNntwhDmCvqBCvTK7SxVfpGiOkzHb5v7/ofqmKf9GFCDLEPi2uivQR5WEi2qz4AeaXP/Q0LfrYvoFN3VeVnpCZkG8790ypkj0oZU2YmxLOt+UyH72NmgfMDmeTjuT/GPDUmqIWYEuQBNz5RscgsNmUU/wccKfdAv8iaGKkgltcfLUAWkrwiy7mHZU3+MGduP5NlbJlRQiZ50UV+Lt+ugfr/VPZy3Rda9kuRhyfK/PTbIkIcbpzJJIY39xPmj7E8L+IclHskO4eFNr9rISVZEPWZh2zD/Qt9fd856TuVqUdPyX9LanJJzq/SECGQmzzca9gT5S5xyBgaciFDi74IyuCQBVHf1Xsq7EtJx/Hyv0LZ/i7IhgiBnOSBOGQbMoS6nglbDRmnSxwa+cnGDinZgqy1KoY2Yla1r6r/Vw0XpWME0rygQB5knpENmSOQizx8mmEhfbb5VGO8Ju0jjqrT2MzDfQ6xfUobfa2rx3TCs1Lr83n5l6V98oYqT0shO1sdW56KITnIw08+6dzQhERkm5+tYoVlIazJ+1b3KO05DcYcDskOCR/V2fKGYpppy0EeDxY3phBnVbbxsX+pYH8rhq9iFoHMXAeKP7ZTssvrCiYb8Smrj0jn1c6WJxOSgzwsEAuFcmM6hjiG/C05qExW4TrQTTv1RIJMpmxZbHmb9jup83KQB0BYKBQ/tBEEcpGnEbhGTbOZoCBPM0udf6JBnvyYNtNjkKeZpc4/0ZrIw/usKX+PEJ9a869wwR5rIg8w2HOhKVrmV5XWRB6etVQF7tQvtiby+LXgVy1KfYfOt24g/FLj0C/zcMOtdrexpSby8GLSY1jq+3Nuu0HwS41Dv26o+tyayBPb1pbxqybydDPPlkHZ3uXURJ7cmedLLbdXFQfFx+IPBrfQWBN5cmeex7XA3BCj+CoOCo8HiEXxB4NbaKyJPLnXw2cy7+ceZ7L91USe3AvsM5n3J7vYSxPbZUVN5NnlVJdO92T0/lJgVPQj0DJ5+hGJ2tEIBHlGQzULPKAjKhPSOnkgAjqGCbz1/kqBKL7ctqVl8kAAiIDit82EDWbfMnk2gCtO8QgEeTwa4a+FQD951upiT4K/0KilfquQbYy36Sh+qXHol3loKnVKlzxMhklto7KQhjKvB0opmHgtNY71a3NiftuIu78m+GHXu/Sf/mxC22hZ0MWFT9BhftuIe/eaFtBzwYtCOIHAOghAHp5z8CuRoan3XyMGLv24HLgLAAD//wyfrz0AAAAGSURBVAMApBakyUQTOQcAAAAASUVORK5CYII=" mediaID="12/17/25 APCSP Midterm_Store_cst_costume"/><costume name="costume" center-x="33.5" center-y="31.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAA/CAYAAAC7KnXJAAAE/UlEQVR4AeyaV6gdRRjHb2ygPqgPIlge1AcVUR9UFH2xgCIogiJYwF7AAhawYG+gPlhAfbCAiiiCBSzYwAK2gIooiJJASEhIQiAQCATSf7+5fGE4OTfZPWd351zOXv7/+b6dszvzzf9M2zl3j5nyf+cRwrnweHgmLIbSYtxJy7+G78DP4DfwfFgEJcV4nRa/AMWhJEfC/eBX8FLYOUqIcQyt/BneCAN/4qyGgQ9xroGdomsxLqF1C+EZMPAqzsnwHPg/DLyFcxvsDF2K8RCt+ggeAAO340SD/8V3Mv0DG3gZ5z7YCboQY19a8j58EgaW4JwNX4E5lnGhID9iA8/g5M9y2Q7aFsPu/xuhXw4DX+CcBn+Aw7CWTAXxPtwEe1VMtimjjaRNMa4mYOeHE7GB53AuhGvgrrCRD73vA2zAZdgVKK4bt22J8SyRvg33hGIrybWw7vi3R73JcwFXIIdcXDdqmxbjYKJz83QvNvAPjsNCcXBrQwFeyp5SIOvYO8trxG1SjLOIyGFh98ZNsJsrxO/pavTEIfJ09rh1uFs9KMsb221KjFuJ5HvoLhKT8Aip3+IGbBNwEn0gK0jxFeSILG8stwkxXB5lBLIOx+10G8uhy+wdlB84BUdBjsOOjXHEsBfYG+wVEcivOKfDj2FbcCN2XVb4sfgKcip2LIwqhmN2ITXbVTEJb5C6zf4P2zbcql+WVXI4voK4kcMdDaOI4UrhbO7KEbXejXMT7BK+zF1AhTEnHYivIBdhR0IdMdwzuDy6h4jKVuB4/tD67pB6hsHXfXersYnbi5s+hVfA2qgqxgmU7LbaXSVuwrekzg9+G7jF8BM1K4jvO7gJ75HW7qlVxHB5dP/gzE0dCS+SGsBy7CTgL4IwHjd4uAmvkd4FK2N3YjxBSW5/ffPETbiZtFYl3N8FFlOJgrii4SY8T/owrIS5xPDMwbOHvCAPXjywbfVlqVLUc9+0io8UxCGMm+AXms9zKXNYMkwMl0fnB0+l4plPcJwffsFOOtYToIIYM26CK2C+MUyZg8mgGL4UeT7pRibufQrnb+iMvQk7X+gSu414A24OXQ3jeiebi+HymA8B1+8reSKGisvWfOMC4s/haujwz/N2+IpxGFf+duGbIW6C55AOCyfPlDHPk3x4O/xt7/6DbVIMu45jLD7zBx2FcGhEXm4f58KzhEmncRJqghPqo8mbTWyv+6NDZi9nU8W4HnclFPeT+HvFZuyu4OeTzsH4XVXuyTJdKBTk6MhTDE+kbyDDCafSEsS98xXuO27Jgvd8VkFOMk8xtF+SfA6nAe5Mr8oaehT+u3CfEAO/Y5StzneXiwlhC1wKnVQ3TqsYtH/Gt1snUoVYZMY0i2H7vyPxR2/MzMy0i5FEiKQXI5TA9mIgQqAXI5TA9mIgQqAXI5TA9mIgQqAXI5TA9mIgQqArMR6jwnGPCy2DYtpDV2LYgnGPDC2jVXYpRqsNaaLwEmLY3aseGeZHd1l723FLiLGAplQ9MuTW7lBCjO5aV7OmXoxMsBJi5L9yZaGUd0uI4ZxRvuVDIighxpAwJiOrFyP7HnoxejEyBTK37xm9GJkCmdv3jMJiPEj9Vc82vJfbu8EoPcMAqzYm7ot/hbJVdc81fEZaRpRXxRqnz1XmKGLUbYz3j1LPYCMsw7LqcLAMr+ekFcz54bR9UFUM//2x6oHMJN5n/Lv9brcDAAD//2+RdPMAAAAGSURBVAMAjQsxUuY83QMAAAAASUVORK5CYII=" mediaID="12/17/25 APCSP Midterm_Home_cst_costume"/></media></snapdata>