<snapdata remixID="14976555"><project name="U4L2p2-CaesarCipher" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U4L2p2-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><block-definition s="Caesar encryption" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>alphabet</l><l>abcdefghijklmnopqrstuvwxyz</l></block><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><block s="doSetVar"><l>text</l><l></l></block><block s="doAsk"><l>Enter Message</l></block><block s="doSetVar"><l>counter</l><l>0</l></block><block s="doRepeat"><block s="reportTextAttribute"><l><option>length</option></l><block s="getLastAnswer"></block></block><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doSetVar"><l>go</l><l>0</l></block><block s="doSetVar"><l>letter counter</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="go"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="letter counter"/><l>26</l></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="counter"/><block s="getLastAnswer"></block></block><block s="reportLetter"><block var="letter counter"/><block var="alphabet"/></block></list></block><script><block s="doSetVar"><l>text</l><block s="reportJoinWords"><list><block var="text"/><block s="reportLetter"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="reportVariadicSum"><list><block var="letter counter"/><block s="reportDifference"><block var="shiftValue"/><l>1</l></block></list></block><l>26</l></block><l>1</l></list></block><block var="alphabet"/></block></list></block></block><block s="doSetVar"><l>go</l><l>1</l></block></script><list></list></block><block s="doChangeVar"><l>letter counter</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="go"/><l>0</l></list></block><script><block s="doSetVar"><l>text</l><block s="reportJoinWords"><list><block var="text"/><block s="reportLetter"><block var="counter"/><block s="getLastAnswer"></block></block></list></block></block></script><list></list></block></script></block><block s="doSetVar"><l>finished text</l><block var="text"/></block></script></block-definition><block-definition s="Caesar Decryption" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>alphabet</l><l>abcdefghijklmnopqrstuvwxyz</l></block><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><block s="doSetVar"><l>text</l><l></l></block><block s="doAsk"><l>Enter Message</l></block><block s="doSetVar"><l>counter</l><l>0</l></block><block s="doRepeat"><block s="reportTextAttribute"><l><option>length</option></l><block s="getLastAnswer"></block></block><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doSetVar"><l>go</l><l>0</l></block><block s="doSetVar"><l>letter counter</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="go"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="letter counter"/><l>26</l></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="counter"/><block s="getLastAnswer"></block></block><block s="reportLetter"><block var="letter counter"/><block var="alphabet"/></block></list></block><script><block s="doSetVar"><l>text</l><block s="reportJoinWords"><list><block var="text"/><block s="reportLetter"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="reportDifference"><block var="letter counter"/><block s="reportVariadicSum"><list><block var="shiftValue"/><l>1</l></list></block></block><l>26</l></block><l>1</l></list></block><block var="alphabet"/></block></list></block></block><block s="doSetVar"><l>go</l><l>1</l></block></script><list></list></block><block s="doChangeVar"><l>letter counter</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="go"/><l>0</l></list></block><script><block s="doSetVar"><l>text</l><block s="reportJoinWords"><list><block var="text"/><block s="reportLetter"><block var="counter"/><block s="getLastAnswer"></block></block></list></block></block></script><list></list></block></script></block><block s="doSetVar"><l>finished text</l><block var="text"/></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="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="663"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="664"></list></costumes><sounds><list struct="atomic" id="665"></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="1" color="80,80,80,1" pen="tip" id="670"><costumes><list id="671"><item><ref mediaID="U4L2p2-CaesarCipher_Sprite_cst_Caesar2"></ref></item></list></costumes><sounds><list struct="atomic" id="672"></list></sounds><blocks></blocks><variables></variables><scripts><script x="91" y="147"><block s="receiveGo"></block><block s="doSetVar"><l>finished text</l><l>0</l></block><custom-block s="Caesar encryption"></custom-block><custom-block s="Caesar Decryption"></custom-block></script></scripts></sprite><watcher var="shiftValue" style="normal" x="1" y="50.999999999999986" color="243,118,29" hidden="true"/><watcher var="outputText" style="normal" x="8.361111111111086" y="98.61111161111114" color="243,118,29" hidden="true"/><watcher var="counter" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="letter counter" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="go" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="alphabet" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher var="finished text" style="normal" x="9" y="21.00000799999998" color="243,118,29"/><watcher var="decryption text" style="normal" x="10" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher var="text" style="normal" x="10" y="115.00000999999997" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="outputText"><l></l></variable><variable name="shiftValue"><l>5</l></variable><variable name="counter"><l>5</l></variable><variable name="letter counter"><l>7</l></variable><variable name="go"><l>1</l></variable><variable name="alphabet"><l>abcdefghijklmnopqrstuvwxyz</l></variable><variable name="finished text"><l>bubba</l></variable><variable name="encryption message"><l>0</l></variable><variable name="decryption text"><l>0</l></variable><variable name="text"><l>bubba</l></variable></variables></scene></scenes></project><media name="U4L2p2-CaesarCipher" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><costume name="Caesar2" center-x="8" center-y="5.75" image="data:image/png;base64,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" mediaID="U4L2p2-CaesarCipher_Sprite_cst_Caesar2"/></media></snapdata>