<snapdata remixID="9131959"><project name="dbitko-2020-01-07-iteration-practice-3" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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="34.117647058823536" y="144.1764705882353"><custom-block s="get the product using the combine function %l"><block var="grades"/></custom-block></script><script x="10" y="11.941176470588232"><block s="receiveKey"><l><option>s</option></l></block><block s="doSetVar"><l>grades</l><block s="reportNewList"><list><l>75</l><l>80</l><l>72</l><l>94</l><l>78</l><l>83</l><l>88</l><l>90</l><l>76</l><l>80</l><l>84</l><l>3266</l><l>81725</l><l>36692</l></list></block></block><custom-block s="USE BIGNUMS %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block></script><script x="34.70588235294116" y="178.88235294117646"><custom-block s="get the product using for loop %l"><block var="grades"/></custom-block></script><script x="33.529411764705884" y="218.88235294117646"><custom-block s="get the product using recursion %l"><block var="grades"/></custom-block></script></scripts></sprite><watcher var="grades" style="normal" x="2" y="-12" color="243,118,29" extX="122" extY="257"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="get the product using the combine function %&apos;input-list&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="grades"/><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="get the product using for loop %&apos;input-list&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>product</l></list></block><block s="doForEach"><l>item</l><block var="input-list"/><script><block s="doShowVar"><l></l></block></script></block><block s="doReport"><block s="reportCombine"><block var="grades"/><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="get the product using recursion %&apos;input-list&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>item1</l></list></block><block s="doReport"><l></l></block></script><scripts><script x="713.4068848933823" y="314.62745398039215"><custom-block s="get the product using recursion %l"><block s="reportCDR"><block var="input-list"/></block></custom-block></script></scripts></block-definition><block-definition s="USE BIGNUMS %&apos;bool&apos;" type="command" category="operators"><comment x="0" y="0" w="303.3333333333333" collapsed="false">call with True to turn on the entire Scheme numeric tower, including infinite-precision integers, exact rationals, and complex numbers; call with False to restore native JavaScript arithmetic.</comment><header></header><code></code><translations>pt:altera utilização de aritmética do Scheme para _&#xD;</translations><inputs><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>isDone</l></list></block><block s="doSetVar"><l>isDone</l><block s="evaluate"><block s="reportJSFunction"><list><l>useBigNums</l></list><l>var done = false;&#xD;&#xD;function initialize (callback) {&#xD;    var bigScript = document.createElement(&apos;script&apos;);&#xD;    bigScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/biginteger.js&apos;;&#xD;    bigScript.onload = loadScheme;&#xD;    document.head.appendChild(bigScript);&#xD;&#xD;    function loadScheme () {&#xD;        var schemeScript = document.createElement(&apos;script&apos;);&#xD;        schemeScript.src = &apos;//snap.berkeley.edu/snapsource/libraries/schemeNumber.js&apos;;&#xD;        schemeScript.onload = finish;&#xD;        document.head.appendChild(schemeScript);&#xD;    }&#xD;&#xD;    function finish () {&#xD;        makeGlobalObject();&#xD;        callback();&#xD;    }&#xD;}&#xD;&#xD;function makeGlobalObject () {&#xD;    window.bigNumbers = {&#xD;        originalEvaluate: InputSlotMorph.prototype.evaluate,&#xD;        originalChangeVar: VariableFrame.prototype.changeVar,&#xD;        originalPrims: {&#xD;            reportSum: Process.prototype.reportSum,&#xD;            reportDifference: Process.prototype.reportDifference,&#xD;            reportProduct: Process.prototype.reportProduct,&#xD;            reportQuotient: Process.prototype.reportQuotient,&#xD;            reportPower: Process.prototype.reportPower,&#xD;            reportModulus: Process.prototype.reportModulus,&#xD;            reportRandom: Process.prototype.reportRandom,&#xD;            reportLessThan: Process.prototype.reportLessThan,&#xD;            reportGreaterThan: Process.prototype.reportGreaterThan,&#xD;            reportEquals: Process.prototype.reportEquals,&#xD;            reportIsIdentical: Process.prototype.reportIsIdentical,&#xD;            reportMonadic: Process.prototype.reportMonadic&#xD;        }&#xD;    };&#xD;}&#xD;&#xD;function loadBlocks () {&#xD;    var fn = SchemeNumber.fn;&#xD;    var originalPrims = window.bigNumbers.originalPrims;&#xD;    if (useBigNums) {&#xD;        InputSlotMorph.prototype.evaluate = function () {&#xD;            var contents = this.contents();&#xD;            if (this.constant) {&#xD;                return this.constant;&#xD;            }&#xD;            if (this.isNumeric) {&#xD;                return parseNumber(contents.text || &apos;0&apos;);&#xD;            }&#xD;            return contents.text;&#xD;        };&#xD;        VariableFrame.prototype.changeVar = function (name, delta, sender) {&#xD;            var frame = this.find(name),&#xD;                value,&#xD;                newValue;&#xD;            if (frame) {&#xD;                value = parseNumber(frame.vars[name].value);&#xD;                newValue = value !== value ? delta : value + parseNumber(delta);&#xD;                if (sender instanceof SpriteMorph &amp;&amp;&#xD;                        (frame.owner instanceof SpriteMorph) &amp;&amp;&#xD;                        (sender !== frame.owner)) {&#xD;                    sender.shadowVar(name, newValue);&#xD;                } else {&#xD;                    frame.vars[name].value = newValue;&#xD;                }&#xD;&#xD;            }&#xD;        };&#xD;        Object.assign(Process.prototype, {&#xD;            reportSum: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;+&apos;](a, b);&#xD;            },&#xD;            reportDifference: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;-&apos;](a, b);&#xD;            },&#xD;            reportProduct: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;*&apos;](a, b);&#xD;            },&#xD;            reportQuotient: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (fn[&apos;=&apos;](b, &apos;0&apos;) &amp;&amp; !fn[&apos;=&apos;](a, &apos;0&apos;)) {&#xD;                      return (fn[&apos;&lt;&apos;](a, &apos;0&apos;) ? SchemeNumber(&apos;-inf.0&apos;) : SchemeNumber(&apos;+inf.0&apos;))&#xD;                };&#xD;                if (a !== a || b !== b || fn[&apos;=&apos;](b, &apos;0&apos;)) return SchemeNumber(&apos;+nan.0&apos;);&#xD;                return fn[&apos;/&apos;](a, b);&#xD;            },&#xD;            reportPower: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;expt&apos;](a, b);&#xD;            },&#xD;            reportModulus: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                var result = fn.mod(a, b);&#xD;                if (fn[&apos;&lt;&apos;](b, &apos;0&apos;) &amp;&amp; fn[&apos;&gt;&apos;](result, &apos;0&apos;)) {&#xD;                    result = fn[&apos;+&apos;](result, b);&#xD;                }&#xD;                return result;&#xD;            },&#xD;            reportRandom: function (min, max) {&#xD;                var floor = parseNumber(min),&#xD;                    ceil = parseNumber(max);&#xD;                if (floor !== floor || ceil !== ceil) return NaN;&#xD;                if (!fn[&apos;=&apos;](fn.mod(floor, &apos;1&apos;), &apos;0&apos;) || !fn[&apos;=&apos;](fn.mod(ceil, &apos;1&apos;), &apos;0&apos;)) {&#xD;                    // One of the numbers isn&apos;t whole. Include the decimal.&#xD;                    return fn[&apos;+&apos;](&#xD;                        fn[&apos;*&apos;](&#xD;                            Math.random(),&#xD;                            fn[&apos;-&apos;](ceil, floor)&#xD;                        ),&#xD;                        floor&#xD;                    );&#xD;                }&#xD;                return fn.floor(&#xD;                    fn[&apos;+&apos;](&#xD;                        fn[&apos;*&apos;](&#xD;                            Math.random(),&#xD;                            fn[&apos;+&apos;](&#xD;                                fn[&apos;-&apos;](ceil, floor),&#xD;                                &apos;1&apos;&#xD;                            )&#xD;                        ),&#xD;                        floor&#xD;                    )&#xD;                );&#xD;            },&#xD;            reportLessThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&lt;&apos;](a, b);&#xD;            },&#xD;            reportGreaterThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&gt;&apos;](a, b);&#xD;            },&#xD;            reportGreaterThan: function (a, b) {&#xD;                a = parseNumber(a);&#xD;                b = parseNumber(b);&#xD;                if (a !== a || b !== b) return NaN;&#xD;                return fn[&apos;&gt;&apos;](a, b);&#xD;            },&#xD;            reportEqual: function (a, b) {&#xD;                x = parseNumber(a);&#xD;                y = parseNumber(b);&#xD;                if (x !== x || y !== y) return snapEquals(a, b);&#xD;                return fn[&apos;=&apos;](x, y);&#xD;            },&#xD;            reportIsIdentical: function (a, b) {&#xD;                x = parseNumber(a);&#xD;                y = parseNumber(b);&#xD;                if (x !== x || y !== y) return originalPrims.reportIsIdentical(a, b);&#xD;                return fn[&apos;=&apos;](x, y);&#xD;            },&#xD;            reportMonadic: function (fname, n) {&#xD;                n = parseNumber(n);&#xD;                if (n !== n) return NaN;&#xD;&#xD;                switch (Process.prototype.inputOption(fname)) {&#xD;                case &apos;abs&apos;:&#xD;                    return fn.abs(n);&#xD;                case &apos;ceiling&apos;:&#xD;                    return fn.ceiling(n);&#xD;                case &apos;floor&apos;:&#xD;                    return fn.floor(n);&#xD;                case &apos;sqrt&apos;:&#xD;                    return sqrt(n);&#xD;                case &apos;sin&apos;:&#xD;                    return fn.sin(radians(n));&#xD;                case &apos;cos&apos;:&#xD;                    return fn.cos(radians(n));&#xD;                case &apos;tan&apos;:&#xD;                    return fn.tan(radians(n));&#xD;                case &apos;asin&apos;:&#xD;                    return degrees(fn.asin(n));&#xD;                case &apos;acos&apos;:&#xD;                    return degrees(fn.acos(n));&#xD;                case &apos;atan&apos;:&#xD;                    return degrees(fn.atan(n));&#xD;                case &apos;ln&apos;:&#xD;                    return fn.log(n);&#xD;                case &apos;log&apos;:&#xD;                    return fn.log(n, &apos;10&apos;);&#xD;                case &apos;e^&apos;:&#xD;                    return fn.exp(n);&#xD;                case &apos;10^&apos;:&#xD;                    return fn.expt(&apos;10&apos;, n);&#xD;                default:&#xD;                    return SchemeNumber(&apos;0&apos;);&#xD;                }&#xD;            }&#xD;        });&#xD;    } else {&#xD;        InputSlotMorph.prototype.evaluate = window.bigNumbers.originalEvaluate;&#xD;        VariableFrame.prototype.changeVar = window.bigNumbers.originalChangeVar;&#xD;        Object.assign(Process.prototype, originalPrims);&#xD;    }&#xD;    done = true;&#xD;}&#xD;&#xD;function parseNumber (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;    if (!fn[&apos;number?&apos;](n)) {&#xD;        n = &apos;&apos; + n;&#xD;        try {&#xD;            return parseENotation(n) || SchemeNumber(n);&#xD;        } catch (err) {&#xD;            return NaN;&#xD;        }&#xD;    }&#xD;    return n;&#xD;}&#xD;&#xD;function parseENotation (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);&#xD;    if (!numbers) return null;&#xD;&#xD;    var coefficient = numbers[1];&#xD;    var exponent = numbers[2];&#xD;    return fn[&apos;*&apos;](&#xD;        coefficient,&#xD;        fn.expt(&apos;10&apos;, exponent)&#xD;    );&#xD;}&#xD;&#xD;function sqrt (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    if (!fn[&apos;exact?&apos;](n) || !fn[&apos;rational?&apos;](n) || fn[&apos;&lt;&apos;](n,&apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    var rootNumerator = fn[&apos;exact-integer-sqrt&apos;](fn.numerator(n));&#xD;    if (!fn[&apos;=&apos;](rootNumerator[1], &apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    var rootDenominator = fn[&apos;exact-integer-sqrt&apos;](fn.denominator(n));&#xD;    if (!fn[&apos;=&apos;](rootDenominator[1], &apos;0&apos;)) return fn.sqrt(n);&#xD;&#xD;    return fn[&apos;/&apos;](rootNumerator[0], rootDenominator[0]);&#xD;}&#xD;&#xD;function isDone () {&#xD;    return done;&#xD;}&#xD;&#xD;if (window.bigNumbers) {&#xD;    loadBlocks();&#xD;} else {&#xD;    initialize(loadBlocks);&#xD;}&#xD;&#xD;return isDone;</l></block><list><block var="bool"/></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="isDone"/><list></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportEquals"><block var="n"/><l>0</l></block><l>1</l><block s="reportProduct"><block var="n"/><custom-block s="%n !"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></block></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="Scheme number %&apos;function&apos; of %&apos;number&apos;" type="reporter" category="operators"><comment x="0" y="0" w="300" collapsed="true">Provides Scheme arithmetic functions not in JavaScript</comment><header></header><code></code><translations>pt:_ de _&#xD;</translations><inputs><input type="%s" readonly="true"><options>number?&#xD;complex?&#xD;real?&#xD;rational?&#xD;integer?&#xD;exact?&#xD;inexact?&#xD;exact&#xD;inexact&#xD;finite?&#xD;infinite?&#xD;nan?&#xD;numerator&#xD;denominator&#xD;real-part&#xD;imag-part&#xD;magnitude&#xD;angle</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l><l>num</l></list><l>function parseNumber (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;    if (!fn[&apos;number?&apos;](n)) {&#xD;        n = &apos;&apos; + n;&#xD;        try {&#xD;            return parseENotation(n) || SchemeNumber(n);&#xD;        } catch (err) {&#xD;            return NaN;&#xD;        }&#xD;    }&#xD;    return n;&#xD;}&#xD;&#xD;function parseENotation (n) {&#xD;    var fn = SchemeNumber.fn;&#xD;&#xD;    var numbers = n.match(/^(-?\d+\.?\d*|-?\.\d+)e(-?\d+)$/i);&#xD;    if (!numbers) return null;&#xD;&#xD;    var coefficient = numbers[1];&#xD;    var exponent = numbers[2];&#xD;    return fn[&apos;*&apos;](&#xD;        coefficient,&#xD;        fn.expt(&apos;10&apos;, exponent)&#xD;    );&#xD;}&#xD;var fn=SchemeNumber.fn,&#xD;      number=parseNumber(num);&#xD;&#xD;switch (which) {&#xD;  case &apos;number?&apos;:&#xD;  case &apos;complex?&apos;:&#xD;    return (fn[&apos;number?&apos;](number));&#xD;  case &apos;real?&apos;:&#xD;    return (fn[&apos;real?&apos;](number) || fn[&apos;real-valued?&apos;](number));&#xD;  case &apos;rational?&apos;:&#xD;    return (fn[&apos;rational?&apos;](number) || (fn[&apos;=&apos;](number, fn.rationalize(number, parseNumber(&apos;1.0e-5&apos;)))));&#xD;  case &apos;integer?&apos;:&#xD;    return (fn[&apos;integer?&apos;](number) || fn[&apos;integer-valued?&apos;](number));&#xD;  case &apos;exact?&apos;:&#xD;  case &apos;inexact?&apos;:&#xD;  case &apos;finite?&apos;:&#xD;  case &apos;infinite?&apos;:&#xD;  case &apos;nan?&apos;:&#xD;  case &apos;real-part&apos;:&#xD;  case &apos;imag-part&apos;:&#xD;    return (fn[which](number));&#xD;  case &apos;magnitude&apos;:&#xD;    return (fn.magnitude(number));&#xD;  case &apos;angle&apos;:&#xD;    return (fn.angle(number));&#xD;  case &apos;numerator&apos;:&#xD;    return (fn.numerator(number));&#xD;  case &apos;denominator&apos;:&#xD;    return (fn.denominator(number));&#xD;  case &apos;exact&apos;:&#xD;    return (fn.exact(number));&#xD;case &apos;inexact&apos;:&#xD;    return (fn.inexact(number));&#xD;}</l></block><list><block var="function"/><block var="number"/></list></block></block></script></block-definition></blocks><variables><variable name="grades"><list struct="atomic" id="166">75,80,72,94,78,83,88,90,76,80,84,3266,81725,36692</list></variable></variables></project><media name="dbitko-2020-01-07-iteration-practice-3" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>