<snapdata remixID="12211050"><project name="U4L6 UPC Checker Lab" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U4L6 UPC Checker Lab"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="enoughDigits?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="UPCCode"/></block><l>12</l></block></block></script></block-definition><block-definition s="allDigitsButCheckDigit" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="UPCCode"/></block><l>1</l></block></block></script></block-definition><block-definition s="sumEvenDigits" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sum</l><l>i</l></list></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doRepeat"><custom-block s="allDigitsButCheckDigit"></custom-block><script><block s="doIf"><block s="reportEquals"><block s="reportModulus"><block var="i"/><l>2</l></block><l>0</l></block><script><block s="doSetVar"><l>sum</l><block s="reportVariadicSum"><list><block var="sum"/><block s="reportListItem"><block var="i"/><block var="UPCCode"/></block></list></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="sumOddDigits" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sum</l><l>i</l></list></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doRepeat"><custom-block s="allDigitsButCheckDigit"></custom-block><script><block s="doIf"><block s="reportEquals"><block s="reportModulus"><block var="i"/><l>2</l></block><l>1</l></block><script><block s="doSetVar"><l>sum</l><block s="reportVariadicSum"><list><block var="sum"/><block s="reportListItem"><block var="i"/><block var="UPCCode"/></block></list></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="checkDigit" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>12</l><block var="UPCCode"/></block></block></script></block-definition><block-definition s="oddDigits*3" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><custom-block s="sumOddDigits"></custom-block><l>3</l></list></block></block></script></block-definition><block-definition s="CollectAndStoreUPCCode" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>code</l><l>i</l></list></block><block s="doAsk"><l>Enter a UPC Code</l></block><block s="doSetVar"><l>code</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doRepeat"><block s="reportStringSize"><block var="code"/></block><script><block s="doAddToList"><block s="reportLetter"><block var="i"/><block var="code"/></block><block var="UPCCode"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block-definition></blocks><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="161"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="162"></list></costumes><sounds><list struct="atomic" id="163"></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="168"><costumes><list struct="atomic" id="169"></list></costumes><sounds><list struct="atomic" id="170"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveGo"></block><block s="doSetVar"><l>UPCCode</l><block s="reportNewList"><list></list></block></block><custom-block s="CollectAndStoreUPCCode"><comment w="174" collapsed="false">This function asks the user to input the UPC code and places it into a variable code. Then, it puts the code into a list</comment></custom-block><block s="doIf"><block s="reportNot"><custom-block s="enoughDigits?"><comment w="182" collapsed="false">This function makes sure that the code that the user input was 12 digits - if it isn&apos;t the user is informed and the code stops running</comment></custom-block></block><script><block s="doSayFor"><l>That code is invalid, it is not enough digits</l><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><custom-block s="oddDigits*3"></custom-block><custom-block s="sumEvenDigits"></custom-block></list></block><custom-block s="checkDigit"></custom-block></list></block><l>10</l></block><l>0</l><comment w="416.986328125" collapsed="false">This section of code does all the math to determine if the UPC code is valid or not. &#xD;oddDigits: adds up all of the odd digits and multiples by 3&#xD;sumEvenDigits: adds up all the even digits but the check digit&#xD;checkDigit: reports the last number (check digit) of the UPC code&#xD;The section then runs the math by adding the oddDigits*3, sumEvenDigits, and check digit. If the answer mod 10 is 0, the code outputs that it is a valid UPC code and if it isn&apos;t it outputs that it isn&apos;t a valid UPC code.</comment></block><script><block s="doSayFor"><l>This is a valid UPC-A number</l><l>2</l></block><block s="doSetVar"><l>Digit1</l><block s="reportListItem"><l>1</l><block var="UPCCode"/></block></block><block s="doIf"><block s="reportEquals"><block var="Digit1"/><l>0</l></block><script><block s="doSetVar"><l>Digit1</l><l>10</l><comment w="264" collapsed="false">In the list, the category that corresponds with the first digit 0 is placed at index 10. When the first digit is 0, this section changes it to 10 to make sure that it goes to the correct index in the list and says the correct category of the item</comment></block></script></block><block s="doSetVar"><l>UPCType</l><block s="reportNewList"><list><l>Regular UPC Code</l><l>Random weight item</l><l>National Drug Code/National Health Related Item</l><l>In-Store non-food item</l><l>Coupon Use</l><l>Regular UPC Code</l><l>Regular UPC Code</l><l>Regular UPC Code</l><l>Coupon Use</l><l>Regular UPC Code</l></list><comment w="253" collapsed="false">This list holds the categories for each of the items. The first digit of the UPC code determines the category. The index of the list corresponds with what the first number of the UPC code would have to be in order for it to fit into that category </comment></block></block><block s="doSayFor"><block s="reportListItem"><block var="Digit1"/><block var="UPCType"/></block><l>2</l></block></script><script><block s="doSayFor"><l>I am sorry - that is not a valid number</l><l>2</l></block></script></block></script></scripts></sprite><watcher var="Digit1" style="normal" x="15" y="162.000004" color="243,118,29"/><watcher var="UPCType" style="normal" x="10" y="194.000002" color="243,118,29" extX="80" extY="70"/><watcher var="UPCCode" style="normal" x="14" y="12" color="243,118,29" extX="80" extY="244"/></sprites></stage><variables><variable name="UPCCode"><list struct="atomic" id="267">9,4,7,0,0,0,2,1,3,0,0,2</list></variable><variable name="UPCType"><list struct="atomic" id="268">Regular UPC Code,Random weight item,National Drug Code/National Health Related Item,In-Store non-food item,Coupon Use,Regular UPC Code,Regular UPC Code,Regular UPC Code,Coupon Use,Regular UPC Code</list></variable><variable name="Digit1"><l>9</l></variable></variables></scene></scenes></project><media name="U4L6 UPC Checker Lab" app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>