<snapdata remixID="9406334"><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,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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="-100" y="20" 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="441.51640725000004" y="624.9118130236221"><custom-block s="list $arrowRight sentence %l"><custom-block s="only evens %l"><block var="numbers"/></custom-block></custom-block></script><script x="31.842519685039292" 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="doSayFor"><l>what is sum</l><l>2</l></block><block s="doBroadcast"><l>sum</l></block><block s="doWait"><l>3</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="doSayFor"><l>What is average</l><l>2</l></block><block s="doBroadcast"><l>average</l></block><block s="doWait"><l>3</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="doSayFor"><l>Includes negative?</l><l>2</l></block><block s="doBroadcast"><l>negative</l></block><block s="doWait"><l>3</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="doSayFor"><l>Increasing?</l><l>2</l></block><block s="doBroadcast"><l>increase</l></block><block s="doWait"><l>3</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="doSayFor"><l>What is max?</l><l>2</l></block><block s="doBroadcast"><l>max</l></block><block s="doWait"><l>3</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><comment w="530" collapsed="false">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><block s="gotoXY"><l>-100</l><l>-80</l></block><block s="doWait"><l>1</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><comment w="433.2" collapsed="false">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></scripts></sprite><watcher var="numbers" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><sprite name="Sprite(2)" idx="2" x="-58" y="73" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="226.95000000000002,0,149.78700000000003,1" pen="tip" id="165"><costumes><list struct="atomic" id="166"></list></costumes><sounds><list struct="atomic" id="167"></list></sounds><blocks></blocks><variables></variables><scripts><script x="33" y="10"><block s="receiveMessage"><l>sum</l></block><block s="doSayFor"><block s="reportJoinWords"><list><l>sum is </l><block s="reportSum"><block s="reportSum"><block s="reportSum"><l>89</l><l>67</l></block><block s="reportSum"><l>5</l><l>90</l></block></block><block s="reportSum"><block s="reportSum"><l>-2</l><l>0</l></block><block s="reportSum"><l>190</l><l>8</l></block></block></block></list></block><l>2</l></block></script><script x="17" y="167"><block s="receiveMessage"><l>average</l></block><block s="doSayFor"><block s="reportJoinWords"><list><l>average is </l><block s="reportQuotient"><block s="reportSum"><block s="reportSum"><block s="reportSum"><l>89</l><l>67</l></block><block s="reportSum"><l>5</l><l>90</l></block></block><block s="reportSum"><block s="reportSum"><l>-2</l><l>0</l></block><block s="reportSum"><l>190</l><l>8</l></block></block></block><l>8</l></block></list></block><l>2</l></block></script><script x="43" y="352"><block s="receiveMessage"><l>negative</l></block><block s="doSayFor"><l>Yes, -2 is negative</l><l>2</l></block></script><script x="303" y="364"><block s="receiveMessage"><l>increase</l></block><block s="doSayFor"><l>Not increasing</l><l>2</l></block></script><script x="48" y="450"><block s="receiveMessage"><l>max</l></block><block s="doSayFor"><l>Maximum is 190</l><l>2</l></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 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="doReport"><l>Not implemented</l></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"><l>Not Implemented</l></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="doReport"><l>Not implemented</l></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="doReport"><l>Not implemented</l></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="doReport"><l>Not implemented</l></block></script></block-definition><block-definition s="make all positive %&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 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"><l>Not implemented</l></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="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="1169">89,67,5,90,-2,0,190,8</list></variable></variables></project><media name="Lab 4.3 " app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>