<snapdata remixID="9407200"><project name="Lab 4.3 " 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAgAElEQVR4Xu3dDXKkOLYG0JyV1fQOvKPXs6PaQU+tbF6IQMRFyY/AaV9In4roiO7OBElHMh8SlPWvhz8ECBAgQIDAtwv869tLVCABAgQIECDwEMAGAQECBAgQSBAQwAnoiiRAgAABAgLYGCBAgAABAgkCAjgBXZEECBAgQEAAGwMECBAgQCBBQAAnoCuSAAECBAgIYGOAAAECBAgkCAjgBHRFEiBAgAABAWwMECBAgACBBAEBnICuSAIECBAgIICNAQIECBAgkCAggBPQFUmAAAECBASwMUCAAAECBBIEBHACuiIJECBAgIAANgYIECBAgECCgABOQFckAQIECBAQwMYAAQIECBBIEBDACeiKJECAAAECAtgYIECAAAECCQICOAFdkQQIECBAQAAbAwQIECBAIEFAACegK5IAAQIECAhgY4AAAQIECCQICOAEdEUSIECAAAEBbAwQIECAAIEEAQGcgK5IAgQIECAggI0BAgQIECCQICCAE9AVSYAAAQIEBLAxQIAAAQIEEgQEcAK6IgkQIECAgAA2BggQIECAQIKAAE5AVyQBAgQIEBDAxgABAgQIEEgQEMAJ6IokQIAAAQIC2BggQIAAAQIJAgI4AV2RBAgQIEBAABsDBAgQIEAgQUAAJ6ArkgABAgQICGBjgAABAgQIJAgI4AR0RRIgQIAAAQFsDBAgQIAAgQQBAZyArkgCBAgQICCAjQECBAgQIJAgIIAT0BVJgAABAgQEsDFAgAABAgQSBARwAroiCRAgQICAADYGCBAgQIBAgoAATkBXJAECBAgQEMDGAAECBAgQSBAQwAnoiiRAgAABAgLYGCBAgAABAgkCAjgBXZEECBAgQEAAGwMECBAgQCBBQAAnoCuSAAECBAgIYGOAAAECBAgkCAjgBHRFEiBAgAABAWwMECBAgACBBAEBnICuSAIECBAgIICNAQIECBAgkCAggBPQFUmAAAECBASwMUCAAAECBBIEBHACuiIJECBAgIAANgYIECBAgECCgABOQFckAQIECBAQwMYAAQIECBBIEBDACeiKJECAAAECAtgYIECAAAECCQICOAFdkQQIECBAQAAbAwQIECBAIEFAACegK5IAAQIECAhgY4AAAQIECCQICOAEdEUSIECAAAEBbAwQ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</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="54" y="-80" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="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="55.84251968503929" y="10"><block s="receiveGo"></block><block s="clear"></block><block s="hide"></block><block s="up"></block><block s="gotoXY"><l>-100</l><l>40</l></block><block s="doSetVar"><l>numbers</l><block s="reportNewList"><list><l>1</l><l>9</l><l>4</l><l>6</l><l>9</l><l>54</l><l>190</l><l>215</l></list></block></block><block s="doSetVar"><l>positive numbers</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>even numbers</l><block s="reportNewList"><list></list></block></block><block s="write"><block s="reportJoinWords"><list><l>Sum of Numbers : </l><custom-block s="Sum of %l"><block var="numbers"/></custom-block></list></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>20</l></block><block s="write"><block s="reportJoinWords"><list><l>Average of Numbers : </l><custom-block s="Average of %l"><block var="numbers"/></custom-block></list></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>0</l></block><block s="write"><block s="reportJoinWords"><list><l>Includes negatives? </l><custom-block s="includes negative? %l"><block var="numbers"/></custom-block></list></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>-20</l></block><block s="write"><block s="reportJoinWords"><list><l>Is increasing? </l><custom-block s="is increasing? %l"><block var="numbers"/></custom-block></list></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>-40</l></block><block s="write"><block s="reportJoinWords"><list><l>Maximum of </l><custom-block s="Maximum of %l"><block var="numbers"/></custom-block></list></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>-60</l></block><block s="write"><block s="reportJoinWords"><list><l>Make all positive </l><custom-block s="make all positive %l"><block var="numbers"/></custom-block></list></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>-80</l></block><block s="write"><block s="reportJoinWords"><list><l>Only evens</l><custom-block s="only evens %l"><block var="numbers"/></custom-block></list></block><l>12</l></block></script></scripts></sprite><watcher var="numbers" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="sum" style="normal" x="10" y="103.000002" color="243,118,29" hidden="true"/><watcher var="negatives" style="normal" x="10" y="124.00000399999999" color="243,118,29" hidden="true"/><watcher var="increasing" style="normal" x="10" y="145.00000599999998" color="243,118,29" hidden="true"/><watcher var="max" style="normal" x="10" y="166.00000799999998" color="243,118,29" hidden="true"/><watcher var="positive numbers" style="normal" x="10" y="187.00001" color="243,118,29" hidden="true"/><watcher var="positive input" style="normal" x="10" y="280.00001199999997" color="243,118,29" hidden="true"/><watcher var="even numbers" style="normal" x="10" y="301.00001399999996" color="243,118,29" hidden="true"/><watcher var="even imput" style="normal" x="10" y="322.00001599999996" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Sum of %&apos;List of numbers&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">add code here to report the sum of all the numbers in the list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doForEach"><l>item</l><block var="numbers"/><script><block s="doSetVar"><l>sum</l><block s="reportSum"><block var="sum"/><block var="item"/></block></block></script></block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="Average of %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">add code to report the average of all the numbers in the list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportQuotient"><custom-block s="Sum of %l"><block var="numbers"/></custom-block><block s="reportListLength"><block var="numbers"/></block></block></block></script></block-definition><block-definition s="includes negative? %&apos;List of Numbers&apos;" type="predicate" category="lists"><comment x="0" y="0" w="90" collapsed="false">add to report true if the list contains at least one negative number, and false if all numbers are non-negative.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doForEach"><l>item</l><block var="numbers"/><script><block s="doIfElse"><block s="reportLessThan"><block var="item"/><l>0</l></block><script><block s="doChangeVar"><l>negatives</l><l>1</l></block></script><script><block s="doChangeVar"><l>negatives</l><l>0</l></block></script></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block var="negatives"/><l>0</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="is increasing? %&apos;List of Numbers&apos;" type="predicate" category="lists"><comment x="0" y="0" w="90" collapsed="false">add code to report true if each value in the list is greater than or equal to the one before it..</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>increasing</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="numbers"/></block><script><block s="doIfElse"><block s="reportOr"><block s="reportEquals"><block s="reportListItem"><block s="reportDifference"><block var="i"/><l>1</l></block><block var="numbers"/></block><block s="reportListItem"><block var="i"/><block var="numbers"/></block></block><block s="reportLessThan"><block s="reportListItem"><block s="reportDifference"><block var="i"/><l>1</l></block><block var="numbers"/></block><block s="reportListItem"><block var="i"/><block var="numbers"/></block></block></block><script><block s="doChangeVar"><l>increasing</l><l>1</l></block></script><script><block s="doChangeVar"><l>increasing</l><l>0</l></block></script></block></script></block><block s="doIfElse"><block s="reportEquals"><block var="increasing"/><block s="reportListLength"><block var="numbers"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Maximum of %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">add code to report the largest number in the list..</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>max</l><block s="reportListItem"><l>1</l><block var="numbers"/></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="numbers"/></block><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListItem"><block var="i"/><block var="numbers"/></block><block var="max"/></block><script><block s="doSetVar"><l>max</l><block s="reportListItem"><block var="i"/><block var="numbers"/></block></block></script></block></script></block><block s="doReport"><block var="max"/></block></script></block-definition><block-definition s="make all positive %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment w="90" collapsed="false">add code to report a new LIST that is the same as the argument, except all negative numbers have been replaced by their absolute value. .</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="numbers"/></block><script><block s="doInsertInList"><block s="reportIfElse"><block s="reportLessThan"><block s="reportListItem"><block var="i"/><block var="numbers"/></block><l>0</l></block><block s="reportProduct"><block s="reportListItem"><block var="i"/><block var="numbers"/></block><l>-1</l></block><block s="reportListItem"><block var="i"/><block var="numbers"/></block></block><block var="i"/><block var="positive numbers"/></block></script></block><block s="doSetVar"><l>positive input</l><l> </l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="positive numbers"/></block><script><block s="doSetVar"><l>positive input</l><block s="reportJoinWords"><list><block var="positive input"/><l> </l><block s="reportListItem"><block var="i"/><block var="positive numbers"/></block></list></block></block></script></block><block s="doReport"><block var="positive input"/></block></script></block-definition><block-definition s="only evens %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">add code to report a new LIST that contains only the even numbers from the argument list..</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="numbers"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><block var="i"/><block var="numbers"/></block><l>2</l></block><l>0</l></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="numbers"/></block><block var="even numbers"/></block></script></block></script></block><block s="doSetVar"><l>even imput</l><l> </l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="even numbers"/></block><script><block s="doSetVar"><l>even imput</l><block s="reportJoinWords"><list><block var="even imput"/><l> </l><block s="reportListItem"><block var="i"/><block var="even numbers"/></block></list></block></block></script></block><block s="doReport"><block var="even imput"/></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.00000099999997" 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.00000000000003" 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.00000000000003" 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></blocks><variables><variable name="numbers"><list struct="atomic" id="1319">1,9,4,6,9,54,190,215</list></variable><variable name="sum"><l>488</l></variable><variable name="negatives"><l>7</l></variable><variable name="increasing"><l>7</l></variable><variable name="max"><l>215</l></variable><variable name="positive numbers"><list struct="atomic" id="1320">1,9,4,6,9,54,190,215</list></variable><variable name="positive input"><l>  1 9 4 6 9 54 190 215</l></variable><variable name="even numbers"><list struct="atomic" id="1321">4,6,54,190</list></variable><variable name="even imput"><l>  4 6 54 190</l></variable></variables></project><media name="Lab 4.3 " app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>