<snapdata remixID="10038817"><project name="Lab 4.2 DN Capitalization" app="Snap! 9.0, 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.2 DN Capitalization"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Capitalization %&apos;input 1&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>name</l><block var="input 1"/><comment w="259.66666666666663" collapsed="true">Initialize variable name to input value</comment></block><block s="doSetVar"><l>number value</l><block s="reportDifference"><block s="reportUnicode"><block s="reportLetter"><l>1</l><block var="name"/></block></block><l>32</l></block><comment w="288.9654296875" collapsed="false">Take the 1st letter and change unicode to capitalization value</comment></block><block s="doSetVar"><l>first letter</l><block s="reportUnicodeAsLetter"><block var="number value"/></block></block><block s="doSetVar"><l>capitalized name</l><block s="reportJoinWords"><list><block var="first letter"/><custom-block s="all but first letter of %txt"><block var="name"/></custom-block></list></block><comment w="233.9999999999999" collapsed="true">Join capitalized 1st letter &amp; rest of word</comment></block><block s="doSayFor"><block var="capitalized name"/><l>2</l></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;ca:_ sense la primera lletra&#xD;es:todos menos la primera letra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><block s="reportCDR"><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></script></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.000001" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE➞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;ca:_ sense la primera paraula&#xD;es:todas menos la primera palabra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but first of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportCDR"><block var="sentence"/></block></block></script></block></script><list></list></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportCDR"><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but first of empty sentence.</l></custom-block></block></custom-block></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;ca:_ sense la darrera lletra&#xD;es:todos menos la última letra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></block></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;ca:_ sense la darrera paraula&#xD;es:todos menos la última palabra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block var="sentence"/></block></block></block></block></script></block></script><list></list></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but last of empty sentence.</l></custom-block></block></block></block></custom-block></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;ca:primera paraula de _&#xD;es:primera palabra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="sentence"/></block></block></script></block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>First of empty sentence.</l></custom-block></block></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;ca:primera lletra de _&#xD;es:última letra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><l>0</l></list></block><script><custom-block s="error %txt"><l>Last of empty word.</l></custom-block></script><list></list></block><block s="doReport"><block s="reportLetter"><block s="reportTextAttribute"><l><option>length</option></l><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;ca:darrera paraula de _&#xD;es:última palabra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>Last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><block var="sentence"/></block></block></script></block></script><list></list></block><block s="doReport"><block s="reportListItem"><l><option>last</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>Last of empty sentence.</l></custom-block></block></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;ca:paraula buida? _&#xD;es:¿palabra vacía? _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="empty word? %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><l>0</l></list></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;ca:frase buida? _&#xD;es:¿oración vacía? _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportListIsEmpty"><block var="sentence"/></block></block></script><list></list></block><block s="doReport"><block s="reportListIsEmpty"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block></block></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666666" collapsed="false">Like JOIN, takes any number of words (text strings) and reports a sentence with its inputs concatenated, but inserts a blank space between the inputs.&#xD;Consider using SENTENCE (Lists palette) instead.</comment><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 var="words"/></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doDeclareVariables"><list><l>first</l><l>bf</l></list></block><block s="doSetVar"><l>first</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="words"/></block><l><option>list</option></l></block><custom-block s="join words %mult%txt"><block s="reportListItem"><l>1</l><block var="words"/></block></custom-block><block s="reportListItem"><l>1</l><block var="words"/></block></block></block><block s="doSetVar"><l>bf</l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="bf"/></custom-block><script><block s="doReport"><block var="first"/></block></script><list></list></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="first"/></custom-block><script><block s="doReport"><block var="bf"/></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block var="first"/><l> </l><block var="bf"/></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><comment x="0" y="0" w="165.33333333333334" collapsed="false">Takes a sentence in list form and reports the sentence as a text string.</comment><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"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><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="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>word</option></l></block></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="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="word $arrowRight list %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><list></list></block><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="doIf"><block s="reportListIsEmpty"><block var="list"/></block><script><block s="doReport"><block var="list"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="list"/></block><l></l></list></block><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportNewList"><list><custom-block s="list $arrowRight word %l"><l/></custom-block></list></block><l></l></block></autolambda><list></list></block><block var="list"/></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;es:oración _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).</comment><header></header><code></code><translations>ca:notació textual de _&#xD;es:imprimible _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="require nonempty %&apos;text&apos; %&apos;message&apos;" type="reporter" category="operators" helper="true"><comment x="0" y="0" w="220" collapsed="false">Helper function for word/sentence library.&#xD;Reports its first input, unless that input is empty, in which case it gives its second input as an error message.</comment><header></header><code></code><translations>es:requerir no vacío _ _&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIfElse"><block s="reportIsA"><block var="text"/><l><option>list</option></l></block><block s="reportListIsEmpty"><block var="text"/></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block></block><script><custom-block s="error %txt"><block var="message"/></custom-block></script><script><block s="doReport"><block var="text"/></block></script></block></script></block-definition><block-definition s="first 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 first character in the string.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;ca:primera lletra de _&#xD;es:primera letra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><script><block s="doReport"><block s="reportLetter"><l>1</l><custom-block s="require nonempty %s %s"><block var="word"/><l>First of empty word.</l></custom-block></block></block></script></block></script></block-definition></blocks><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="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="719"><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="720"></list></costumes><sounds><list struct="atomic" id="721"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="1.6051543288998509" y="-3.114005341332668" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="726"><costumes><list struct="atomic" id="727"></list></costumes><sounds><list struct="atomic" id="728"></list></sounds><blocks></blocks><variables></variables><scripts><script x="19.666666666666668" y="43.888888888888914"><block s="reportUnicode"><l>D</l><comment w="358.3333333333333" collapsed="true">Unicode is the computer value used to identify characters</comment></block></script><script x="22.33333333333337" y="124.66666666666667"><custom-block s="Capitalization %s"><l>charlie</l><comment w="150" collapsed="true">Capitalize any word</comment></custom-block></script><script x="95.66666666666667" y="239.44444444444449"><block s="doSetVar"><l>noun</l><block s="reportNewList"><list><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></list></block></block></script><script x="89" y="289.6666666666667"><block s="doSetVar"><l>article</l><block s="reportNewList"><list><l>a</l><l>an</l><l>the</l></list></block></block></script><script x="94.33333333333333" y="333.22222222222223"><block s="doSetVar"><l>noun length</l><l>10</l></block></script><script x="181.66666666666666" y="401.22222222222223"><block s="reportRandom"><l>1</l><block var="noun length"/></block></script></scripts></sprite><watcher var="word" style="normal" x="1.819598043934528" y="1.8195980439362593" color="243,118,29" hidden="true"/><watcher var="number value" style="normal" x="8.85209859212281" y="53.14210000371994" color="243,118,29" hidden="true"/><watcher var="first letter" style="normal" x="7.27839217574531" y="26.16286917227289" color="243,118,29" hidden="true"/><watcher var="capitalized word" style="normal" x="10.999999999999956" y="163" color="243,118,29" hidden="true"/><watcher var="string word" style="normal" x="41.789135242952895" y="234.87203706760235" color="243,118,29" hidden="true"/><watcher var="name" style="normal" x="9.999999999999943" y="10.000000000000002" color="243,118,29" hidden="true"/><watcher var="capitalized name" style="normal" x="9.999999999999943" y="31.00000199999999" color="243,118,29" hidden="true"/><watcher var="noun" style="normal" x="7.361963190184048" y="7.361963190184048" color="243,118,29" extX="131" extY="310"/><watcher var="article" style="normal" x="129.57055214723925" y="11.41104441717791" color="243,118,29" extX="120" extY="105"/><watcher var="noun length" style="normal" x="7.361963190184048" y="259.14110576687114" color="243,118,29"/></sprites></stage><variables><variable name="first letter"><l>C</l></variable><variable name="number value"><l>67</l></variable><variable name="name"><l>charlie</l></variable><variable name="capitalized name"><l>Charlie</l></variable><variable name="noun"><list struct="atomic" id="778">,,,,,,,,</list></variable><variable name="article"><list struct="atomic" id="779">a,an,the</list></variable><variable name="noun length"><l>10</l></variable></variables></scene></scenes></project><media name="Lab 4.2 DN Capitalization" app="Snap! 9.0, https://snap.berkeley.edu" version="2"></media></snapdata>