<snapdata remixID="11095274"><project name="Lab 4.3 Starter" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Lab 4.3 Starter"><notes></notes><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="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="doRepeat"><block s="reportListAttribute"><l><option>length</option></l><block var="List of numbers"/></block><script><block s="doReport"><custom-block s="Sum of %l"><block s="reportSum"><l>0</l><block var="numbers"/></block></custom-block></block></script></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 code 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></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><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" id="933"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="934"></list></costumes><sounds><list struct="atomic" id="935"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-100" y="40" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="940"><costumes><list struct="atomic" id="941"></list></costumes><sounds><list struct="atomic" id="942"></list></sounds><blocks></blocks><variables></variables><scripts><script x="441.51640725000016" y="640.661813023622"><custom-block s="list $arrowRight sentence %l"><custom-block s="only evens %l"><block var="numbers"/></custom-block></custom-block></script><script x="85.46751968503935" y="30.000000000000007"><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></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="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><comment x="447.5065821850394" y="469.2381889763778" 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></scripts></sprite><watcher var="numbers" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="numbers"><list struct="atomic" id="1061">89,67,5,90,-2,0,190,8</list></variable></variables></scene></scenes></project><media name="Lab 4.3 Starter" app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>