<snapdata remixID="9911200"><project name="U2L4-MathLibrary Page 3" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAD80lEQVR4Xu3XzUobARSG4TNj/tBIA4O0RTDRNlKMaChIVPy7gIIU7RW47M7bqLfgTXTdG+neaxC6yRTSFrqZxWc/OGBf18dz8Jk3Qyzquq6DHwSSBAoCTJLn7EKAAAkhVYAAU/k5ToA0kCpAgKn8HCdAGkgVIMBUfo4TIA2kChBgKj/HCZAGUgUIMJWf4wRIA6kCBJjKz3ECpIFUAQJM5ec4AdJAqgABpvJznABpIFWAAFP5OU6ANJAqQICp/BwnQBpIFSDAVH6OEyANpAoQYCo/xwmQBlIFCDCVn+MESAOpAgSYys9xAqSBVAECTOXnOAHSQKoAAabyc5wAaSBVgABT+TlOgDSQKkCAqfwcJ0AaSBUgwFR+jhMgDaQKEGAqP8cJkAZSBQgwlZ/jBEgDqQIEmMrPcQKkgVQBAkzl5zgB0kCqAAGm8nOcAGkgVYAAU/k5ToA0kCpAgKn8HCdAGkgVIMAG/sfHx2i329FqtaIoitSH9JyPE2DD0728/BD7+9M4PT2P4XAY6+vrsbKy8pxbSPnbCLCBvd9vxdLSPPr9F7G29jq2trbj+Pgkjo4OY2dnEsvLy9HpdHg7/mO2BNgAeHX1Mb59+xplOf89UURRtKPd7sVo9DZms6M4OzuP8Xg7Njc3Y3V1lRifECMBNqDd39/H7e3nKMsf8ecrYF3/Gq7rpYjoRFW9iuvrT3FzcxPj8ZgACfAJAg2/srv7Lh4evi/im88jyrIdVfUyNja2Ym9vGhcXFzGbHcZgMIhutxtlWfqO/0ebeAM2POzBoLv4jjccvonp9H2cnJzHZDKJ0WgUVVXxtjN9SAiwAfLu7sviv+CDg4Po9XqLGHnLmar7aw0B+k3ZKAgQoIDFqF+AAP2mbBQECFDAYtQvQIB+UzYKAgQoYDHqFyBAvykbBQECFLAY9QsQoN+UjYIAAQpYjPoFCNBvykZBgAAFLEb9AgToN2WjIECAAhajfgEC9JuyURAgQAGLUb8AAfpN2SgIEKCAxahfgAD9pmwUBAhQwGLUL0CAflM2CgIEKGAx6hcgQL8pGwUBAhSwGPULEKDflI2CAAEKWIz6BQjQb8pGQYAABSxG/QIE6DdloyBAgAIWo34BAvSbslEQIEABi1G/AAH6TdkoCBCggMWoX4AA/aZsFAQIUMBi1C9AgH5TNgoCBChgMeoXIEC/KRsFAQIUsBj1CxCg35SNggABCliM+gUI0G/KRkGAAAUsRv0CBOg3ZaMgQIACFqN+AQL0m7JRECBAAYtRvwAB+k3ZKAgQoIDFqF+AAP2mbBQECFDAYtQvQIB+UzYKAgQoYDHqFyBAvykbBQECFLAY9QsQoN+UjYLAT9vvCLfEZvymAAAAAElFTkSuQmCC</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="-1.1368683772161603e-13" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="17,17,0,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="10"><custom-block s="is %n divisible by %n ?"><l>10</l><l>2</l><comment w="174.66666666666666" collapsed="true">1.3, look inside for definition.</comment></custom-block></script><script x="20" y="45"><custom-block s="even? %n"><l>4</l><comment w="53.333333333333336" collapsed="true">1.4</comment></custom-block></script><script x="20" y="79.99999999999997"><custom-block s="integer? %n"><l>3.9</l><comment w="67.33333333333333" collapsed="true">extra&#xD;</comment></custom-block></script><script x="20" y="115"><custom-block s="odd? %n"><l>3</l><comment w="53.333333333333336" collapsed="true">2.3</comment></custom-block></script><script x="20" y="150.00000000000003"><custom-block s="divisors of %n"><l></l><comment w="201.33333333333334" collapsed="true">2.4a (following the clickable hint)</comment></custom-block></script><script x="20" y="185.00000000000003"><custom-block s="number of divisors %n"><l></l><comment w="53.333333333333336" collapsed="true">2.4b</comment></custom-block></script><script x="20" y="220.00000000000003"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="odd? %n"><custom-block s="number of divisors %n"><l></l></custom-block></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>100</l></block><comment w="165" collapsed="true">2.4c Perfect Squares (1 to 100)</comment></block></script><script x="20" y="285"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="number of divisors %n"><l></l></custom-block><l>2</l></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>100</l></block><comment w="172" collapsed="true">2.4c Prime Numbers (1 to 100)</comment></block></script><comment x="20" y="350" w="331.33333333333326" collapsed="true">2.4c, look inside&#xD;&#xD;The first KEEP reports the perfect squares less than 100.  (In non-squares, divisors come in pairs, e.g., the divisors of 12 include the pairs (1,12), (2,6), and (3,4); each pair multiplies to get 12.  In perfect squares, there&apos;s a divisor that&apos;s paired with itself, e.g., (5,5) for the divisors of 25.  And the 5 appears only once in the divisor list, not twice.)&#xD;&#xD;The second KEEP reports the primes less than 100.  (That comes directly from the definition of &quot;prime&quot;:  A prime is divisible only by itself and 1.)&#xD;</comment><script x="20" y="382"><custom-block s="minimum of %n and %n"><l>2</l><l>5</l></custom-block></script><script x="20" y="415"><custom-block s="maximum of %n and %n"><l>6</l><l>3</l></custom-block></script><script x="20" y="448"><block s="reportCombine"><block s="reportNewList"><list><l>6</l><l>1</l><l>2</l></list></block><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block></block></script><script x="20" y="491"><custom-block s="maximum of list %l"><block s="reportNewList"><list><l>2</l><l>3</l><l>4</l><l>36</l><l>3321</l><l>-1223</l></list></block></custom-block></script><script x="20" y="528"><custom-block s="minimum of list %l"><block s="reportNewList"><list><l>2</l><l>3</l><l>4</l><l>77</l><l>23321</l><l>-232</l></list></block></custom-block></script><script x="20" y="565"><custom-block s="sum of list %l"><block s="reportNewList"><list><l>2</l><l>3</l><l>4</l><l>77</l><l>23321</l><l>1000000000</l></list></block></custom-block></script><script x="20" y="602"><custom-block s="average of list %l"><block s="reportNewList"><list><l>2</l><l>3</l><l>4</l><l>77</l><l>23321</l><l>58686</l></list></block></custom-block></script><script x="20" y="639"><custom-block s="intersection %l %l"><block s="reportNewList"><list><l>2</l><l>3</l><l>4</l><l>77</l><l>23321</l><l>58686</l></list></block><block s="reportNewList"><list><l>2</l><l>3</l><l>4</l><l>36</l><l>3321</l><l>-1223</l></list></block></custom-block></script></scripts></sprite><sprite name="apple" idx="2" x="1" y="-1" heading="90" scale="0.75" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="0,150.45,132.39599999999996,1" pen="tip" id="146"><costumes><list id="147"><item><costume name="apple" center-x="31" center-y="31.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJhcHBsZTEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNjIuMjE4cHgiIGhlaWdodD0iNjMuMzc1cHgiIHZpZXdCb3g9IjAgMCA2Mi4yMTggNjMuMzc1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2Mi4yMTggNjMuMzc1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8Zz4KICAgIDxnIGlkPSJBcHBsZSI+CiAgICAgIDxwYXRoIGlkPSJGaWxsXzFfIiBmaWxsPSIjRUMxQzJDIiBkPSJNNTkuMDgzLDM0LjQwMmMwLDE0LjUyNy0xMi41MjUsMjYuMzA3LTI3Ljk3OCwyNi4zMDdjLTE1LjQ1MywwLTI3Ljk3Ny0xMS43NzUtMjcuOTc3LTI2LjMwNyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMTQuNTI3LDEyLjUyMy0yMS4yNzUsMjcuOTc3LTIxLjI3NUM0Ni41NTcsMTMuMTI2LDU5LjA4MywxOS44NzYsNTkuMDgzLDM0LjQwMnoiLz4KICAgICAgPGcgaWQ9Ik91dGxpbmVfMV8iPgogICAgICAgIDxwYXRoIGlkPSJPdXRsaW5lXzJfIiBmaWxsPSIjMjMxRjIwIiBkPSJNMzQuMjg1LDExLjk2Yy00LjYwOC0wLjM5MS05LjEzNiwwLjE4OS05LjEzNiwwLjE4OUMxMC44MjEsMTMuNDczLDAsMTkuODgzLDAsMzQuMTIxJiN4RDsmI3hBOyYjeDk7JiN4OTsmI3g5O2MwLDE2LjE1NiwxMy45MjgsMjkuMjU0LDMxLjEwNywyOS4yNTRjMTcuMTgyLDAsMzEuMTA5LTEzLjA5OCwzMS4xMDktMjkuMjU0QzYyLjIxNiwxOC45NzcsNDkuOTY5LDEyLjY5LDM0LjI4NSwxMS45NnomI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7IE0zMS4xMDgsNTkuMzMzYy0xNC41NTksMC0yNi4zNTctMTEuMDk5LTI2LjM1Ny0yNC43ODVjMC0xMi4wNjQsOS4xNjktMTguNDMzLDIxLjMxNC0xOS43NzRjMC4yNDktMC4wMjksOC40NTYtMC4xNDQsOC40NTYtMC4xNDQmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7YzEyLjk0MiwwLjkzNiwyMi45NDksNy4zMTgsMjIuOTQ5LDE5LjkyQzU3LjQ2NCw0OC4yMzYsNDUuNjY2LDU5LjMzMywzMS4xMDgsNTkuMzMzeiIvPgogICAgICAgIDxwYXRoIGlkPSJMaW5lIiBmaWxsPSIjMjMxRjIwIiBkPSJNNDAuMzMyLDE5LjA2MmMtMi4zMDMtMC43NjEtNC42MTctMC4yNDEtNi45MjksMC4zODljLTEuOTE2LDAuNjA4LTYuMTEyLDEuMTYyLTYuMTksMS4wOTgmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7Yy0xLjE5OC0wLjA1OC0yLjM4OS0wLjM1OC0zLjU3MS0xLjA5OWMtMC40OC0wLjMwMy0wLjk4MiwwLjM3OC0wLjU5OCwwLjc3M2MxLjc2OCwxLjgwMyw0LjA2OCwxLjc4Miw2LjQ1NSwxLjUxNCYjeEQ7JiN4QTsmI3g5OyYjeDk7JiN4OTtjMy41NzUtMC40MDEsNi45OTMtMC40OTEsMTAuNTYxLTAuNjcyQzQxLjIyLDIxLjAwNCw0MS40MzMsMTkuNDI2LDQwLjMzMiwxOS4wNjJ6Ii8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlNoaW5lIiBmaWxsPSIjRkZGRkZGIiBkPSJNMTIuNTU1LDM0LjI2MWMwLDMuNDMxLDEuODUsNi4yMTItMC4wODQsNi4yMTJjLTEuOTM0LDAtMy41LTIuNzgxLTMuNS02LjIxMiYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMy40MywxLjU2Ni02LjIxMSwzLjUtNi4yMTFDMTQuNDA1LDI4LjA1LDEyLjU1NSwzMC44MzIsMTIuNTU1LDM0LjI2MXoiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJTdGVtIj4KICAgICAgPHBhdGggaWQ9IkZpbGwiIGZpbGw9IiM5OTY2MUQiIGQ9Ik0yOS41MTUsMjAuNzY2YzAuMzcxLTAuMDY2LDAuOTczLTAuMTMsMS4zNDgtMC4yMTljMC4wNjItNC44MjcsMC41MzgtOS42NDgtMS42MjQtMTQuMjEyJiN4RDsmI3hBOyYjeDk7JiN4OTtjLTAuNTkyLTEuMjUzLTEuMzMtMi4zNTQtMi4wNjQtMy40ODJjLTEuMDIsMC42MTEtMi4wMzgsMS4yMjMtMy4wNTksMS44MzNDMjguMzEsOC45ODIsMjkuNzczLDE0LjYxOCwyOS41MTUsMjAuNzY2eiIvPgogICAgICA8cGF0aCBpZD0iT3V0bGluZSIgZmlsbD0iIzIzMUYyMCIgZD0iTTI4LjYwMiwwLjZjLTAuMzkzLTAuNTIzLTEuMDc4LTAuNzgyLTEuNjU4LTAuNDM1Yy0xLjgwNSwxLjA4NC0zLjYwNywyLjE2OC01LjQxNCwzLjI1MiYjeEQ7JiN4QTsmI3g5OyYjeDk7Yy0wLjYzNywwLjM4My0wLjgzOCwxLjM3MS0wLjI0MiwxLjg5OGMzLjQ3NywzLjA5MSw0LjYxNyw2LjA0MSw0LjksNi41NTdjMC41OTIsMS4wODEsMS41OTIsNC41MzQsMS41NjIsNy43NDlsMC4wNDYsMS42MDkmI3hEOyYjeEE7JiN4OTsmI3g5O2MxLjQ3OSwwLjU2Miw1LjI1LTAuNTYyLDUuMjUtMC41NjJjMC4wMjEtMC4zNTQsMC4yNTEtMi4yMywwLjI1MS0yLjIzQzMzLjQ2NiwxNy42NzcsMzQuMTMsNy45NTgsMjguNjAyLDAuNnogTTMwLjc1NSwyMC4zOCYjeEQ7JiN4QTsmI3g5OyYjeDk7bC0xLjEwOSwwLjE0MXYtMS4xNTJjMC4wNS01LjcxNC0xLjU2OC0xMC42MjUtNS41My0xNC42ODNjMS4wMjEtMC42MSwyLjAzOS0xLjIyMiwzLjA1OS0xLjgzMyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAuNzM0LDEuMTI4LDEuNDcyLDIuMjI5LDIuMDY0LDMuNDgyYzIuMDEyLDQuMjQ3LDEuNjM0LDguMzc1LDEuNTIyLDEyLjgxN0wzMC43NTUsMjAuMzh6Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=" id="148"/></item></list></costumes><sounds><list struct="atomic" id="149"></list></sounds><blocks></blocks><variables></variables><scripts><script x="35.666666666666664" y="30.666666666666668"><block s="receiveKey"><l><option>up arrow</option></l></block><block s="show"></block></script><script x="39.333333333333336" y="90"><block s="receiveKey"><l><option>down arrow</option></l></block><block s="hide"></block></script><script x="42.333333333333336" y="171.33333333333334"><block s="setScale"><l>75</l></block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="is %&apos;big&apos; divisible by %&apos;small&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportModulus"><block var="big"/><block var="small"/></block><l>0</l></block></block></script></block-definition><block-definition s="even? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="is %n divisible by %n ?"><block var="number"/><l>2</l></custom-block></block></script></block-definition><block-definition s="integer? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="number"/><block s="reportRound"><block var="number"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≤ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportOr"><block s="reportLessThan"><block var="a"/><block var="b"/></block><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≥ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportOr"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≠ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="is %&apos;mid&apos; between %&apos;low&apos; and %&apos;high&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%s ≥ %s"><block var="mid"/><block var="low"/></custom-block><custom-block s="%s ≤ %s"><block var="mid"/><block var="high"/></custom-block></block></block></script><scripts><comment x="14.666666666666666" y="88.8" w="304.6666666666667" collapsed="false">As the lab says, it&apos;s okay to use &quot;&gt;&quot; and &quot;&lt;&quot; instead of &quot;≥&quot; and &quot;≤.&quot;</comment></scripts></block-definition><block-definition s="odd? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNot"><custom-block s="is %n divisible by %n ?"><block var="number"/><l>2</l></custom-block></block></block></script></block-definition><block-definition s="divisors of %&apos;number&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="is %n divisible by %n ?"><block var="number"/><l></l></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="number"/></block></block></block></script></block-definition><block-definition s="number of divisors %&apos;number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListLength"><custom-block s="divisors of %n"><block var="number"/></custom-block></block></block></script></block-definition><block-definition s="maximum of %&apos;a&apos; and %&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"><block s="reportIfElse"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><block var="a"/><block var="b"/></block></block></script><scripts><script x="23" y="172.46666666666664"><block s="doIfElse"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><script><block s="doReport"><block var="a"/></block></script><script><block s="doReport"><block var="b"/></block></script></block></script><comment x="52" y="310.46666666666664" w="246.66666666666666" collapsed="false">The &quot;reporter IF&quot; used here is the simplest and most elegant solution, and you should show it to students when you debrief this lab, but you&apos;re more likely to get commands, e.g. this:</comment></scripts></block-definition><block-definition s="minimum of %&apos;a&apos; and %&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"><block s="reportIfElse"><block s="reportLessThan"><block var="a"/><block var="b"/></block><block var="a"/><block var="b"/></block></block></script></block-definition><block-definition s="maximum of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><custom-block s="maximum of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="minimum of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><custom-block s="minimum of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="sum of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="average of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportQuotient"><custom-block s="sum of list %l"><block var="data"/></custom-block><block s="reportListLength"><block var="data"/></block></block></block></script><scripts><script x="19" y="151.13333333333333"><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><custom-block s="average of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script><script x="15" y="273.8"><block s="reportCombine"><block s="reportNewList"><list><l>5</l><l>100</l><l>200</l></list></block><block s="reifyReporter"><autolambda><custom-block s="average of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></script><script x="15.333333333333343" y="306.46666666666664"><block s="reportCombine"><block s="reportNewList"><list><l>200</l><l>100</l><l>5</l></list></block><block s="reifyReporter"><autolambda><custom-block s="average of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></script><comment x="18.333333333333314" y="190.80000399999994" w="303.3333333333333" collapsed="false">This will tempt students because it follows the pattern of the other exercises so far on this page.  But COMBINE can be used only with associative operators, which AVERAGE isn&apos;t.  The last number to be averaged in will have too much influence.  Try these:</comment><comment x="13" y="90.80000000000001" w="289.3333333333333" collapsed="false">Important note:  It does NOT work to make a block that takes the average of two numbers and then do</comment></scripts></block-definition><block-definition s="average of %&apos;a&apos; and %&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"><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></script></block-definition><block-definition s="greatest common divisor of %&apos;a&apos; and %&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"><block s="reportListItem"><l><option>last</option></l><custom-block s="intersection %l %l"><custom-block s="divisors of %n"><block var="a"/></custom-block><custom-block s="divisors of %n"><block var="b"/></custom-block></custom-block></block></block></script><scripts><comment x="12" y="88.8" w="410" collapsed="false">The expected, and perfectly correct, solution would be</comment><script x="8" y="136.13333333333333"><block s="doReport"><custom-block s="maximum of list %l"><custom-block s="intersection %l %l"><custom-block s="divisors of %n"><block var="a"/></custom-block><custom-block s="divisors of %n"><block var="b"/></custom-block></custom-block></custom-block></block></script><comment x="12" y="173.73333333333338" w="411.3333333333333" collapsed="false">But DIVISORS OF reports a list of the divisors /in order/, and INTERSECTION doesn&apos;t change that, so we already know that the biggest value is at the end of the list.</comment></scripts></block-definition><block-definition s="intersection %&apos;lista&apos; %&apos;listb&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block var="listb"/><l></l></block></autolambda><list></list></block><block var="lista"/></block></block></script><scripts><comment x="10.666666666666666" y="92.8" w="314.6666666666667" collapsed="false">This solution is a little counterintuitive, because it treats the two lists asymmetrically.  We start with LISTA and keep items from it that are also in LISTB.  So, expect students to have trouble thinking of this solution.</comment></scripts></block-definition><block-definition s="make a point" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setSize"><l>5</l></block><block s="down"></block><block s="forward"><l>0</l></block><block s="up"></block></script></block-definition></blocks><variables></variables></project><media name="U2L4-MathLibrary Page 3" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>