<snapdata remixID="13493994"><project name="U4L2-CaesarCipher" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U4L2-CaesarCipher"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Encode %&apos;text&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>encodedText</l></list></block><block s="doSetVar"><l>encodedText</l><l></l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><script><block s="doSetVar"><l>encodedText</l><block s="reportJoinWords"><list><block var="encodedText"/><l></l></list></block></block></script></custom-block><block s="doReport"><block var="encodedText"/></block></script><scripts><script x="17.59999999999991" y="257.80000000000007"><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>letter</option></l></block></block></custom-block><comment w="90" collapsed="false">A more clever approach to this problem can be achieved using the higher order function (HOF) map.  Courtesy of Christopher Archie of teacher cohort 17-18. </comment></block></script></scripts></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="initials from name %&apos;name&apos;" type="reporter" category="operators"><comment x="0" y="0" w="79.33333333333333" collapsed="true">4.2.2 ITIT 5</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="is %s between %s and %s ?"><block s="reportUnicode"><l></l></block><block s="reportUnicode"><l>A</l></block><block s="reportUnicode"><l>Z</l></block></custom-block></autolambda><list></list></block><block s="reportTextSplit"><block var="name"/><l><option>letter</option></l></block></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block></block><comment w="238" collapsed="false">Version using UNICODE block.&#xD;Treats the name as just a string of characters and searches for capital letters in it.  So if the name were &quot;BeAuTy and jOy of computiNg&quot; the block would report BATON. </comment></block></script><scripts><script x="14.666666666666666" y="190.88888888888889"><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportLetter"><l>1</l><l></l></block></autolambda><list></list></block><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportTextSplit"><l></l><l>-</l></block></autolambda><list></list></block><block s="reportTextSplit"><block var="name"/><l><option>word</option></l></block></block><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><l/></list></block></autolambda><list></list></block></block></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block><comment w="243.33333333333334" collapsed="false">Version using an additional SPLIT block.&#xD;This version respects the abstraction that text is made up of words, not characters.  It introduces hyphens as another word delimiter (in addition to spaces).  It has an unfortunately hairy structure of higher order function calls. because the split by hyphens has to be done in each word separately (that&apos;s the inner MAP) and then the result has to be flattened (the APPEND).  The ideal solution would split into words based on spaces and hyphens together, but Snap! doesn&apos;t have that capability (yet).</comment></block></block></script></scripts></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="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="a"/><block var="b"/></list></block><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block></list></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="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="a"/><block var="b"/></list></block><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block></list></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="reportVariadicAnd"><list><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></list></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></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="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="269"><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="270"></list></costumes><sounds><list struct="atomic" id="271"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="150" y="50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="276"><costumes><list struct="atomic" id="277"></list></costumes><sounds><list struct="atomic" id="278"></list></sounds><blocks></blocks><variables></variables><scripts><script x="42" y="30"><block s="receiveGo"></block><block s="doSetVar"><l>inputText</l><l></l></block><block s="doSetVar"><l>shiftValue</l><l></l></block><block s="doSetVar"><l>outputText</l><l></l></block><block s="gotoXY"><l>150</l><l>50</l></block><block s="doAsk"><l>Enter your text:</l></block><block s="doSetVar"><l>inputText</l><block s="getLastAnswer"></block></block><block s="doUntil"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doAsk"><l>What is the Shift Value for the Ceasar Cipher?  Enter a whole number.</l></block><block s="doSetVar"><l>shiftValue</l><block s="getLastAnswer"></block></block></script></block><block s="doAsk"><l>Encipher or Decipher?</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block s="getLastAnswer"></block></block><l>D</l></list></block><script><block s="doSetVar"><l>shiftValue</l><block s="reportDifference"><l>0</l><block var="shiftValue"/></block></block></script><list></list></block><block s="doSetVar"><l>outputText</l><block s="reportNewList"><list><custom-block s="Encode %txt %n"><block var="inputText"/><block var="shiftValue"/></custom-block></list></block></block></script></scripts></sprite><watcher var="shiftValue" style="normal" x="1" y="50.999999999999986" color="243,118,29"/><watcher var="inputText" style="normal" x="1.3333333333330302" y="6.611111111111114" color="243,118,29"/><watcher var="outputText" style="normal" x="8.361111111111313" y="98.61111161111114" color="243,118,29"/></sprites></stage><variables><variable name="outputText"><l></l></variable><variable name="inputText"><l></l></variable><variable name="shiftValue"><l></l></variable></variables></scene></scenes></project><media name="U4L2-CaesarCipher" app="Snap! 9.0, https://snap.berkeley.edu" version="2"></media></snapdata>