<snapdata remixID="9293295"><project name="5.2 Cybersecurity: Caesar Cipher" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAC99JREFUeAHt0DEBAAAAwqD1T20MH4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBj4DAyN/gABHhb3AgAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="62.40431266846326" y="60.08086253369271" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="76" y="22.99999999999997"><block s="doDeclareVariables"><list><l>a</l></list></block></script><script x="24" y="10"><block s="receiveGo"></block><block s="doSayFor"><l>Hello I will tell you the unicode characters for your name.</l><l>2</l></block><block s="doAsk"><l>what&apos;s your name?</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportStringSize"><block s="getLastAnswer"></block></block><script><block s="doSayFor"><custom-block s="join words %mult%txt"><list><block s="reportLetter"><block var="i"/><block s="getLastAnswer"></block></block><l>is</l><block s="reportUnicode"><block s="reportLetter"><block var="i"/><block s="getLastAnswer"></block></block></block></list></custom-block><l>2</l></block></script></block></script><script x="64" y="385.000003"><block s="receiveGo"></block><block s="doSetVar"><l>encoded message</l><l>0</l></block><block s="doSetVar"><l>decoded message</l><l>0</l></block><block s="doSetVar"><l>answer 1</l><l>0</l></block><block s="doSetVar"><l>answer 2</l><l>0</l></block><block s="doAsk"><l>do you want to encode or decode your message?</l></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>encode</l></block><script><custom-block s="encoded message"></custom-block></script></block><block s="doIf"><block s="reportEquals"><block s="getLastAnswer"></block><l>decode</l></block><script><custom-block s="decoded message"></custom-block></script></block></script><script x="414" y="334"><block s="receiveGo"></block><block s="doSetVar"><l>encoded message</l><block s="reportNewList"><list></list></block></block><block s="doAsk"><l>what word do you want to encode?</l></block><block s="doForEach"><l>letter</l><block s="reportTextSplit"><block s="getLastAnswer"></block><l><option>letter</option></l></block><script><block s="doAddToList"><custom-block s="shift letter %s number %s spaces"><block var="letter"/><l>2</l></custom-block><block var="encoded message"/></block></script></block><block s="doSayFor"><custom-block s="list $arrowRight sentence %l"><block var="encoded message"/></custom-block><l>4</l></block></script><script x="10" y="201"><block s="receiveGo"></block><block s="doSetVar"><l>decoded message</l><block s="reportNewList"><list></list></block></block><block s="doAsk"><l>what word do you want to decode?</l></block><block s="doForEach"><l>letter</l><block s="reportTextSplit"><block s="getLastAnswer"></block><l><option>letter</option></l></block><script><block s="doAddToList"><custom-block s="shift letter %s number %s spaces"><block var="letter"/><l>-2</l></custom-block><block var="decoded message"/></block></script></block><block s="doSayFor"><custom-block s="list $arrowRight sentence %l"><block var="decoded message"/></custom-block><l>4</l></block></script><script x="508.5498056875" y="123.000001"><custom-block s="shift letter: %s number of spaces: %s"><l></l><l></l></custom-block></script></scripts></sprite><watcher var="encoded message" style="normal" x="7.72916666666697" y="56.42292130416669" color="243,118,29"/><watcher var="answer 1" style="normal" x="7.72916666666697" y="72.65417285000002" color="243,118,29"/><watcher var="answer 2" style="normal" x="7.72916666666697" y="88.88542439583331" color="243,118,29"/><watcher var="decoded message" style="normal" x="7.72916666666697" y="105.11667594166676" color="243,118,29" extX="80" extY="70"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="shift letter %&apos;letter&apos; number %&apos;number&apos; spaces" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block></block></block></script></block-definition><block-definition s="output" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations>pt:_ sem o primeiro caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportGreaterThan"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.000001" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a primeira palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bf</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bf</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportGreaterThan"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doSetVar"><l>bf</l><block s="reportJoinWords"><list><block var="bf"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block var="bf"/></block></script></block></script></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportEquals"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a última palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bl</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bl</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><l>1</l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportLessThan"><block var="index"/><l>1</l></block><script><block s="doSetVar"><l>bl</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="bl"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doReport"><block var="bl"/></block></script></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>first</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>first</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block></script></block><block s="doReport"><block var="first"/></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a última palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>last</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>last</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block></script></block><block s="doReport"><block var="last"/></block></script></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportStringSize"><block var="word"/></block><l>0</l></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations>pt:a frase _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;pt:uma frase com as palavras _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;pt:uma frase com as palavras em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="146.42857142857144" collapsed="false">report a list in which each item is one letter from the input word</comment><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;pt:uma lista com os caracteres da palavra _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><comment x="0" y="0" w="158.57142857142858" collapsed="false">join all the items of the input list&#xD;into a single word, and report it</comment><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;pt:uma palavra com os caracteres em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="encoded message" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>encoded message</l><block s="reportNewList"><list></list></block></block><block s="doAsk"><l>what do you want to encode?</l></block><block s="doSetVar"><l>answer 1</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>what would you want to shift by?</l></block><block s="doSetVar"><l>answer 2</l><block s="getLastAnswer"></block></block><block s="doForEach"><l>letter</l><block s="reportTextSplit"><block var="answer 1"/><l><option>letter</option></l></block><script><block s="doAddToList"><custom-block s="shift letter %s number %s spaces"><block var="letter"/><block var="answer 2"/></custom-block><block var="encoded message"/></block></script></block><block s="doSayFor"><custom-block s="list $arrowRight word %l"><block var="encoded message"/></custom-block><l>10</l></block></script></block-definition><block-definition s="shift letter: %&apos;letter&apos; number of spaces: %&apos;number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportNot"><block s="reportAnd"><block s="reportLessThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block><l>123</l></block><block s="reportGreaterThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block><l>96</l></block></block></block><block s="reportNot"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block><l>64</l></block><block s="reportLessThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block><l>91</l></block></block></block></block><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block><l>26</l></block></block></block></script><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="number"/></block></block></block></script></block></script></block-definition><block-definition s="decoded message" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>decoded message</l><block s="reportNewList"><list></list></block></block><block s="doAsk"><l>what would you like to decode?</l></block><block s="doSetVar"><l>answer 1</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>what negative number would you like to shift by?</l></block><block s="doSetVar"><l>answer 2</l><block s="getLastAnswer"></block></block><block s="doForEach"><l>letter</l><block s="reportTextSplit"><block var="answer 1"/><l><option>letter</option></l></block><script><block s="doAddToList"><custom-block s="shift letter %s number %s spaces"><block var="letter"/><block var="answer 2"/></custom-block><block var="decoded message"/></block></script></block><block s="doSayFor"><custom-block s="list $arrowRight word %l"><block var="decoded message"/></custom-block><l>10</l></block></script></block-definition></blocks><variables><variable name="encoded message"><l>0</l></variable><variable name="answer 1"><l>olivia</l></variable><variable name="answer 2"><l>-3</l></variable><variable name="decoded message"><list struct="atomic" id="1204">l,i,f,s,f,^</list></variable></variables></project><media name="5.2 Cybersecurity: Caesar Cipher" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>