<snapdata remixID="10029006"><project name="Lab 4.3: Number Cruncher" app="Snap! 6, https://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" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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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><watcher var="numbers" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><sprite name="Sprite" idx="1" x="-14.23046875" 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="9"><costumes><list struct="atomic" id="10"></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables></variables><scripts><script x="57" y="45.51181102362227"><custom-block s="Sum of %l"><block var="numbers"/></custom-block></script><script x="396.2067774975393" y="26.333333333333258"><block s="reportJoinWords"><list><l>Only evens</l><custom-block s="only evens %l"><block var="numbers"/></custom-block></list></block></script><script x="47" y="101.5118110236223"><custom-block s="Average of %l"><block var="numbers"/></custom-block></script><script x="10" y="155.5118110236223"><custom-block s="includes negative? %l"><block var="numbers"/></custom-block></script><script x="223.8425196850393" 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>89</l><l>67</l><l>5</l><l>90</l><l>-2</l><l>0</l><l>190</l><l>8</l></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><comment w="144.0000000000001" collapsed="true">You will have to write further code here to make the returned list elements display in a more readable way.[Hint: loop and a variable to join all the list elements, or list-&gt;sentence from words, sentences library].[Optional]</comment></block><l>12</l></block><block s="gotoXY"><l>-100</l><l>-80</l></block><block s="write"><custom-block s="list $arrowRight sentence %l"><custom-block s="only evens %l"><block var="numbers"/></custom-block></custom-block><l>12</l><comment w="159.19999999999993" collapsed="true">You will have to write further code here to make the returned list elements display in a more readable way.[Hint: loop and a variable to join all the list elements, or list-&gt;sentence from words, sentences library].[Optional].</comment></block></script><script x="719" y="22.84514435695553"><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>8</l></block><block var="numbers"/></block></script><script x="20" y="200.5118110236223"><custom-block s="is increasing? %l"><block var="numbers"/></custom-block></script><script x="26" y="254.5118110236223"><custom-block s="Maximum of %l"><block var="numbers"/></custom-block></script><script x="19" y="312.5118110236223"><custom-block s="make all positive %l"><block var="numbers"/></custom-block></script><script x="731" y="82.66666666666666"><block s="doSetVar"><l>numbers</l><block s="reportNewList"><list><l>89</l><l>67</l><l>5</l><l>90</l><l>-2</l><l>0</l><l>190</l><l>8</l></list></block></block></script><script x="62" y="354.5118110236223"><custom-block s="only evens %l"><block var="numbers"/></custom-block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Sum of %&apos;List of numbers&apos;" type="reporter" category="lists"><comment w="90" collapsed="true">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="doReport"><block s="reportSum"><block s="reportListItem"><l>1</l><block var="numbers"/></block><block s="reportSum"><block s="reportListItem"><l>2</l><block var="numbers"/></block><block s="reportSum"><block s="reportListItem"><l>3</l><block var="numbers"/></block><block s="reportSum"><block s="reportListItem"><l>4</l><block var="numbers"/></block><block s="reportSum"><block s="reportListItem"><l>5</l><block var="numbers"/></block><block s="reportSum"><block s="reportListItem"><l>6</l><block var="numbers"/></block><block s="reportSum"><block s="reportListItem"><l>7</l><block var="numbers"/></block><block s="reportListItem"><l>8</l><block var="numbers"/></block></block></block></block></block></block></block></block><comment w="90" collapsed="true">Reports the sum of all the numbers in the list. </comment></block></script></block-definition><block-definition s="Average of %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment w="90" collapsed="true">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><comment w="90" collapsed="true">Reports the average of all the numbers in the list. </comment></block></script></block-definition><block-definition s="includes negative? %&apos;List of Numbers&apos;" type="predicate" category="lists"><comment w="90" collapsed="true">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="doIfElse"><block s="reportLessThan"><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>8</l></block><block var="numbers"/></block><l>-1</l><comment w="90" collapsed="true">Reports true if the list contains at least one negative number.</comment></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><comment w="90" collapsed="true">And false if all numbers are non-negative.</comment></block></block></script></block></script></block-definition><block-definition s="is increasing? %&apos;List of Numbers&apos;" type="predicate" category="lists"><comment w="90" collapsed="true">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="doIfElse"><block s="reportAnd"><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>1</l><block var="numbers"/></block><block s="reportListItem"><l>2</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="numbers"/></block><block s="reportListItem"><l>2</l><block var="numbers"/></block></block></block><block s="reportAnd"><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>2</l><block var="numbers"/></block><block s="reportListItem"><l>3</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="numbers"/></block><block s="reportListItem"><l>3</l><block var="numbers"/></block></block></block><block s="reportAnd"><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>3</l><block var="numbers"/></block><block s="reportListItem"><l>4</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="numbers"/></block><block s="reportListItem"><l>4</l><block var="numbers"/></block></block></block><block s="reportAnd"><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>4</l><block var="numbers"/></block><block s="reportListItem"><l>5</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="numbers"/></block><block s="reportListItem"><l>5</l><block var="numbers"/></block></block></block><block s="reportAnd"><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>5</l><block var="numbers"/></block><block s="reportListItem"><l>6</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="numbers"/></block><block s="reportListItem"><l>6</l><block var="numbers"/></block></block></block><block s="reportAnd"><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>6</l><block var="numbers"/></block><block s="reportListItem"><l>7</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>6</l><block var="numbers"/></block><block s="reportListItem"><l>7</l><block var="numbers"/></block></block></block><block s="reportOr"><block s="reportGreaterThan"><block s="reportListItem"><l>7</l><block var="numbers"/></block><block s="reportListItem"><l>8</l><block var="numbers"/></block></block><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="numbers"/></block><block s="reportListItem"><l>8</l><block var="numbers"/></block></block></block></block></block></block></block></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><comment w="90" collapsed="true">Reports true if each value in the list is greater than or equal to the one before it.[1.5 tps]</comment></block></script></block-definition><block-definition s="Maximum of %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment w="90" collapsed="true">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="doRepeat"><block s="reportListLength"><block var="numbers"/></block><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>8</l></block><block var="numbers"/></block><l>100</l><comment w="90" collapsed="true">Reports the largest number in the list.</comment></block><script><block s="doReport"><block s="reportListItem"><l>7</l><block var="numbers"/></block><comment w="90" collapsed="true">I am stumped.</comment></block></script></block></script></block></script></block-definition><block-definition s="make all positive %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment w="90" collapsed="true">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="doReport"><block s="reportMonadic"><l><option>abs</option></l><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>8</l></block><block var="numbers"/></block></block></block></script></block-definition><block-definition s="only evens %&apos;List of Numbers&apos;" type="reporter" category="lists"><comment w="90" collapsed="true">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="doRepeat"><block s="reportListLength"><block var="numbers"/></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>1</l><block var="numbers"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>2</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>2</l><block var="numbers"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>3</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>3</l><block var="numbers"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>4</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>4</l><block var="numbers"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>5</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>5</l><block var="numbers"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>6</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>6</l><block var="numbers"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>7</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>7</l><block var="numbers"/></block></script><script><block s="doIf"><block s="reportEquals"><block s="reportModulus"><block s="reportListItem"><l>8</l><block var="numbers"/></block><l>2</l></block><l>1</l></block><script><block s="doDeleteFromList"><l>8</l><block var="numbers"/></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script><comment w="90" collapsed="true">Write a custom SNAP reporter block called &quot;only evens&quot; that takes a list of integers as an argument and reports a new LIST that contains only the even numbers from the argument list. The result list should have its values in the same order as the original list, but with the odd integers removed. (Remember that &quot;mod&quot; block can be useful in determining whether or not a number is even.)</comment></block><block s="doReport"><block var="List of Numbers"/></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="1509">90,-2,0,190,8</list></variable></variables></project><media name="Lab 4.3: Number Cruncher" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>