<snapdata remixID="14871011"><project name="U2L4.2 MORE MATH: Boolean Procedures" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAoKADAAQAAAABAAAAeAAAAAAeaS0RAAADJklEQVR4Ae3XvUllARSF0fuGMbYFq7EGwcTANqzHSmzGVNDQccwMHNiwZSuzXub1cM5z+eHP6fXtdXgRGAn8Gt11lsC7gACFMBUQ4JTfcQFqYCogwCm/4wLUwFRAgFN+xwWogamAAKf8jgtQA1MBAU75HRegBqYCApzyOy5ADUwFBDjld1yAGpgKCHDK77gANTAVEOCU33EBamAqIMApv+MC1MBUQIBTfscFqIGpgACn/I4LUANTAQFO+R0XoAamAgKc8jsuQA1MBQQ45XdcgBqYCghwyu+4ADUwFRDglN9xAWpgKiDAKb/jAtTAVECAU37HBaiBqYAAp/yOC1ADUwEBTvkdF6AGpgICnPI7LkANTAUEOOV3XIAamAoIcMrvuAA1MBUQ4JTfcQFqYCogwCm/4wLUwFRAgFN+xwWoganA7+n1b3z8/v7+eHp6Oi4vL4+Li4tv/E5/9ls7vb69fvaX8DXv/vn5+bi9vT1eXl6Ox8fH4/r6+jidTu/Pzs7Ovubof7hVgP/4pj88PBx3d3fH+fn5h6m/Ud7c3Lw/u7q6+vA5H2QC/gbMvEyXBfwE/ATUr+BPYMqPBfgJqH9CPoEpPxZgGdS6TMDfgJmX6bKAAMug1mUCAsy8TJcFBFgGtS4TEGDmZbosIMAyqHWZgAAzL9NlAQGWQa3LBASYeZkuCwiwDGpdJiDAzMt0WUCAZVDrMgEBZl6mywICLINalwkIMPMyXRYQYBnUukxAgJmX6bKAAMug1mUCAsy8TJcFBFgGtS4TEGDmZbosIMAyqHWZgAAzL9NlAQGWQa3LBASYeZkuCwiwDGpdJiDAzMt0WUCAZVDrMgEBZl6mywICLINalwkIMPMyXRYQYBnUukxAgJmX6bKAAMug1mUCAsy8TJcFBFgGtS4TEGDmZbosIMAyqHWZgAAzL9NlAQGWQa3LBASYeZkuCwiwDGpdJiDAzMt0WUCAZVDrMgEBZl6mywICLINalwkIMPMyXRYQYBnUukxAgJmX6bKAAMug1mUCAsy8TJcFBFgGtS4TEGDmZbosIMAyqHWZgAAzL9NlAQGWQa3LBP4AtIpF1RL41EAAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="U2L4.2 MORE MATH: Boolean Procedures"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="maximum of %&apos;num1&apos; and %&apos;num2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="num1"/><block var="num2"/></list></block><script><block s="doReport"><block var="num1"/></block></script><list><block s="reportVariadicLessThan"><list><block var="num1"/><block var="num2"/></list></block><script><block s="doReport"><block var="num2"/></block></script></list></block></script></block-definition><block-definition s="minimum of %&apos;num1&apos; and %&apos;num2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="num1"/><block var="num2"/></list></block><script><block s="doReport"><block var="num1"/></block></script><list><block s="reportVariadicGreaterThan"><list><block var="num1"/><block var="num2"/></list></block><script><block s="doReport"><block var="num2"/></block></script></list></block></script></block-definition><block-definition s="sum of %&apos;number list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>sum</l></list></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doForEach"><l>number</l><block var="number list"/><script><block s="doChangeVar"><l>sum</l><block var="number"/></block></script></block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="Maximum of %&apos;number list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>max</l></list></block><block s="doSetVar"><l>max</l><block s="reportListItem"><l>1</l><block var="number list"/></block></block><block s="doForEach"><l>number</l><block var="number list"/><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="max"/><block var="number"/></list></block><script><block s="doSetVar"><l>max</l><block var="number"/></block></script><list></list></block></script></block><block s="doReport"><block var="max"/></block></script></block-definition><block-definition s="Minimum of %&apos;number list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>min</l></list></block><block s="doSetVar"><l>min</l><block s="reportListItem"><l>1</l><block var="number list"/></block></block><block s="doForEach"><l>number</l><block var="number list"/><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="min"/><block var="number"/></list></block><script><block s="doSetVar"><l>min</l><block var="number"/></block></script><list></list></block></script></block><block s="doReport"><block var="min"/></block></script><scripts><script x="274.7646484375" y="151.16666666666669"><block var="number"/></script></scripts></block-definition><block-definition s="Average of [number list] %&apos;number list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>sum</l></list></block><block s="doDeclareVariables"><list><l>avg</l></list></block><block s="doForEach"><l>item</l><block var="number list"/><script><block s="doChangeVar"><l>sum</l><block var="item"/></block><block s="doChangeVar"><l>avg</l><l>1</l></block></script></block><block s="doReport"><block s="reportQuotient"><block var="sum"/><block var="avg"/></block></block></script></block-definition><block-definition s="Factors of %&apos;num&apos; (2)" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>factors</l></list></block><block s="doSetVar"><l>factors</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>num1</l><l>1</l><block var="num"/><script><block s="doIf"><custom-block s="Is %s divisible by %s"><block var="num"/><block var="num1"/></custom-block><script><block s="doAddToList"><block var="num"/><block var="factors"/></block></script><list></list></block></script></block><block s="doReport"><block var="factors"/></block></script></block-definition><block-definition s="Is %&apos;num1&apos; divisible by %&apos;num2&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="num1"/><block var="num2"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Factors of %&apos;num&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>factors</l></list></block><block s="doSetVar"><l>factors</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>num1</l><l>1</l><block var="num"/><script><block s="doIf"><custom-block s="Is %s divisible by %s"><block var="num"/><block var="num1"/></custom-block><script><block s="doAddToList"><block var="num1"/><block var="factors"/></block></script><list></list></block></script></block><block s="doReport"><block var="factors"/></block></script><scripts><script x="23.6640625" y="265.9416666666666"><block var="num"/></script></scripts></block-definition><block-definition s="greatest common factor [num1] %&apos;num1&apos; [num2] %&apos;num2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doReport"><custom-block s="Maximum of %l"><custom-block s="common factor of %s and %s"><block var="num1"/><block var="num2"/></custom-block></custom-block></block></script><scripts><script x="220.59882812499995" y="124.19999999999999"><block s="reportNewList"><list><l>432</l><l>6</l><l>7</l><l>421</l></list></block></script><script x="68.9951171875" y="117.83333333333331"><custom-block s="Maximum of %l"><l/></custom-block></script></scripts></block-definition><block-definition s="common factor of %&apos;num1&apos; and %&apos;num2&apos;" type="reporter" category="lists"><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>common factors</l></list></block><block s="doSetVar"><l>common factors</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><custom-block s="Factors of %s"><block var="num1"/></custom-block><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Factors of %s"><block var="num2"/></custom-block><block var="item"/></block><script><block s="doAddToList"><block var="item"/><block var="common factors"/></block></script><list></list></block></script></block><block s="doReport"><block var="common factors"/></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="308"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="309"></list></costumes><sounds><list struct="atomic" id="310"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="315"><costumes><list struct="atomic" id="316"></list></costumes><sounds><list struct="atomic" id="317"></list></sounds><blocks></blocks><variables></variables><scripts><script x="35" y="707"><custom-block s="greatest common factor [num1] %s [num2] %s"><l>1000</l><l>2000</l><comment w="384" collapsed="false">This script determines the largest factor that two numbers share. Using the previously generated list of common factors, it picks the biggest value and reports it as the greatest common factor.</comment></custom-block></script><script x="45" y="612"><custom-block s="Factors of %s"><l>10</l><comment w="583" collapsed="false">This script identifies all factors of a given number. It tests every integer from 1 to the number itself to see if it divides evenly. Any number that divides with no remainder is added to the &quot;factors&quot; list, which is reported at the end.</comment></custom-block></script><script x="35" y="525"><custom-block s="common factor of %s and %s"><l>10</l><l>6</l><comment w="484" collapsed="false">This script lists all factors shared by two numbers. It checks which factors of the first number also appear in the factor list of the second number. Any factors found in both lists are collected as the common factors and then reported.</comment></custom-block></script><script x="46" y="421"><custom-block s="Maximum of %l"><block s="reportNewList"><list><l>420</l><l>67</l><l>69</l></list><comment w="446" collapsed="false">This script identifies the biggest value in a list. It starts by assuming the first number is the maximum, then checks each remaining number. Whenever it finds a larger one, it updates the maximum. After going through the whole list, it reports the highest number.</comment></block></custom-block></script><script x="46" y="322"><custom-block s="Average of [number list] %l"><block s="reportNewList"><list><l>420</l><l>8</l><l>6</l><l>7</l></list></block><comment w="335" collapsed="false">This script computes the average of the numbers in a list. It first adds all the values together, then divides that total by the number of items in the list. The result it reports is the average.</comment></custom-block></script><script x="67.92812500000002" y="159"><custom-block s="sum of %l"><block s="reportNewList"><list><l>420</l><l>6</l><l>7</l></list></block><comment w="306" collapsed="false">This script calculates the total of all numbers in a list. Starting with a sum of zero, it adds each item one by one. When the loop ends, it reports the final total.</comment></custom-block></script><script x="50" y="242"><custom-block s="Minimum of %l"><block s="reportNewList"><list><l>420</l><l>6</l><l>7</l><l>9</l></list></block><comment w="468" collapsed="false">This script finds the smallest number in a list. It begins by assuming the first item is the minimum, then compares each new value to that number. Any time it finds a smaller value, it updates the minimum. At the end, it reports the smallest value found.</comment></custom-block></script><script x="65.42812500000002" y="83.79999999999995"><custom-block s="maximum of %s and %s"><l>1</l><l>0</l><comment w="329" collapsed="false">This script figures out which of two numbers is larger. Using an if/else comparison, it checks whether num1 is greater than num2. It then reports whichever value is bigger.</comment></custom-block></script><script x="57.92812500000002" y="10"><custom-block s="minimum of %s and %s"><l>3</l><l>-4</l><comment w="338" collapsed="false">This script compares two numbers to determine which is smaller. If num1 is less than num2, it reports num1; otherwise, it reports num2 as the minimum.</comment></custom-block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="U2L4.2 MORE MATH: Boolean Procedures" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>