<snapdata remixID="9292482"><project name=" U4L3P3&#xD;5.2 Cybersecurity: Caesar Cipher&#xD;" 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</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="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="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="41" y="17.200000000000102"><block s="reportUnicode"><l>m</l></block></script><script x="10" y="129.20000000000005"><custom-block s="shift word %s by shift %s"><l>riyah</l><l>2</l></custom-block></script><script x="463.9951181875" y="27.80000000000001"><block s="doUntil"><l/><script></script></block></script><script x="43.9951181875" y="201"><custom-block s="Shift sentence %s by shift %s"><l>Riyah</l><l>2</l></custom-block></script><script x="70.990236375" y="371.80000100000007"><block s="reportEquals"><block var="input list"/><block var="output list"/></block></script></scripts></sprite><watcher var="word" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="shift" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="input" style="normal" x="10" y="52.00000399999999" color="243,118,29"/><watcher var="output" style="normal" x="10" y="73.00000599999998" color="243,118,29"/><watcher var="input list" style="normal" x="156" y="20.00000799999998" color="243,118,29" extX="80" extY="70"/><watcher var="output list" style="normal" x="63" y="142.00000999999997" 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; by shift %&apos;shift&apos;" 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="shift"/></block></block></block></script></block-definition><block-definition s="shift word %&apos;word&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></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="Shift sentence %&apos;sentence&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>input</l><block var="sentence"/></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="shift letter %s by shift %s"><block var="letter"/><l>1</l></custom-block><block var="output list"/></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block></script></block-definition></blocks><variables><variable name="word"><l>0</l></variable><variable name="shift"><l>0</l></variable><variable name="input"><l>Riyah</l></variable><variable name="output"><l>0</l></variable><variable name="input list"><list struct="atomic" id="967">R,i,y,a,h</list></variable><variable name="output list"><list struct="atomic" id="968">S,j,z,b,i</list></variable></variables></project><media name=" U4L3P3
5.2 Cybersecurity: Caesar Cipher
" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>