<snapdata remixID="9292654"><project name="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,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="120.01953125" 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="663.2529306875" y="60.00000399999993"><block s="reportProduct"><l></l><l>2</l></block></script><script x="682.228516625" y="104.000002"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></script><script x="34" y="10"><block s="receiveGo"></block><block s="doAsk"><l>Would you like to encode or decode a message?</l></block><block s="doIfElse"><block s="reportEquals"><block s="getLastAnswer"></block><l>encode</l></block><script><block s="doAsk"><l>What word?</l></block><block s="doSetVar"><l>input</l><block s="getLastAnswer"></block></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="doAsk"><l>How much do you want it to be shifted?</l></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="encode one letter: %s shift %s"><block var="letter"/><block s="getLastAnswer"></block></custom-block><block var="output list"/></block></script></block><block s="doSetVar"><l>output list</l><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="output list"/></list></block><l>2</l></block></script><script><block s="doAsk"><l>What word?</l></block><block s="doSetVar"><l>input</l><block s="getLastAnswer"></block></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="doAsk"><l>How much do you want it to be shifted?</l></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="decode one letter: %s shift %s"><block var="letter"/><block s="getLastAnswer"></block></custom-block><block var="output list"/></block></script></block><block s="doSetVar"><l>output list</l><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="output list"/></list></block><l>2</l></block></script></block></script><script x="382" y="16"><block s="receiveKey"><l><option>space</option></l></block><block s="clear"></block></script></scripts></sprite><watcher var="input" style="normal" x="10" y="10" color="243,118,29"/><watcher var="input list" style="normal" x="7" y="124.000002" color="243,118,29" extX="80" extY="70"/><watcher var="message" style="normal" x="10" y="86.00000799999998" color="243,118,29"/><watcher var="output list" style="normal" x="6" y="34.00000399999999" color="243,118,29"/><watcher var="letter" style="normal" x="6" y="60.000005999999985" color="243,118,29"/></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"><l>65</l></block></block></script></block-definition><block-definition s="letter" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="encode one letter: %&apos;letter&apos; 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="decode one letter: %&apos;letter&apos; 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="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script></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="encode a message: %&apos;message&apos; 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"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="encode one letter: %s shift %s"><l></l><block var="shift"/></custom-block></autolambda><list></list></block><custom-block s="word $arrowRight list %txt"><block var="message"/></custom-block></block></custom-block></block></script></block-definition><block-definition s="decode a message: %&apos;message&apos; 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"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="decode one letter: %s shift %s"><l></l><block var="shift"/></custom-block></autolambda><list></list></block><custom-block s="word $arrowRight list %txt"><block var="message"/></custom-block></block></custom-block></block></script></block-definition></blocks><variables><variable name="input"><l>Z</l></variable><variable name="input list"><list struct="atomic" id="1090">Z</list></variable><variable name="output list"><l>]</l></variable><variable name="letter"><l>0</l></variable><variable name="message"><l>0</l></variable></variables></project><media name="Caesar Cipher" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>