<snapdata remixID="9741667"><project name="U2L4-MathLibrary (chsstudent)" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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</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="26" y="37" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="230,168,34,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="17" y="8"><custom-block s="is %n divisible by %n ?"><l></l><l></l><comment w="174.66666666666666" collapsed="true">1.3, look inside for definition.</comment></custom-block></script><script x="19" y="35.6666666666667"><custom-block s="even? %n"><l></l><comment w="53.333333333333336" collapsed="true">1.4</comment></custom-block></script><script x="17" y="64"><custom-block s="integer? %n"><l></l><comment w="67.33333333333333" collapsed="true">1.9 (ITIT)</comment></custom-block></script><script x="12" y="98.6666666666667"><block s="clear"><comment w="232.66666666666666" collapsed="false">This is the script for TIF A; the actual TIF is to build the Boolean expressions that go in the IF block:</comment></block><block s="up"></block><block s="doWarp"><script><block s="doForever"><script><block s="doGotoObject"><l><option>random position</option></l></block><block s="doIfElse"><l/><script><block s="setColor"><color>143,86,227,1</color></block></script><script><block s="setColor"><color>230,168,34,1</color></block></script></block><custom-block s="make a point"></custom-block></script></block></script></block></script><script x="336.2416015625" y="117.5333333333333"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>10</l></block></block><l>10</l></block><l>0</l><comment w="114" collapsed="false">TIFA: a</comment></block></script><script x="344.2416015625" y="159.9333333333333"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>100</l></block></block><l>2</l></block><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="yPosition"></block><l>100</l></block></block><l>2</l></block><comment w="114" collapsed="false">TIFA: b</comment></block></script><script x="335.4416015625" y="289.5333333333334"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="reportRelationTo"><l><option>direction</option></l><l>apple</l></block><l>20</l></block></block><l>2</l></block><l>0</l><comment w="114" collapsed="false">TIFA: d</comment></block></script><script x="344.2416015625" y="225.5333333333334"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>100</l></block></block><l>3</l></block><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="yPosition"></block><l>100</l></block></block><l>3</l></block><comment w="114" collapsed="false">TIFA: c</comment></block></script><script x="340.2416015625" y="337.5333333333333"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="reportRelationTo"><l><option>distance</option></l><l>apple</l></block><l>20</l></block></block><l>2</l><comment w="114" collapsed="false">TIFA: e</comment></block><l>0</l></block></script><script x="341.0416015625" y="393.5333333333333"><block s="reportGreaterThan"><block s="reportRelationTo"><l><option>distance</option></l><l>apple</l></block><block s="reportRelationTo"><l><option>direction</option></l><l>apple</l></block><comment w="114" collapsed="false">TIFA: e</comment></block></script><script x="11.4" y="349.9333333333333"><custom-block s="squareNum %n %n"><l>1</l><l>100</l></custom-block></script><script x="14.333333333333348" y="395.4"><custom-block s="odd? %n"><l></l><comment w="53.333333333333336" collapsed="true">2.3</comment></custom-block></script><script x="13" y="441.8666666666668"><custom-block s="divisors of %n"><l>3</l><comment w="201.33333333333334" collapsed="true">2.4a (following the clickable hint)</comment></custom-block></script><script x="13.266666666666652" y="484.5333333333334"><custom-block s="number of divisors %n"><l>24</l><comment w="53.333333333333336" collapsed="true">2.4b</comment></custom-block></script><script x="13.4" y="520.7333333333333"><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="53.333333333333336" collapsed="true">2.4c</comment></block></script><script x="17.066666666666652" y="582.2666666666668"><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="53.333333333333336" collapsed="true">2.4c</comment></block></script><comment x="14" y="643.3333333333334" w="301.3333333333333" collapsed="false">2.5 (ITIT):&#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;&#xD;Make sure kids are impressed by how easy these one-liners are, including the DIVISORS OF block.  This is just a glimmer of the power of functional programming; the code would be more complicated and much more bug-prone using a FOR loop. </comment><script x="12.333333333333348" y="895.9333333333332"><custom-block s="maximum of %n and %n"><l></l><l></l><comment w="53.333333333333336" collapsed="true">3.2</comment></custom-block></script><script x="12.2" y="929.4666666666665"><custom-block s="minimum of %n and %n"><l></l><l></l></custom-block></script><script x="16.46666666666665" y="964.2"><custom-block s="maximum of list %l"><l/><comment w="53.333333333333336" collapsed="true">3.3</comment></custom-block></script><script x="17.933333333333348" y="995.3333333333333"><custom-block s="minimum of list %l"><l/></custom-block></script><script x="19.66666666666665" y="1024.7333333333331"><custom-block s="sum of list %l"><l/><comment w="53.333333333333336" collapsed="true">3.4</comment></custom-block></script><script x="15.666666666666652" y="1047.2"><custom-block s="average of list %l"><l/><comment w="53.333333333333336" collapsed="true">3.5</comment></custom-block></script><script x="10.333333333333348" y="1082.1333333333332"><custom-block s="greatest common divisor of %n and %n"><l></l><l></l><comment w="53.333333333333336" collapsed="true">TIF 3.A</comment></custom-block></script></scripts></sprite><sprite name="apple" idx="2" x="2" y="-2" 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="190"><costumes><list id="191"><item><costume name="apple" center-x="31" center-y="31.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJhcHBsZTEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNjIuMjE4cHgiIGhlaWdodD0iNjMuMzc1cHgiIHZpZXdCb3g9IjAgMCA2Mi4yMTggNjMuMzc1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2Mi4yMTggNjMuMzc1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8Zz4KICAgIDxnIGlkPSJBcHBsZSI+CiAgICAgIDxwYXRoIGlkPSJGaWxsXzFfIiBmaWxsPSIjRUMxQzJDIiBkPSJNNTkuMDgzLDM0LjQwMmMwLDE0LjUyNy0xMi41MjUsMjYuMzA3LTI3Ljk3OCwyNi4zMDdjLTE1LjQ1MywwLTI3Ljk3Ny0xMS43NzUtMjcuOTc3LTI2LjMwNyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMTQuNTI3LDEyLjUyMy0yMS4yNzUsMjcuOTc3LTIxLjI3NUM0Ni41NTcsMTMuMTI2LDU5LjA4MywxOS44NzYsNTkuMDgzLDM0LjQwMnoiLz4KICAgICAgPGcgaWQ9Ik91dGxpbmVfMV8iPgogICAgICAgIDxwYXRoIGlkPSJPdXRsaW5lXzJfIiBmaWxsPSIjMjMxRjIwIiBkPSJNMzQuMjg1LDExLjk2Yy00LjYwOC0wLjM5MS05LjEzNiwwLjE4OS05LjEzNiwwLjE4OUMxMC44MjEsMTMuNDczLDAsMTkuODgzLDAsMzQuMTIxJiN4RDsmI3hBOyYjeDk7JiN4OTsmI3g5O2MwLDE2LjE1NiwxMy45MjgsMjkuMjU0LDMxLjEwNywyOS4yNTRjMTcuMTgyLDAsMzEuMTA5LTEzLjA5OCwzMS4xMDktMjkuMjU0QzYyLjIxNiwxOC45NzcsNDkuOTY5LDEyLjY5LDM0LjI4NSwxMS45NnomI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7IE0zMS4xMDgsNTkuMzMzYy0xNC41NTksMC0yNi4zNTctMTEuMDk5LTI2LjM1Ny0yNC43ODVjMC0xMi4wNjQsOS4xNjktMTguNDMzLDIxLjMxNC0xOS43NzRjMC4yNDktMC4wMjksOC40NTYtMC4xNDQsOC40NTYtMC4xNDQmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7YzEyLjk0MiwwLjkzNiwyMi45NDksNy4zMTgsMjIuOTQ5LDE5LjkyQzU3LjQ2NCw0OC4yMzYsNDUuNjY2LDU5LjMzMywzMS4xMDgsNTkuMzMzeiIvPgogICAgICAgIDxwYXRoIGlkPSJMaW5lIiBmaWxsPSIjMjMxRjIwIiBkPSJNNDAuMzMyLDE5LjA2MmMtMi4zMDMtMC43NjEtNC42MTctMC4yNDEtNi45MjksMC4zODljLTEuOTE2LDAuNjA4LTYuMTEyLDEuMTYyLTYuMTksMS4wOTgmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7Yy0xLjE5OC0wLjA1OC0yLjM4OS0wLjM1OC0zLjU3MS0xLjA5OWMtMC40OC0wLjMwMy0wLjk4MiwwLjM3OC0wLjU5OCwwLjc3M2MxLjc2OCwxLjgwMyw0LjA2OCwxLjc4Miw2LjQ1NSwxLjUxNCYjeEQ7JiN4QTsmI3g5OyYjeDk7JiN4OTtjMy41NzUtMC40MDEsNi45OTMtMC40OTEsMTAuNTYxLTAuNjcyQzQxLjIyLDIxLjAwNCw0MS40MzMsMTkuNDI2LDQwLjMzMiwxOS4wNjJ6Ii8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlNoaW5lIiBmaWxsPSIjRkZGRkZGIiBkPSJNMTIuNTU1LDM0LjI2MWMwLDMuNDMxLDEuODUsNi4yMTItMC4wODQsNi4yMTJjLTEuOTM0LDAtMy41LTIuNzgxLTMuNS02LjIxMiYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMy40MywxLjU2Ni02LjIxMSwzLjUtNi4yMTFDMTQuNDA1LDI4LjA1LDEyLjU1NSwzMC44MzIsMTIuNTU1LDM0LjI2MXoiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJTdGVtIj4KICAgICAgPHBhdGggaWQ9IkZpbGwiIGZpbGw9IiM5OTY2MUQiIGQ9Ik0yOS41MTUsMjAuNzY2YzAuMzcxLTAuMDY2LDAuOTczLTAuMTMsMS4zNDgtMC4yMTljMC4wNjItNC44MjcsMC41MzgtOS42NDgtMS42MjQtMTQuMjEyJiN4RDsmI3hBOyYjeDk7JiN4OTtjLTAuNTkyLTEuMjUzLTEuMzMtMi4zNTQtMi4wNjQtMy40ODJjLTEuMDIsMC42MTEtMi4wMzgsMS4yMjMtMy4wNTksMS44MzNDMjguMzEsOC45ODIsMjkuNzczLDE0LjYxOCwyOS41MTUsMjAuNzY2eiIvPgogICAgICA8cGF0aCBpZD0iT3V0bGluZSIgZmlsbD0iIzIzMUYyMCIgZD0iTTI4LjYwMiwwLjZjLTAuMzkzLTAuNTIzLTEuMDc4LTAuNzgyLTEuNjU4LTAuNDM1Yy0xLjgwNSwxLjA4NC0zLjYwNywyLjE2OC01LjQxNCwzLjI1MiYjeEQ7JiN4QTsmI3g5OyYjeDk7Yy0wLjYzNywwLjM4My0wLjgzOCwxLjM3MS0wLjI0MiwxLjg5OGMzLjQ3NywzLjA5MSw0LjYxNyw2LjA0MSw0LjksNi41NTdjMC41OTIsMS4wODEsMS41OTIsNC41MzQsMS41NjIsNy43NDlsMC4wNDYsMS42MDkmI3hEOyYjeEE7JiN4OTsmI3g5O2MxLjQ3OSwwLjU2Miw1LjI1LTAuNTYyLDUuMjUtMC41NjJjMC4wMjEtMC4zNTQsMC4yNTEtMi4yMywwLjI1MS0yLjIzQzMzLjQ2NiwxNy42NzcsMzQuMTMsNy45NTgsMjguNjAyLDAuNnogTTMwLjc1NSwyMC4zOCYjeEQ7JiN4QTsmI3g5OyYjeDk7bC0xLjEwOSwwLjE0MXYtMS4xNTJjMC4wNS01LjcxNC0xLjU2OC0xMC42MjUtNS41My0xNC42ODNjMS4wMjEtMC42MSwyLjAzOS0xLjIyMiwzLjA1OS0xLjgzMyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAuNzM0LDEuMTI4LDEuNDcyLDIuMjI5LDIuMDY0LDMuNDgyYzIuMDEyLDQuMjQ3LDEuNjM0LDguMzc1LDEuNTIyLDEyLjgxN0wzMC43NTUsMjAuMzh6Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=" id="192"/></item></list></costumes><sounds><list struct="atomic" id="193"></list></sounds><blocks></blocks><variables></variables><scripts><script x="35.66666666666665" y="30.666666666666675"><block s="receiveKey"><l><option>up arrow</option></l></block><block s="show"></block></script><script x="39.33333333333335" y="90"><block s="receiveKey"><l><option>down arrow</option></l></block><block s="hide"></block></script><script x="42.33333333333335" y="171.33333333333331"><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><comment x="16" y="87.46666666666665" 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><script x="23" y="172.46666666666667"><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></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><comment x="14" y="88.8" 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><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.333333333333334" 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.333333333333332" y="190.80000399999997" 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></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><block-definition s="squareNum %&apos;min&apos; %&apos;max&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="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"><block var="min"/><block var="max"/></block><comment w="53.333333333333336" collapsed="true">2.4c</comment></block></block></script></block-definition></blocks><variables></variables></project><media name="U2L4-MathLibrary (chsstudent)" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>