<snapdata remixID="12211051"><project name="U4L6 - UPC 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 lab "><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="EnoughDigits" type="reporter" category="control"><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="oddDigit*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><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></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="171"><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="172"></list></costumes><sounds><list struct="atomic" id="173"></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="178"><costumes><list struct="atomic" id="179"></list></costumes><sounds><list struct="atomic" id="180"></list></sounds><blocks></blocks><variables></variables><scripts><script x="27.22265625" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>UPCcode</l><block s="reportNewList"><list></list></block></block><custom-block s="CollectAndStoreUPCCode"><comment w="109" collapsed="false">This block allows the user to input 12 values into the UPC code. </comment></custom-block><block s="doIf"><block s="reportNot"><custom-block s="EnoughDigits?"><comment w="165" collapsed="false">This block checks is the UPC code inputted by the user has the correct number of digits. For a UPC code their must be 12 digits/numbers. If the code does not have the correct amount of digits the code will say that the code is invalid. </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="oddDigit*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></block><script><block s="doSayFor"><l>This is a valid UPC number</l><l>2</l></block></script><script><block s="doSayFor"><l>I&apos;m Sorry this is not a valid UPC number</l><l>2</l><comment w="160" collapsed="false">This code checks the UPC code inputted by the user to make sure that it is a valid UPC code. The code does this by adding all odd digits together, Multiply the sum of the odd number by three, adding the even digits without the check number, adding the sum of even digits and the answer of the sum of odd times three, adding the check didgit to the sum of the even and the sum of the odd times three, Then taking that final number mod 10 and seeing if the answer is zero. </comment></block></script></block><block s="doSetVar"><l>UPCtype</l><block s="reportNewList"><list><l>Regular code</l><l>Random weight items</l><l>national drug/health related items</l><l>non-food items</l><l>coupons </l><l>Regular code</l><l>Regular code</l><l>Regular code</l><l>coupon</l></list></block></block><block s="doSetVar"><l>Num</l><block s="reportListItem"><l>1</l><block var="UPCcode"/></block></block><block s="doSayFor"><block s="reportListItem"><block var="Num"/><block var="UPCtype"/></block><l>2</l><comment w="163" collapsed="false">This code helps to decide what type of product the UPC that is inputted represents based on the first number of the UPC code. The first number of the UPC code indicates a certain type of product. This second list holds the different categories the product can fall under. If the first digit is equal to the index of one of the items of this second list then the UPC code can be categorized as that type of product. For example, if the UPC code starts with 4 then it is a non-food item and the code will display that. </comment></block></script></scripts></sprite><watcher var="UPCcode" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher var="Num" style="normal" x="10" y="103.000002" color="243,118,29"/><watcher var="UPCtype" style="normal" x="6" y="123.000002" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="UPCcode"><list struct="atomic" id="266">5,6,7,8,9,0,1,2,3,4,5,6</list></variable><variable name="UPCtype"><list struct="atomic" id="267">Regular code,Random weight items,national drug/health related items,non-food items,coupons ,Regular code,Regular code,Regular code,coupon</list></variable><variable name="Num"><l>5</l></variable></variables></scene></scenes></project><media name="U4L6 - UPC lab " app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>