<snapdata remixID="8814734"><project name="Lab 3.4 If My Calculations Are Correct" app="Snap! 5.1, 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" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</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="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="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="30" y="30"><block s="receiveGo"></block><block s="doSetVar"><l>Number of passing tests</l><l>0</l></block><block s="doSetVar"><l>Number of failing tests</l><l>0</l></block><custom-block s="test min block"></custom-block><custom-block s="test max block"></custom-block><custom-block s="test between block"></custom-block><custom-block s="test min letter count block"></custom-block><custom-block s="test distance to block"></custom-block><custom-block s="test contains letter block"></custom-block><block s="bubble"><block s="reportJoinWords"><list><l>Tests completed with </l><block var="Number of passing tests"/><l> passing and </l><block var="Number of failing tests"/><l> failing.</l></list></block></block></script><script x="258" y="415"><custom-block s="min %n %n"><l>6</l><l>5</l></custom-block></script><script x="43" y="431"><custom-block s="%txt contains letter %s ?"><l>CRIC</l><l>C</l></custom-block></script><script x="27" y="399"><custom-block s="is %txt at least %n letters long?"><l>stank</l><l>5</l></custom-block></script><script x="26" y="366"><custom-block s="is %n between %n and %n ?"><l>1</l><l>4</l><l>10</l></custom-block></script><script x="268" y="371"><custom-block s="max %n %n"><l>2</l><l>25</l></custom-block></script><script x="23" y="337"><custom-block s="distance to x: %n y: %n"><l>564456456456</l><l>45145313212</l></custom-block></script></scripts></sprite><watcher var="Number of passing tests" style="normal" x="10" y="10" color="243,118,29"/><watcher var="Number of failing tests" style="normal" x="10" y="36.60000199999999" color="243,118,29"/><watcher var="tests" style="normal" x="10" y="209.30000800000005" color="243,118,29" hidden="true"/><watcher var="min tests" style="normal" x="10" y="328.80001" color="243,118,29" hidden="true"/><watcher var="qux" style="normal" x="10" y="240.499998" color="243,118,29" hidden="true"/><watcher var="between tests" style="normal" x="23" y="260.39999800000004" color="243,118,29" hidden="true"/><watcher var="max tests" style="normal" x="22" y="212.39999800000004" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="expect equals %&apos;expected&apos; %&apos;actual&apos; %&apos;message&apos;" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="expected"/><block var="actual"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doAsk"><block s="reportJoinWords"><list><l>FAILURE:</l><block var="message"/><l>. Expected: </l><block var="expected"/><l> actual: </l><block var="actual"/><l>. Press enter to continue.</l></list></block></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="count %&apos;list&apos; matching %&apos;criterion&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doDeclareVariables"><list><l>item</l><l>num matching</l></list></block><block s="doSetVar"><l>num matching</l><l>0</l></block><block s="doUntil"><block s="reportEquals"><block s="reportListLength"><block var="list"/></block><l>0</l></block><script><block s="doIf"><block s="evaluate"><block var="criterion"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doChangeVar"><l>num matching</l><l>1</l></block></script></block><block s="doSetVar"><l>list</l><block s="reportCDR"><block var="list"/></block></block></script></block><block s="doReport"><block var="num matching"/></block></script></block-definition><block-definition s="accumulate test results %&apos;test results&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doChangeVar"><l>Number of passing tests</l><custom-block s="count True in %l"><block var="test results"/></custom-block></block><block s="doChangeVar"><l>Number of failing tests</l><custom-block s="count False in %l"><block var="test results"/></custom-block></block></script></block-definition><block-definition s="count True in %&apos;list&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="count %l matching %predRing"><block var="list"/><block s="reifyPredicate"><autolambda><block s="reportEquals"><block var="#1"/><block s="reportBoolean"><l><bool>true</bool></l></block></block></autolambda><list><l>#1</l></list></block></custom-block></block></script></block-definition><block-definition s="count False in %&apos;list&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="count %l matching %predRing"><block var="list"/><block s="reifyPredicate"><autolambda><block s="reportEquals"><block var="#1"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></autolambda><list><l>#1</l></list></block></custom-block></block></script></block-definition><block-definition s="test min block" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="accumulate test results %l"><block s="reportNewList"><list><custom-block s="expect equals %s %s %s"><l>7</l><custom-block s="min %n %n"><l>10</l><l>7</l></custom-block><l>min of two positives, left bigger</l></custom-block><custom-block s="expect equals %s %s %s"><l>7</l><custom-block s="min %n %n"><l>7</l><l>10</l></custom-block><l>min of two positives, right bigger</l></custom-block><custom-block s="expect equals %s %s %s"><l>-10</l><custom-block s="min %n %n"><l>-7</l><l>-10</l></custom-block><l>min of two negatives, left bigger</l></custom-block><custom-block s="expect equals %s %s %s"><l>-10</l><custom-block s="min %n %n"><l>-7</l><l>-10</l></custom-block><l>min of two negatives, right bigger</l></custom-block><custom-block s="expect equals %s %s %s"><l>-1</l><custom-block s="min %n %n"><l>6</l><l>-1</l></custom-block><l>min of left positive, right negative</l></custom-block><custom-block s="expect equals %s %s %s"><l>-1</l><custom-block s="min %n %n"><l>-1</l><l>6</l></custom-block><l>min of right positive, left negative</l></custom-block><custom-block s="expect equals %s %s %s"><l>4</l><custom-block s="min %n %n"><l>4</l><l>4</l></custom-block><l>min of equals</l></custom-block></list></block></custom-block></script></block-definition><block-definition s="test max block" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="accumulate test results %l"><block s="reportNewList"><list><custom-block s="expect equals %s %s %s"><custom-block s="max %n %n"><l>3</l><l>7</l></custom-block><l>7</l><l>max, left bigger</l></custom-block><custom-block s="expect equals %s %s %s"><custom-block s="max %n %n"><l>7</l><l>3</l></custom-block><l>7</l><l>max, right bigger</l></custom-block><custom-block s="expect equals %s %s %s"><custom-block s="max %n %n"><l>4</l><l>4</l></custom-block><l>4</l><l>max of equals</l></custom-block></list></block></custom-block></script></block-definition><block-definition s="test between block" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="accumulate test results %l"><block s="reportNewList"><list><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>true</bool></l></block><custom-block s="is %n between %n and %n ?"><l>5</l><l>0</l><l>10</l></custom-block><l>mid between low and high</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>true</bool></l></block><custom-block s="is %n between %n and %n ?"><l>5</l><l>10</l><l>0</l></custom-block><l>mid between high and low</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="is %n between %n and %n ?"><l>0</l><l>5</l><l>10</l></custom-block><l>low between mid and high</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="is %n between %n and %n ?"><l>0</l><l>10</l><l>5</l></custom-block><l>low between high and mid</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="is %n between %n and %n ?"><l>10</l><l>0</l><l>5</l></custom-block><l>high between low and mid</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="is %n between %n and %n ?"><l>10</l><l>5</l><l>0</l></custom-block><l>high between low and mid</l></custom-block></list></block></custom-block></script></block-definition><block-definition s="test min letter count block" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="accumulate test results %l"><block s="reportNewList"><list><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="is %txt at least %n letters long?"><l>brookline</l><l>20</l></custom-block><l>text too short</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>true</bool></l></block><custom-block s="is %txt at least %n letters long?"><l>high</l><l>4</l></custom-block><l>text equal length</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>true</bool></l></block><custom-block s="is %txt at least %n letters long?"><l>school</l><l>-1</l></custom-block><l>text longer</l></custom-block></list></block></custom-block></script></block-definition><block-definition s="test distance to block" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>tests</l></list></block><block s="doSetVar"><l>tests</l><block s="reportNewList"><list><l></l></list></block></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doAddToList"><custom-block s="expect equals %s %s %s"><l>0</l><custom-block s="distance to x: %n y: %n"><l>0</l><l>0</l></custom-block><l>distance (on top of)</l></custom-block><block var="tests"/></block><block s="doAddToList"><custom-block s="expect equals %s %s %s"><l>50</l><custom-block s="distance to x: %n y: %n"><l>30</l><l>40</l></custom-block><l>distance (quadrant 1)</l></custom-block><block var="tests"/></block><block s="doAddToList"><custom-block s="expect equals %s %s %s"><l>130</l><custom-block s="distance to x: %n y: %n"><l>-50</l><l>120</l></custom-block><l>distance (quadrant 2)</l></custom-block><block var="tests"/></block><block s="doAddToList"><custom-block s="expect equals %s %s %s"><l>25</l><custom-block s="distance to x: %n y: %n"><l>-7</l><l>-24</l></custom-block><l>distance (quadrant 3)</l></custom-block><block var="tests"/></block><block s="doAddToList"><custom-block s="expect equals %s %s %s"><l>41</l><custom-block s="distance to x: %n y: %n"><l>40</l><l>-9</l></custom-block><l>distance (quadrant 4)</l></custom-block><block var="tests"/></block><block s="gotoXY"><l>30</l><l>40</l><comment w="174.6153846153846" collapsed="false">We already tested above distance to 30,40 when the sprite was at 0,0. Now we turn that around and have the sprite at 30,40 and compute the distance to 0,0.</comment></block><block s="doAddToList"><custom-block s="expect equals %s %s %s"><l>50</l><custom-block s="distance to x: %n y: %n"><l>0</l><l>0</l></custom-block><l>distance (symmetric)</l></custom-block><block var="tests"/></block><block s="gotoXY"><l>0</l><l>0</l></block><custom-block s="accumulate test results %l"><block var="tests"/></custom-block></script></block-definition><block-definition s="test contains letter block" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="accumulate test results %l"><block s="reportNewList"><list><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="%txt contains letter %s ?"><l>brookline</l><l>x</l></custom-block><l>letter missing</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>true</bool></l></block><custom-block s="%txt contains letter %s ?"><l>high</l><l>g</l></custom-block><l>letter present</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="%txt contains letter %s ?"><l>school</l><l> </l></custom-block><l>space missing</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>true</bool></l></block><custom-block s="%txt contains letter %s ?"><l>is awesome</l><l> </l></custom-block><l>space missing</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="%txt contains letter %s ?"><l>WHEE!</l><l>h</l></custom-block><l>upper contains lower</l></custom-block><custom-block s="expect equals %s %s %s"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="%txt contains letter %s ?"><l>All right, settle down.</l><l>S</l></custom-block><l>lower contains upper</l></custom-block></list></block></custom-block></script></block-definition><block-definition s="min %&apos;a&apos; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><script><block s="doReport"><block var="b"/></block></script></block><block s="doIf"><block s="reportGreaterThan"><block var="b"/><block var="a"/></block><script><block s="doReport"><block var="a"/></block></script></block><block s="doIf"><block s="reportEquals"><block var="b"/><block var="a"/></block><script><block s="doReport"><block var="a"/></block></script></block></script></block-definition><block-definition s="max %&apos;a&apos; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportLessThan"><block var="b"/><block var="a"/></block><script><block s="doReport"><block var="a"/></block></script></block><block s="doIf"><block s="reportLessThan"><block var="a"/><block var="b"/></block><script><block s="doReport"><block var="b"/></block></script></block><block s="doIf"><block s="reportEquals"><block var="a"/><block var="b"/></block><script><block s="doReport"><block var="b"/></block></script></block></script></block-definition><block-definition s="is %&apos;a&apos; between %&apos;b&apos; and %&apos;c&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportOr"><block s="reportAnd"><block s="reportGreaterThan"><block var="a"/><block var="c"/></block><block s="reportLessThan"><block var="a"/><block var="b"/></block></block><block s="reportOr"><block s="reportAnd"><block s="reportLessThan"><block var="a"/><block var="c"/></block><block s="reportGreaterThan"><block var="a"/><block var="b"/></block></block><block s="reportOr"><block s="reportEquals"><block var="c"/><block var="a"/></block><block s="reportEquals"><block var="b"/><block var="a"/></block></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="is %&apos;text&apos; at least %&apos;length&apos; letters long?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block s="reportStringSize"><block var="text"/></block><block var="length"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="text"/></block><block var="length"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportLessThan"><block s="reportStringSize"><block var="text"/></block><block var="length"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="distance to x: %&apos;x&apos; y: %&apos;y&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportSum"><block s="reportPower"><block s="reportDifference"><block s="xPosition"></block><block var="x"/></block><l>2</l></block><block s="reportPower"><block s="reportDifference"><block s="yPosition"></block><block var="y"/></block><l>2</l></block></block></block></block></script></block-definition><block-definition s="%&apos;text&apos; contains letter %&apos;letter&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%s"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportStringSize"><block var="text"/></block><script><block s="doIf"><block s="reportIsIdentical"><block s="reportLetter"><block var="i"/><block var="text"/></block><block var="letter"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><scripts><script x="153.9921895" y="305.000004"><block s="reportUnicode"><l>a</l></block></script><script x="20.995120187499992" y="257.000003"><block s="reportUnicodeAsLetter"><block var="letter"/></block></script></scripts></block-definition></blocks><variables><variable name="Number of passing tests"><l>29</l></variable><variable name="Number of failing tests"><l>2</l></variable><variable name="test results"><l>6</l></variable><variable name="tests"><list id="744"><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><l></l></item><item><l></l></item><item><l></l></item></list></variable><variable name="min tests"><list id="745"><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item></list></variable><variable name="max tests"><list id="746"><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item></list></variable><variable name="between tests"><list id="747"><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>false</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item></list></variable><variable name="qux"><list struct="atomic" id="748">bar,foo,0</list></variable></variables></project><media name="Lab 3.4 If My Calculations Are Correct" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>