<snapdata remixID="15147436"><project name="U4L4-TranslatingBinary" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U4L4-TranslatingBinary"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="translate text %&apos;text&apos; to binary sequence" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>"</l><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="pack 8-bit byte %txt"><l></l></custom-block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="translate decimal %n to binary"><l></l></custom-block></autolambda><list></list></block><custom-block s="translate text %txt to Unicode list"><block var="text"/></custom-block></block></block></custom-block><l>"</l></list></block></block></script></block-definition><block-definition s="pack 8-bit byte %&apos;input&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="input"/></block><l>7</l></list></block><script><block s="doReport"><block var="input"/></block></script><list></list></block><block s="doReport"><custom-block s="pack 8-bit byte %txt"><block s="reportJoinWords"><list><l>0</l><block var="input"/></list></block></custom-block></block></script></block-definition><block-definition s="translate decimal %&apos;value&apos; to binary" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="value"/><l>2</l></list></block><script><block s="doReport"><block var="value"/></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><custom-block s="translate decimal %n to binary"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="value"/><l>2</l></block></block></custom-block><block s="reportModulus"><block var="value"/><l>2</l></block></list></block></block></script></block-definition><block-definition s="translate text %&apos;text&apos; to Unicode list" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportUnicode"><l></l></block></autolambda><list></list></block><custom-block s="word $arrowRight list %txt"><block var="text"/></custom-block></block></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="translate binary sequence %&apos;sequence&apos; to text" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportUnicodeAsLetter"><l></l></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="translate binary %n to decimal"><l></l></custom-block></autolambda><list></list></block><custom-block s="split binary sequence %txt into list of bytes"><block var="sequence"/></custom-block></block></block></custom-block></block></script></block-definition><block-definition s="translate binary %&apos;numeral&apos; to decimal" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="numeral"/></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="i"/><block var="numeral"/></block><l>1</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="result"/><custom-block s="2 ^ %n"><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="numeral"/></block><block var="i"/></block></custom-block></list></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="2 ^ %&apos;power&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="power"/><l>0</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doReport"><block s="reportVariadicProduct"><list><l>2</l><custom-block s="2 ^ %n"><block s="reportDifference"><block var="power"/><l>1</l></block></custom-block></list></block></block></script></block-definition><block-definition s="split binary sequence %&apos;sequence&apos; into list of bytes" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><l>8</l></list></block><script><block s="doReport"><block s="reportNewList"><list><custom-block s="pack 8-bit byte %txt"><block var="sequence"/></custom-block></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><custom-block s="first byte of %s"><block var="sequence"/></custom-block><custom-block s="split binary sequence %txt into list of bytes"><custom-block s="all but first byte of %s"><block var="sequence"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="first byte of %&apos;sequence&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>byte</l></list></block><block s="doSetVar"><l>byte</l><l></l></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doSetVar"><l>byte</l><block s="reportJoinWords"><list><block var="byte"/><block s="reportLetter"><block var="i"/><block var="sequence"/></block></list></block></block></script></block><block s="doReport"><block var="byte"/></block></script></block-definition><block-definition s="all but first byte of %&apos;sequence&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>all but first byte</l></list></block><block s="doSetVar"><l>all but first byte</l><custom-block s="word $arrowRight list %txt"><block var="sequence"/></custom-block></block><block s="doRepeat"><l>8</l><script><block s="doDeleteFromList"><l>1</l><block var="all but first byte"/></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="all but first byte"/></custom-block></block></script></block-definition><block-definition s="translate binary sequence %&apos;sequence&apos; to B&amp;W image that is %&apos;width pixel count&apos; pixels wide and scaled by factor of %&apos;scale factor&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n">5</input></inputs><script><block s="hide"></block><block s="clear"></block><block s="up"></block><block s="setSize"><block var="scale factor"/></block><block s="doDeclareVariables"><list><l>pixels in sequence</l><l>height pixel count</l><l>width actual</l><l>height actual</l><l>x start</l><l>y start</l><l>remainder of sequence</l></list></block><block s="doSetVar"><l>pixels in sequence</l><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><comment w="250" collapsed="true">count number of pixels that will be in image</comment></block><block s="doSetVar"><l>height pixel count</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="pixels in sequence"/><block var="width pixel count"/></block></block><comment w="268" collapsed="true">determine number of pixels high that image will be</comment></block><block s="doSetVar"><l>width actual</l><block s="reportVariadicProduct"><list><block var="width pixel count"/><block var="scale factor"/></list></block><comment w="339" collapsed="true">determine actual width and height of image based on scale factor</comment></block><block s="doSetVar"><l>height actual</l><block s="reportVariadicProduct"><list><block var="height pixel count"/><block var="scale factor"/></list></block></block><block s="doSetVar"><l>x start</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportRound"><block s="reportQuotient"><block var="width actual"/><l>2</l></block></block></list></block><comment w="246" collapsed="true">determine x and y values to start drawing</comment></block><block s="doSetVar"><l>y start</l><block s="reportRound"><block s="reportQuotient"><block var="height actual"/><l>2</l></block></block></block><block s="doSetVar"><l>remainder of sequence</l><block var="sequence"/><comment w="453.3333333333333" collapsed="true">initialize variables to keep track of the part of the sequence that hasn&apos;t been used yet</comment></block><block s="gotoXY"><block var="x start"/><block var="y start"/><comment w="178" collapsed="true">go to the starting position</comment></block><block s="doRepeat"><block var="height pixel count"/><script><block s="doRepeat"><block var="width pixel count"/><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="remainder of sequence"/></block><l>1</l></list></block><script><block s="setColor"><color>0,0,0,255</color></block></script><script><block s="setColor"><color>255,255,255,255</color></block></script></block><block s="doSetVar"><l>remainder of sequence</l><custom-block s="all but first letter of %s"><block var="remainder of sequence"/></custom-block></block><block s="down"></block><block s="changeYPosition"><block var="scale factor"/><comment w="90" collapsed="true">draw the pixel</comment></block><block s="up"></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><l>-1</l><block var="scale factor"/></list></block><comment w="169" collapsed="true">return the sprite where it was</comment></block><block s="changeXPosition"><block var="scale factor"/><comment w="178" collapsed="true">move to the next pixel in the row</comment></block></script></block></script></block><block s="setXPosition"><block var="x start"/></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><l>-1</l><block var="scale factor"/></list></block><comment w="322" collapsed="true">move back to the start of the row and then move down one row</comment></block></script><comment w="368.9999979999998" collapsed="false">The outer REPEAT goes through all the rows, and the inner REPEAT goes through all the pixels in that row. So, all the pixels in the first row are drawn first (inside the inner REPEAT loop), and then second row is drawn, and so on.</comment></block></script></block-definition><block-definition s="all but first letter of %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>remainder of word</l></list></block><block s="doSetVar"><l>remainder of word</l><l></l></block><block s="doFor"><l>letter</l><l>2</l><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><script><block s="doSetVar"><l>remainder of word</l><block s="reportJoinWords"><list><block var="remainder of word"/><block s="reportLetter"><block var="letter"/><block var="word"/></block></list></block></block></script></block><block s="doReport"><block var="remainder of word"/></block></script></block-definition></blocks><primitives></primitives><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" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="507"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="508"></list></costumes><sounds><list struct="atomic" id="509"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-105" y="-120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,255,255" pen="tip" id="514"><costumes><list struct="atomic" id="515"></list></costumes><sounds><list struct="atomic" id="516"></list></sounds><blocks></blocks><variables></variables><scripts><script x="11" y="21"><custom-block s="translate text %txt to binary sequence"><l></l><comment w="547.5" collapsed="true">This reporter accepts a string of text as input and translates that text into a binary sequence of ones and zeros.</comment></custom-block></script><script x="13" y="69"><custom-block s="translate binary sequence %txt to text"><l></l><comment w="531.6666666666667" collapsed="true">This reporter accepts a string of ones and zeros (a binary sequence) as input and translates it into text.</comment></custom-block></script><script x="13" y="111"><custom-block s="translate binary sequence %txt to B&amp;W image that is %n pixels wide and scaled by factor of %n"><l>00000110000000000001000110000000010000000000001100100110000011111111000001100111100000010010110011000111001111100000100110110000000001000000000000110000000000111000000011000100011000010000000100000110000110000000111111000000</l><l>14</l><l>15</l><comment w="362.5" collapsed="false">This command block accepts a binary sequence as input and draws a black and white image on the stage. Each 0 becomes a white &quot;pixel&quot; and each 1 becomes a black &quot;pixel.&quot; You can use the other inputs to control where the block breaks the sequence to start a new line and also how large the image is drawn.</comment></custom-block></script><script x="15" y="195"><block s="doSetVar"><l>output</l><custom-block s="translate text %txt to binary sequence"><l>Beauty and Joy of Computing</l></custom-block></block></script><script x="12" y="248"><custom-block s="translate binary sequence %txt to text"><l>010000100110010101100001011101010111010001111001001000000110000101101110011001000010000001001010011011110111100100100000011011110110011000100000010000110110111101101101011100000111010101110100011010010110111001100111</l></custom-block></script><script x="10" y="313"><custom-block s="translate binary sequence %txt to B&amp;W image that is %n pixels wide and scaled by factor of %n"><l></l><l>14</l><l>10</l></custom-block></script></scripts></sprite><watcher var="output" style="normal" x="0" y="10" color="243,118,29"/></sprites></stage><variables><variable name="output"><l>"010000100110010101100001011101010111010001111001001000000110000101101110011001000010000001001010011011110111100100100000011011110110011000100000010000110110111101101101011100000111010101110100011010010110111001100111"</l></variable></variables></scene></scenes></project><media name="U4L4-TranslatingBinary" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>