<snapdata remixID="14266882"><project name="U4L2-CaesarCipher" app="Snap! 10.5.1, 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"/><custom-block s="Encode One Character %s %n"><block s="reportLetter"><block var="i"/><block var="text"/></block><block var="shift"/></custom-block></list></block></block></script></custom-block><block s="doReport"><block var="encodedText"/></block></script><scripts><script x="17.599999999999984" y="257.8"><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Encode One Character %s %n"><l></l><block var="shift"/></custom-block></autolambda><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="Encode One Character %&apos;char&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><block s="reportUnicode"><block var="char"/></block><block var="shift"/></list></block></block></block></script></block-definition><block-definition s="Encode One Character (TIF A version) %&apos;char&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>new character</l></list></block><block s="doSetVar"><l>new character</l><block s="reportVariadicSum"><list><block s="reportUnicode"><block var="char"/></block><block var="shift"/></list></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="new character"/><l>126</l></list></block><script><block s="doChangeVar"><l>new character</l><block s="reportDifference"><l>32</l><l>127</l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="new character"/><l>32</l></list></block><script><block s="doChangeVar"><l>new character</l><block s="reportDifference"><l>127</l><l>32</l></block></block></script><list></list></block><block s="doReport"><block s="reportUnicodeAsLetter"><block var="new character"/></block></block></script></block-definition><block-definition s="Encode (TIF A version) %&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"/><custom-block s="Encode One Character (TIF A version) %s %n"><block s="reportLetter"><block var="i"/><block var="text"/></block><block var="shift"/></custom-block></list></block></block></script></custom-block><block s="doReport"><block var="encodedText"/></block></script><scripts><script x="17.599999999999984" y="257.8"><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Encode One Character %s %n"><l></l><block var="shift"/></custom-block></autolambda><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="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><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="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="399"><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="400"></list></costumes><sounds><list struct="atomic" id="401"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><watcher var="shiftValue" style="normal" x="1" y="50.999999999999986" color="243,118,29"/><watcher var="inputText" style="normal" x="1.3333333333332575" y="6.611111111111114" color="243,118,29"/><watcher var="outputText" style="normal" x="8.361111111111086" y="98.61111161111114" color="243,118,29" extX="80" extY="70"/><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="409"><costumes><list struct="atomic" id="410"></list></costumes><sounds><list struct="atomic" id="411"></list></sounds><blocks></blocks><variables></variables><scripts><script x="42" y="10"><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?</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></sprites></stage><variables><variable name="outputText"><list struct="atomic" id="482">jlqmam`_^</list></variable><variable name="inputText"><l>rtyuiuhgf</l></variable><variable name="shiftValue"><l>-8</l></variable></variables></scene></scenes></project><media name="U4L2-CaesarCipher" app="Snap! 10.5.1, https://snap.berkeley.edu" version="2"></media></snapdata>